
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Is your API a time bomb? Audit it in 3 seconds.
AuditAPI is a high-performance CLI tool that analyzes OpenAPI (Swagger) specifications with strict quality rules, weighted scoring, and security vulnerability detection. Designed for teams who take API quality seriously.
# Using npx (without installing)
npx auditapi audit ./openapi.yaml
# Or using Docker
docker run --rm -v $(pwd):/app auditapi audit /app/openapi.yaml
╔══════════════════════════════════════════════════════════╗
║ AUDITAPI REPORT ║
╚══════════════════════════════════════════════════════════╝
📄 File: /tests/casing-mixed.yaml
⏱️ Duration: 180ms
📅 Time: 2026-02-17T11:12:54.767Z
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FINAL GRADE: B
SCORE: 86/100
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Category Breakdown:
✅ security Weight: 0.30 Penalty: 0
⚠️ completeness Weight: 0.20 Penalty: 30
✅ structure Weight: 0.15 Penalty: 0
⚠️ consistency Weight: 0.10 Penalty: 35
⚠️ architecture Weight: 0.25 Penalty: 20
📊 Summary:
Total Violations: 10
❌ Errors: 2
⚠️ Warnings: 8
✅ PASSED
Detailed Violations:
──────────────────────────────────────────────────────────
❌ [cns-mixed-styles] ERROR
CNS-01: Mixed property casing detected
Path: components.schemas
Line: 37:10
AuditAPI detects critical problems in 5 categories:
| Category | Weight | Common Issues | Impact |
|---|---|---|---|
| 🔒 Security | 30% | OWASP API Top 10, HTTPS not enforced, weak authentication, mass assignment | Critical |
| 🏛️ Architecture | 25% | Inline response/request/parameter schemas instead of $ref to #/components | High |
| 📝 Completeness | 20% | Missing descriptions, absent examples, undocumented error codes (400, 401, 403, 500) | High |
| 🏗️ Structure | 15% | No operationId, missing tags, no semver version | Medium |
| 🎯 Consistency | 10% | Mixed camelCase/snake_case, inconsistent paths, incorrect date formats | Medium |
$ref to #/components/schemas$ref to #/components/schemas$ref to #/components/schemassecuritySchemes)additionalProperties: true (Mass Assignment risk)# ❌ INCORRECT
properties:
firstName: # camelCase
last_name: # snake_case
email_address: # snake_case
/myEndpoint vs /my-endpoint)date-time)summary or descriptionexample or examples)npm install -g auditapi
auditapi audit ./openapi.yaml
docker pull auditapi/auditapi
docker run --rm -v $(pwd):/app auditapi audit /app/openapi.yaml
- name: Audit OpenAPI
uses: auditapi/auditapi@v1
with:
file: 'openapi.yaml'
fail-on: 'B'
# Audit a file
auditapi audit ./openapi.yaml
# Verbose mode (shows all violations)
auditapi audit ./openapi.yaml --verbose
# Fail if grade is lower than B
auditapi audit ./openapi.yaml --fail-on B
# JSON output
auditapi audit ./openapi.yaml --json
# HTML report (self-contained, offline-capable)
auditapi audit ./openapi.yaml --html -o report.html
# Save report to file
auditapi audit ./openapi.yaml --output report.json
Create a config/ directory to customize rules:
# config/ruleset.yaml
rules:
my-custom-rule:
description: "My custom rule"
given: "$.paths.*"
then:
function: truthy
field: description
# config/scoring.yaml
base_score: 100
weights:
security: 0.40 # Increase security weight
completeness: 0.20
structure: 0.20
consistency: 0.20
| Grade | Range | Status | Meaning |
|---|---|---|---|
| A | 90-100 | ✅ Excellent | Meets all best practices |
| B | 80-89 | ✅ Good | Minor improvements needed |
| C | 70-79 | ⚠️ Acceptable | Minor issues detected |
| D | 60-69 | ❌ Deficient | Significant improvements required |
| F | 0-59 | ❌ Failed | Critical security/quality issues |
🔒 Security: 30% (Critical - Fatal errors cause automatic F)
🏛️ Architecture: 25% (High - Component reuse via $ref)
📝 Completeness: 20% (High - Documentation and examples)
🏗️ Structure: 15% (Medium - Tags, operationId, versioning)
🎯 Consistency: 10% (Medium - Naming conventions)
AuditAPI/
├── src/
│ ├── cli/ # Command line interface
│ ├── config/ # YAML configuration loader
│ ├── core/ # Spectral audit engine
│ ├── functions/ # Custom rules
│ ├── reporters/ # Output formatters (HTML)
│ └── types/ # TypeScript definitions
├── config/
│ ├── ruleset.yaml # Spectral rules
│ └── scoring.yaml # Scoring configuration
└── Dockerfile # Multi-stage image
git checkout -b feature/new-rule)git commit -am 'Add new rule')git push origin feature/new-rule)MIT © AuditAPI Team
Made with ❤️ for developers who value quality
FAQs
CLI tool for auditing OpenAPI specifications with quality scoring
The npm package auditapi receives a total of 15 weekly downloads. As such, auditapi popularity was classified as not popular.
We found that auditapi demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.