用途:为 API 开发全生命周期提供安全指南,从威胁建模到部署监控,遵循 OWASP API Security Top 10(2023)。
主要能力:分四阶段。一、威胁建模与设计:识别攻击面(公开/认证/管理端点、webhook、第三方集成)、映射数据流、定义授权模型,设计集中式认证(OAuth2/OIDC 网关)、对象级授权、模式化输入校验、按敏感度限流、带弃用策略的版本管理。二、安全实现:给出“不要做/应改为”对照,如不返回完整对象而用显式响应模式、更新用白名单模式防批量赋值、用 UUID 替代可猜测 ID、服务端 RBAC/ABAC、全端点限流、RFC 7807 错误、校验第三方数据、密钥放 Authorization 头、CORS 显式来源白名单、GraphQL 深度与复杂度限制。三、验证:OpenAPI 规范检查(Spectral)、SAST(Semgrep、bandit)、契约测试(Schemathesis、Dredd)、DAST(OWASP ZAP、Burp Suite)、授权与限流测试、代码审查。四、部署监控:网关认证卸载与限流、TLS 1.2+、结构化日志(不含令牌/PII)、异常检测、API 清单与版本弃用、事件响应。
使用方式:按四阶段流程应用;参考文件包括 references/owasp-api-top-10.md、references/secure-api-design.md、references/api-security-checklist.md。测试命令示例:npm install -g @stoplight/spectral-cli && spectral lint openapi.yaml;pip install schemathesis && schemathesis run --checks all http://localhost:8000/openapi.json;docker run -t ghcr.io/zaproxy/zaproxy:stable zap-api-scan.py -t http://target:8000/openapi.json -f openapi;pip install bandit && bandit -r src/ -f json;pip install semgrep && semgrep --config=p/python --config=p/owasp-top-ten src/。
适用场景:设计、实现、审查或测试 REST/GraphQL API 安全时。
限制:资料未提供具体收费、平台支持范围或效果保证;部分命令为示例,需按实际环境调整。