用途:使用 Stoplight 的 Spectral 对 API 规范进行 lint 与安全验证,覆盖 OpenAPI v2/v3.x、AsyncAPI v2.x、Arazzo v1.0,在编写代码前发现安全问题、设计缺陷与合规风险。
主要能力:内置规则集 spectral:oas、spectral:asyncapi、spectral:arazzo;可自定义规则集,映射 OWASP API Security Top 10,检查认证、HTTPS、信息泄露、版本管理等;支持 stylish、json、junit、github-actions 等输出格式,以及 --fail-severity 阈值控制。
使用方式:安装 npm install -g @stoplight/spectral-cli(或 yarn global add、docker pull stoplight/spectral),用 spectral --version 验证;运行 spectral lint openapi.yaml,可加 --ruleset .spectral.yaml、--format json、--output results.json。规则集通过 .spectral.yaml 的 extends 与 rules 配置,可编写自定义 JavaScript 函数。可集成 GitHub Actions、GitLab CI、Docker 及 pre-commit 钩子。
适用场景:API 设计阶段的安全审查、多规范统一治理、CI/CD 持续验证、OWASP 合规映射、PR 安全评审。
限制:资料未提供具体收费、价格与效果数据;规范文件可能含敏感信息,需控制访问;规则可能存在误报,需人工复核;不得在示例中写入真实凭据。