关于 scanning-api-security
scanning-api-security 是用于审查 API 实现的安全扫描技能,依据 OWASP API Security Top 10 检查端点、认证流程和数据处理。它生成漏洞报告、端点认证映射和数据暴露审计,并提供修复建议。
主要功能
- 01盘点端点与中间件
- 02检查认证和对象级授权
- 03发现注入与过度数据暴露
- 04审计输入验证、限流与安全标头
- 05扫描依赖漏洞并生成报告
适用场景
- 01部署前检查 API 安全问题
- 02审查端点认证覆盖情况
- 03比较 API 响应字段与文档
- 04为漏洞修复安排优先级
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jeremylongshore/ tons-of-skills-marketplace --skill scanning-api-security安装后在 Claude Code 中输入/scanning-api-security确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/errors.mdexamples.mdimplementation.md详细介绍
扫描 API 安全性
概述
通过针对 OWASP API Security Top 10 扫描端点实现、身份验证流程和数据处理,检测 API 安全漏洞。通过静态分析路由处理程序、中间件链和请求验证逻辑,识别注入向量、身份验证失效、过度暴露数据、批量赋值以及缺少速率限制等问题。
前提条件
- 可访问包含路由定义和控制器/处理程序实现的 API 源代码
- 用于交叉检查已记录与已实现安全控制的 OpenAPI 规范
- 熟悉 OWASP API Security Top 10(2023)检查清单
- 安全扫描工具:OWASP ZAP、Burp Suite 或用于动态测试的
nuclei - 依赖项漏洞扫描器:
npm audit、safety(Python)或govulncheck
说明
- 使用 Grep 扫描所有路由定义,建立完整的端点清单,并记录每个端点的 HTTP 方法和应用的中间件链。
- 审核身份验证中间件,确认每个变更端点(POST、PUT、PATCH、DELETE)都强制进行身份验证,并确保没有端点因路由顺序而意外绕过身份验证。
- 检查是否存在对象级授权失效(BOLA):验证资源访问检查会将已验证用户的 ID/角色与请求资源的所有权进行比对,而不只是验证身份是否有效。
- 通过将响应序列化结果与 API 契约进行比较,识别过度暴露数据的情况——标记返回完整数据库记录而非明确字段白名单的端点。
- 检查请求正文是否在没有字段级允许列表的情况下直接传递给 ORM 的
create/update调用,以检测批量赋值漏洞。 - 验证所有请求参数、查询字符串、标头和正文字段是否都经过输入验证,并检查 SQL 注入、NoSQL 注入和命令注入模式。
- 审核速率限制配置,确保所有面向公众的端点和身份验证端点都应用了按 IP 和按用户设置的速率限制。
- 检查安全标头(CORS、CSP、HSTS、X-Content-Type-Options),并确认经过身份验证的端点不会将 CORS
Access-Control-Allow-Origin设置为通配符*。 - 扫描依赖项中的已知 CVE,并生成按优先级排列的修复报告,其中包含严重性评级和修复建议。
完整实施指南请参阅 ${CLAUDE_SKILL_DIR}/references/implementation.md。
输出
${CLAUDE_SKILL_DIR}/reports/security-scan.json- 机器可读的漏洞报告,包含严重性评级${CLAUDE_SKILL_DIR}/reports/security-scan.md- 人类可读的报告,包含修复指导${CLAUDE_SKILL_DIR}/reports/endpoint-auth-matrix.md- 端点与身份验证中间件的映射表${CLAUDE_SKILL_DIR}/reports/data-exposure-audit.md- 各端点返回字段与文档记录字段的对照- 使用
// SECURITY:注释标记已识别漏洞的内联代码注释
错误处理
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 绕过身份验证的误报 | 路由使用了扫描器无法识别的自定义身份验证装饰器 | 将自定义身份验证模式添加到扫描器配置中;记录非标准身份验证中间件 |
| 未检测到 BOLA | 存在授权检查,但比较逻辑有误 | 手动检查所有权校验;验证多租户查询中的租户隔离 |
| 注入漏洞漏报 | 参数化查询掩盖了字符串构建的子查询中的注入风险 | 除检查 ORM 用法外,还要扫描原始 SQL 拼接模式;检查动态查询构建器 |
| 未发现 CORS 配置错误 | CORS 在反向代理层配置,而非应用代码中 | 将扫描范围扩展到 nginx/Apache 配置文件和云服务提供商的 CORS 设置 |
| 依赖项扫描超时 | 依赖树庞大,包含许多传递依赖项 | 并行运行依赖项扫描;在本地缓存漏洞数据库 |
有关完整的错误模式,请参阅 ${CLAUDE_SKILL_DIR}/references/errors.md。
示例
OWASP Top 10 审计:针对全部 10 个 OWASP API Security 类别扫描 Node.js Express API,生成合规矩阵,显示每个类别的通过/失败/警告状态,并提供具体的文件:行号引用。
部署前检查关卡:将安全扫描集成到 CI 流水线中,如果发现任何严重或高危问题,则阻止部署;对于中危/低危问题,则允许在记录例外情况后通过。
身份验证流程审查:追踪从登录到令牌签发、刷新和撤销的完整身份验证流程,找出令牌有效期问题、缺少刷新轮换以及不安全的令牌存储模式。
更多示例请参阅 ${CLAUDE_SKILL_DIR}/references/examples.md。
资源
- OWASP API Security Top 10 (2023):https://owasp.org/API-Security/
- OWASP ZAP API Scan:https://www.zaproxy.org/
- CWE/SANS 最危险的 25 种软件弱点
- RFC 6749 OAuth 2.0 授权框架
评论
支持 Markdown