
AI 技能AI 插件【免费下载链接】agentic-awesome-skillsAAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,115 agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench.项目地址https://gitcode.com/gh_mirrors/an/agentic-awesome-skills点击查看免费下载导读本文基于agentic-awesome-skills仓库中 api-security-testing 技能文档系统梳理一套面向 REST 与 GraphQL API 的分阶段安全测试工作流覆盖端点发现、认证、授权、输入校验、限流、GraphQL 专项与错误处理七大环节。读完本文你将掌握如何编排仓库内多个安全子技能fuzzing、IDOR、认证绕过、注入测试等形成完整的 API 安全评估闭环并得到可直接套用的检查清单与质量门禁。一、技能定位一种可编排的 API 安全测试工作流api-security-testing在仓库的 catalog.json 中被登记为granular-workflow-bundle类别风险等级为safe属于工作流编排型技能它本身不重复造轮子而是将仓库内已有的细粒度安全技能按阶段串联成一条测试流水线。该工作流适用于以下场景REST API 安全测试认证、授权、限流、注入GraphQL 端点安全评估introspection、深度、复杂度、批量查询API 认证与令牌机制验证限流与暴力破解防护验证Bug Bounty 场景下的 API 专项测试从源码结构看该技能被设计为“调度者 执行者”模式工作流文档定义阶段、行动项与 Copy-Paste Prompt真正的攻击手法与载荷由被调用的子技能承载如api-fuzzing-bug-bounty、broken-authentication等这种分层让流程可复用、手法可持续更新。二、工作流全景七大阶段的编排结构整个工作流包含 7 个阶段每个阶段由「技能调用 行动项 提示词模板」三部分组成阶段目标调用的子技能Phase 1API 发现api-fuzzing-bug-bounty、scanning-toolsPhase 2认证测试broken-authentication、api-security-best-practicesPhase 3授权测试idor-testingPhase 4输入校验api-fuzzing-bug-bounty、sql-injection-testingPhase 5限流测试api-security-best-practicesPhase 6GraphQL 专项api-fuzzing-bug-bountyPhase 7错误处理api-security-best-practices下面按阶段逐一展开并结合各子技能源码给出可落地的测试手法。三、Phase 1API 发现Discovery行动项枚举端点Enumerate endpoints记录 API 方法Document API methods识别参数Identify parameters映射数据流Map data flows审阅文档Review documentation执行要点端点发现是后续所有测试的地基。参考 api-fuzzing-bug-bounty 中的侦察手法# 探测 Swagger / OpenAPI 文档常见路径 /swagger.json /openapi.json /api-docs /v1/api-docs /swagger-ui.html # 用 Kiterunner 做 API 路径爆破 kr scan https://target.com -w routes-large.kite # 从 Swagger 提取路径 python3 json2paths.py swagger.json三种 API 类型识别来自 api-fuzzing-bug-bounty 的速查表类型协议数据格式结构特征SOAPHTTPXMLHeader BodyRESTHTTPJSON/XML/URL定义明确的端点GraphQLHTTP自定义查询单一端点编排提示词工作流原生提供可直接复制给 AgentUse api-fuzzing-bug-bounty to discover API endpoints实战建议移动端 API 与 Web API 必须分开测试两者安全控制往往不一致所有 API 版本/v1、/v2、/v3都要纳入发现范围。四、Phase 2认证测试Authentication Testing行动项测试 API Key 校验Test API key validation测试 JWT 令牌Test JWT tokens测试 OAuth2 流程Test OAuth2 flows测试令牌过期Test token expiration测试刷新令牌Test refresh tokens执行要点认证测试分两条线展开攻击侧调用 broken-authentication 做机制分析、暴力破解与凭证枚举防御侧参考 api-security-best-practices 理解正确的令牌契约应当是什么样。令牌契约验证防御基线——api-security-best-practices 给出了一个关键原则在签名验证之前绝不从解码后的令牌推断权限。其 JWT 校验示例固定了算法白名单、issuer、audienceconst jwt require(jsonwebtoken); // 第一方访问令牌契约示例固定算法、签发方与受众 const ACCESS_POLICY { algorithms: [HS256], issuer: example-auth, audience: example-api }; function verifyAccessToken(token, signingKey) { const claims jwt.verify(token, signingKey, ACCESS_POLICY); if (!claims || typeof claims ! object || typeof claims.sub ! string || !claims.sub || typeof claims.tenantId ! string || !claims.tenantId || !Number.isSafeInteger(claims.exp) || !Number.isSafeInteger(claims.iat) || claims.exp claims.iat) { throw new Error(Invalid access claims); } return { subject: claims.sub, tenantId: claims.tenantId }; }该技能还明确要求访问令牌绝不能复用为刷新令牌刷新流程应在一次原子事务中“消费旧令牌、签发新令牌”并发复用不得产生两个后继令牌。攻击侧测试手法broken-authentication 关键内容凭证枚举对比有效/无效用户名在响应文案Invalid username vs Invalid password、响应码、耗时上的差异密码重置流程中Email sent if account exists是安全的而No account with that email会泄露账号是否存在。JWT alg:none 攻击将 Header 改为{alg:none,typ:JWT}并移除签名提交。会话固定测试登录前后对比SESSIONID是否重新生成若保持不变则存在会话固定漏洞。令牌特性分析采集 100 个以上会话令牌检查熵、长度建议 128 位、顺序规律与 Cookie 标志HttpOnly、Secure、SameSite。编排提示词Use broken-authentication to test API authentication常见限流绕过头测试时用于验证后端是否信任伪造头X-Forwarded-For、X-Real-IP、X-Originating-IP、X-Client-IP、X-Remote-IP、True-Client-IP。五、Phase 3授权测试Authorization Testing行动项测试对象级授权object-level authorization测试功能级授权function-level authorization测试基于角色的访问role-based access测试提权privilege escalation测试多租户隔离multi-tenant isolation执行要点本阶段调用 idor-testingIDORInsecure Direct Object Reference不安全直接对象引用即 BOLA是 API 领域最常见的访问控制漏洞之一。核心测试模型至少准备两个账号attacker / victim将请求中的对象标识从自己的 ID 替换为目标账号 ID# 原始请求以 attacker 身份 GET /api/user/profile?id1001 HTTP/1.1 Cookie: sessionattacker_session # 篡改 ID 访问 victim 数据 GET /api/user/profile?id1000 HTTP/1.1 Cookie: sessionattacker_session # 若返回 victim 数据 → 存在 IDORIDOR 绕过载荷来自 api-fuzzing-bug-bounty 的实战集合# 数组包裹 {id:111} → {id:[111]} # JSON 嵌套包裹 {id:111} → {id:{id:111}} # ID 重复发送参数污染 URL?idLEGITidVICTIM # 通配符注入 {user_id:*} # HTTP 方法切换GET 受保护时试 POST/PUT/DELETE GET /api/admin/users/1000 → 403 POST /api/admin/users/1000 → 200 OK漏洞!防御侧参考api-security-best-practices 强调授权必须落在资源 操作两个维度角色名不代表跨租户访问权应在数据库变更语句中直接携带 owner/tenant 谓词避免“先检查再写入”的 TOCTOU 竞态// Prisma 风格草图删除操作直接按 id userId tenantId 过滤 async function deleteOwnedPost(prisma, postId, principal) { const result await prisma.post.deleteMany({ where: { id: postId, userId: principal.subject, tenantId: principal.tenantId } }); return result.count 1; }编排提示词Use idor-testing to test API authorization六、Phase 4输入校验测试Input Validation行动项参数校验测试SQL 注入测试NoSQL 注入测试命令注入测试XXE 注入测试执行要点输入校验阶段组合api-fuzzing-bug-bounty模糊测试与sql-injection-testing注入专项。注入基础检测序列来自 sql-injection-testing1. 插入 → 检查是否报错 2. 插入 → 检查是否报错 3. 尝试 OR 11-- → 检查行为变化 4. 尝试 AND 12-- → 检查行为变化 5. 尝试 WAITFOR DELAY 0:0:5-- → 检查延迟JSON 内 SQL 注入探测api-fuzzing-bug-bounty 经典三步{id:56456} → 正常 {id:56456 AND 11#} → 正常 {id:56456 AND 12#} → 正常 {id:56456 AND 13#} → 报错存在注入! {id:56456 AND sleep(15)#} → 延迟 15 秒确认注入盲注时间载荷跨数据库速查-- MySQL 1 AND IF(11,SLEEP(5),0)-- -- MSSQL 1; WAITFOR DELAY 0:0:5-- -- PostgreSQL 1; SELECT pg_sleep(5)--XXE 与 SSRF 载荷!DOCTYPE test [ !ENTITY xxe SYSTEM file:///etc/passwd ]!-- SSRF 探测内部端口 -- object datahttp://127.0.0.1:8443/ img srchttp://127.0.0.1:445/防御侧对照api-security-best-practices拒绝部分数字解析12abc不是 ID 12、拒绝不安全整数、拒绝意外字段与超大请求使用参数化查询且 ORM 并不能替代业务授权。其提供的严格输入校验示例Zod 白名单function parsePositiveId(raw) { if (typeof raw ! string || !/^[1-9][0-9]{0,15}$/.test(raw)) return null; const value Number(raw); return Number.isSafeInteger(value) value 0 ? value : null; } const { z } require(zod); const profileUpdate z.object({ displayName: z.string().trim().min(1).max(100) }).strict(); // 处理器只能使用 req.validatedBody绝不能使用原始 body 或任意展开编排提示词Use api-fuzzing-bug-bounty to fuzz API parameters七、Phase 5限流测试Rate Limiting行动项测试限流响应头rate limit headers测试暴力破解防护brute force protection测试资源耗尽resource exhaustion测试绕过手法bypass techniques记录限制边界document limitations执行要点本阶段调用api-security-best-practices。该技能对限流给出了非常重要的工程级忠告先认证再取认证用户的限流键绝不信任用户提供的层级/配额声明分布式配额应使用“原子计数器 过期时间”的原子实现——手写INCR后跟EXPIRE在两者之间崩溃会留下永久 key区分按用户配额、按 IP 滥用控制、并发限制与上游服务预算记录真实的窗口/reset 语义Retry-After应准确而非硬编码整窗口值内存限流器是每进程的除非配置共享存储测试要点并发请求、IPv4/IPv6、伪造转发头、未知层级、无身份、Redis 故障与过期。GraphQL 批量查询绕过限流api-fuzzing-bug-bounty 提供——将多次登录放在同一个请求中绕过按请求计数的限制mutation {login(input:{email:aexample.com password:password}){success jwt}} mutation {login(input:{email:bexample.com password:password}){success jwt}} mutation {login(input:{email:cexample.com password:password}){success jwt}}暴力破解防护检查点broken-authentication锁定阈值多少次失败后锁定锁定多久是否有通知限流维度按请求/分钟按 IP 还是按账号绕过面X-Forwarded-For等伪造头是否被信任编排提示词Use api-security-best-practices to test rate limiting八、Phase 6GraphQL 专项测试行动项测试 Introspection测试查询深度query depth测试查询复杂度query complexity测试批量查询batch queries测试字段建议field suggestions执行要点GraphQL 只有一个端点攻击面高度集中本阶段调用api-fuzzing-bug-bounty的 GraphQL 专项手法。Introspection 拉取完整 Schema{__schema{queryType{name},mutationType{name},types{kind,name,description,fields(includeDeprecated:true){name,args{name,type{name,kind}}}}}}URL 编码版本/graphql?query{__schema{types{name,kind,description,fields{name}}}}GraphQL IDOR——尝试直接访问其他用户 IDquery { user(id: OTHER_USER_ID) { email password creditCard } }GraphQL 注入mutation { login(input: { email: test or 11-- password: password }) { success jwt } }GraphQL DoS深层嵌套查询query { posts { comments { user { posts { comments { user { posts { ... } } } } } } } }GraphQL 工具速查工具用途GraphCrawlerSchema 发现graphw00fGraphQL 指纹识别clairvoyanceSchema 重建introspection 被禁用时InQLBurp 扩展GraphQLmap利用辅助编排提示词Use api-fuzzing-bug-bounty to test GraphQL security九、Phase 7错误处理审计Error Handling行动项测试错误消息test error messages检查信息泄露check information disclosure测试堆栈跟踪暴露test stack traces验证日志记录verify logging记录发现document findings执行要点错误处理审计调用api-security-best-practices核心关切是信息泄露验证失败应返回通用 401不得回显令牌或异常详情常规日志中禁止出现原始令牌、密码、请求体或完整数据库异常应记录有界的日志事件名、请求关联 ID 与安全的状态/错误类别脱敏后的错误不应返回批量赋值的用户对象生产环境堆栈跟踪必须关闭CORS 只控制浏览器跨源访问不是API 认证或 CSRF 防护。api-security-best-practices 给出了一个完整的“profile 更新边界”实操用例PATCH /users/:id作为验证模板在 fixtures 中记录授权调用者/租户与当前端点行为缺失/过期/错误 audience 的令牌应在存储访问前返回 401提交12abc、不安全整数、空名称与多余role字段应全部返回 400 且不产生数据库变更尝试其他用户的有效 ID 与跨租户 ID应返回既定拒绝且无变更触发配额/存储故障确认日志中不含请求令牌或名称。编排提示词Use api-security-best-practices to audit API error handling十、API 安全检查清单Checklist工作流内置了收尾核验清单建议在报告生成前逐项打勾认证正常工作Authentication working授权已强制Authorization enforced输入已校验Input validated限流生效Rate limiting active错误已脱敏Errors sanitized日志已开启Logging enabledCORS 已配置CORS configuredHTTPS 已强制HTTPS enforced十一、质量门禁Quality Gates工作流要求测试完成后必须满足以下四个交付门禁否则视为流程未闭环所有端点均已测试All endpoints tested漏洞已记录Vulnerabilities documented已提供修复建议Remediation provided报告已生成Report generated十二、关联工作流与其他技能api-security-testing与以下仓库内技能构成生态可按需联动security-audit — 安全审计若存在对应技能文件路径结构一致web-security-testing — Web 安全测试api-development— API 开发侧与测试侧对照同时被编排的各子技能都带有明确的risk元数据api-fuzzing-bug-bounty、broken-authentication、idor-testing、sql-injection-testing均为offensive进攻型而api-security-testing本身为safe编排型。这些进攻型技能在其文档头部都声明了AUTHORIZED USE ONLY强制确认门禁在针对目标执行任何探测、利用、变更、持久化、数据提取或凭证访问命令之前必须要求用户明确陈述目标 URL、IP、账号或资源要求用户确认书面授权与许可范围展示确切命令并解释预期效果等待当前会话中的明确确认。未获确认前保持只读仅提供防御性建议优先使用沙箱、一次性虚拟机或受控实验环境。十三、使用边界与限制Limitations工作流自身声明的边界如下使用时务必遵守仅在任务与该技能描述的适用范围明确匹配时才使用本技能不要将本技能输出当作环境特定验证、测试或专家评审的替代品当缺少必要的输入、权限、安全边界或成功标准时停下来向用户澄清不要盲目执行。此外从仓库实现看攻击型子技能的载荷与绕过手法IDOR 包裹、注入探测、限流绕过头等必须在已获书面授权的目标或自建实验环境中使用禁止对未授权系统执行。结语把工作流变成你的 API 安全评估 SOPapi-security-testing的价值在于把散落的攻击手法组织成一条可复制、可审计、可交付的流水线发现 → 认证 → 授权 → 输入 → 限流 → GraphQL → 错误处理每阶段都有明确技能、行动项与提示词结尾有检查清单与质量门禁兜底。将本文的载荷速查表、防御对照示例与编排提示词组合使用你即可在授权范围内完成一次覆盖 OWASP API 主要风险面BOLA、失效认证、过度数据暴露、资源耗尽等的完整评估并产出带修复建议的专业报告。赞分享AI 技能AI 插件【免费下载链接】agentic-awesome-skillsAAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,115 agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench.项目地址https://gitcode.com/gh_mirrors/an/agentic-awesome-skills点击查看免费下载相关推荐ByT5实战案例构建智能客服、内容生成和文本摘要系统ByT5实战案例构建智能客服、内容生成和文本摘要系统 ByT5Byte level T5是一种高效的字节级预训练模型特别适用于多语言任务和低资源语言处理AI 技能AI 插件Anthropic-Cybersecurity-Skills 社会工程渗透测试GoPhish REST API 参考与实战指南Anthropic Cybersecurity Skills 社会工程渗透测试GoPhish REST API 参考与实战指南 导读 本文以 Anthropi网络安全AI 技能/插件渗透测试红蓝对抗agentic-awesome-skills 实战指南REST、GraphQL 与 tRPC 的 API 风格选型决策框架agentic awesome skills 实战指南REST、GraphQL 与 tRPC 的 API 风格选型决策框架 本指南基于 agentic aweAI 技能AI 插件上一篇Apache Iceberg与Hudi技术选型实时数据湖架构对比下一篇7大场景20个案例彻底解决lm-evaluation-harness任务执行错误创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考