mcpField
S
scanning-api-security

scanning-api-security

github.com/jeremylongshore安全2.9k41 次安装2 天前更新
代码仓库

关于 scanning-api-security

scanning-api-security 是用于审查 API 实现的安全扫描技能,依据 OWASP API Security Top 10 检查端点、认证流程和数据处理。它生成漏洞报告、端点认证映射和数据暴露审计,并提供修复建议。

主要功能

  1. 01盘点端点与中间件
  2. 02检查认证和对象级授权
  3. 03发现注入与过度数据暴露
  4. 04审计输入验证、限流与安全标头
  5. 05扫描依赖漏洞并生成报告

适用场景

  1. 01部署前检查 API 安全问题
  2. 02审查端点认证覆盖情况
  3. 03比较 API 响应字段与文档
  4. 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.md
examples.md
implementation.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

说明

  1. 使用 Grep 扫描所有路由定义,建立完整的端点清单,并记录每个端点的 HTTP 方法和应用的中间件链。
  2. 审核身份验证中间件,确认每个变更端点(POST、PUT、PATCH、DELETE)都强制进行身份验证,并确保没有端点因路由顺序而意外绕过身份验证。
  3. 检查是否存在对象级授权失效(BOLA):验证资源访问检查会将已验证用户的 ID/角色与请求资源的所有权进行比对,而不只是验证身份是否有效。
  4. 通过将响应序列化结果与 API 契约进行比较,识别过度暴露数据的情况——标记返回完整数据库记录而非明确字段白名单的端点。
  5. 检查请求正文是否在没有字段级允许列表的情况下直接传递给 ORM 的 create/update 调用,以检测批量赋值漏洞。
  6. 验证所有请求参数、查询字符串、标头和正文字段是否都经过输入验证,并检查 SQL 注入、NoSQL 注入和命令注入模式。
  7. 审核速率限制配置,确保所有面向公众的端点和身份验证端点都应用了按 IP 和按用户设置的速率限制。
  8. 检查安全标头(CORS、CSP、HSTS、X-Content-Type-Options),并确认经过身份验证的端点不会将 CORS Access-Control-Allow-Origin 设置为通配符 *。
  9. 扫描依赖项中的已知 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。

资源

评论

支持 Markdown