API specification linting and security validation using Stoplight's Spectral with support for OpenAPI, AsyncAPI, and Arazzo specifications. Validates API definitions against security best practices, OWASP API Security Top 10, and custom organizational standards. Use when: (1) Validating OpenAPI/AsyncAPI specifications for security issues and design flaws, (2) Enforcing API design standards and governance policies across API portfolios, (3) Creating custom security rules for API specifications in CI/CD pipelines, (4) Detecting authentication, authorization, and data exposure issues in API definitions, (5) Ensuring API specifications comply with organizational security standards and regulatory requirements.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
API specification linting and security validation using Stoplight's Spectral with support for OpenAPI, AsyncAPI, and Arazzo specifications. Validates API definitions against security best practices, OWASP API Security Top 10, and custom organizational standards. Use when: (1) Validating OpenAPI/AsyncAPI specifications for security issues and design flaws, (2) Enforcing API design standards and governance policies across API portfolios, (3) Creating custom security rules for API specifications in CI/CD pipelines, (4) Detecting authentication, authorization, and data exposure issues in API definitions, (5) Ensuring API specifications comply with organizational security standards and regulatory requirements.
Spectral is a flexible JSON/YAML linter from Stoplight that validates API specifications against
security best practices and organizational standards. With built-in rulesets for OpenAPI v2/v3.x,
AsyncAPI v2.x, and Arazzo v1.0, Spectral helps identify security vulnerabilities, design flaws,
and compliance issues during the API design phase—before code is written. Custom rulesets enable
enforcement of OWASP API Security Top 10 patterns, authentication standards, and data protection
requirements across your entire API portfolio.
Quick Start
Installation
# Install via npm
npm install -g @stoplight/spectral-cli
# Or using Yarn
yarn global add @stoplight/spectral-cli
# Or using Docker
docker pull stoplight/spectral
# Verify installation
spectral --version
Basic API Specification Linting
# Lint OpenAPI specification with built-in rules
spectral lint openapi.yaml
# Lint with specific ruleset
spectral lint openapi.yaml --ruleset .spectral.yaml
# Output as JSON for CI/CD integration
spectral lint openapi.yaml --format json --output results.json
json - Machine-readable JSON for CI/CD integration
junit - JUnit XML for test reporting platforms
html - HTML report (requires additional plugins)
github-actions - GitHub Actions annotations format
Step 3: OWASP API Security Validation
Validate API specifications against OWASP API Security Top 10:
# .spectral-owasp.yaml - OWASP API Security focused rulesextends: ["spectral:oas"]
rules:# API1:2023 - Broken Object Level Authorizationoperation-security-defined:severity:errormessage:"All operations must have security defined (OWASP API1)"# API2:2023 - Broken Authenticationsecurity-schemes-defined:severity:errormessage:"API must define security schemes (OWASP API2)"# API3:2023 - Broken Object Property Level Authorizationno-additional-properties:severity:warnmessage:"Consider disabling additionalProperties to prevent data leakage (OWASP API3)"# API5:2023 - Broken Function Level Authorizationoperation-tag-defined:severity:warnmessage:"Operations should be tagged for authorization policy mapping (OWASP API5)"# API7:2023 - Server Side Request Forgeryno-http-basic:severity:errormessage:"HTTP Basic auth transmits credentials in plain text (OWASP API7)"# API8:2023 - Security Misconfigurationservers-use-https:description:AllserverURLsmustuseHTTPSseverity:errorgiven:$.servers[*].urlthen:function:patternfunctionOptions:match:"^https://"message:"Server URL must use HTTPS (OWASP API8)"# API9:2023 - Improper Inventory Managementapi-version-required:severity:errorgiven:$.infothen:field:versionfunction:truthymessage:"API version must be specified (OWASP API9)"
# .spectral.yaml with custom functionfunctions:-check-jwt-expiryfunctionsDir:./spectral-functionsrules:jwt-security-check:description:ValidateJWTsecurityconfigurationseverity:errorgiven:$.components.securitySchemes[*]then:function:check-jwt-expiry
For complete custom function development guide, see references/custom_functions.md.
# Monitor API specifications for security regressions
./scripts/spectral_monitor.sh \
--baseline baseline-scan.json \
--current-scan latest-scan.json \
--alert-on-new-findings \
--email security-team@example.com
Security Considerations
Specification Security: API specifications may contain sensitive information (internal URLs, authentication schemes) - control access and sanitize before sharing
Rule Integrity: Protect ruleset files from unauthorized modification - store in version control with code review requirements
False Positives: Manually review findings before making security claims - context matters for API design decisions
Specification Versioning: Maintain version history of API specifications to track security improvements over time
Secrets in Specs: Never include actual credentials, API keys, or secrets in example values - use placeholder values only
Compliance Mapping: Document how Spectral rules map to compliance requirements (PCI-DSS, GDPR, HIPAA)
Governance Enforcement: Define exception process for legitimate rule violations with security team approval
Audit Logging: Log all Spectral scans, findings, and remediation actions for security auditing
Access Control: Restrict modification of security rulesets to designated API security team members
Continuous Validation: Re-validate API specifications whenever they change or when new security rules are added
Bundled Resources
Scripts (scripts/)
parse_spectral_results.py - Parse Spectral JSON output and generate security reports with OWASP mapping
generate_remediation.py - Generate remediation guidance based on Spectral findings
compare_spectral_results.py - Compare two Spectral scans to track remediation progress
aggregate_api_findings.py - Aggregate findings across multiple API specifications
spectral_ci.sh - CI/CD integration wrapper with exit code handling
spectral_scheduler.sh - Scheduled scanning with alerting
spectral_monitor.sh - Continuous monitoring with baseline comparison
generate_pr_comments.py - Convert Spectral findings to PR review comments
References (references/)
owasp_api_mappings.md - Complete OWASP API Security Top 10 rule mappings
custom_rules_guide.md - Custom rule authoring with examples