API 安全测试

api-security-testing
分类编程
作者Agentic Awesome Skills 社区
许可MIT
评分4.80/5
使用6.5K

API 安全测试工作流

概述

专门用于测试 REST 和 GraphQL API 安全性的工作流,包括身份验证、授权、速率限制、输入验证以及 API 特有漏洞。

适用场景

在以下情况使用此工作流:

  • 测试 REST API 安全性

  • 评估 GraphQL 端点

  • 验证 API 身份验证

  • 测试 API 速率限制

  • Bug Bounty API 测试

工作流阶段

阶段 1:API 发现

#### 调用技能

  • api-fuzzing-bug-bounty - API 模糊测试

  • scanning-tools - API 扫描

#### 执行操作
1. 枚举端点
2. 记录 API 方法
3. 识别参数
4. 映射数据流
5. 审查文档

#### 快捷提示词

code
Use @api-fuzzing-bug-bounty to discover API endpoints

阶段 2:身份验证测试

#### 调用技能

  • broken-authentication - 认证测试

  • api-security-best-practices - API 认证

#### 执行操作
1. 测试 API 密钥验证
2. 测试 JWT 令牌
3. 测试 OAuth2 流程
4. 测试令牌过期
5. 测试刷新令牌

#### 快捷提示词

code
Use @broken-authentication to test API authentication

阶段 3:授权测试

#### 调用技能

  • idor-testing - IDOR 测试

#### 执行操作
1. 测试对象级授权 (BOLA)
2. 测试函数级授权 (BFLA)
3. 测试基于角色的访问控制 (RBAC)
4. 测试权限提升
5. 测试多租户隔离

#### 快捷提示词

code
Use @idor-testing to test API authorization

阶段 4:输入验证

#### 调用技能

  • api-fuzzing-bug-bounty - API 模糊测试

  • sql-injection-testing - 注入测试

#### 执行操作
1. 测试参数验证
2. 测试 SQL 注入
3. 测试 NoSQL 注入
4. 测试命令注入
5. 测试 XXE 注入

#### 快捷提示词

code
Use @api-fuzzing-bug-bounty to fuzz API parameters

阶段 5:速率限制

#### 调用技能

  • api-security-best-practices - 速率限制

#### 执行操作
1. 测试速率限制响应头
2. 测试暴力破解防护
3. 测试资源耗尽
4. 测试绕过技术
5. 记录限制情况

#### 快捷提示词

code
Use @api-security-best-practices to test rate limiting

阶段 6:GraphQL 测试

#### 调用技能

  • api-fuzzing-bug-bounty - GraphQL 模糊测试

#### 执行操作
1. 测试内省 (Introspection)
2. 测试查询深度
3. 测试查询复杂度
4. 测试批量查询
5. 测试字段建议

#### 快捷提示词

code
Use @api-fuzzing-bug-bounty to test GraphQL security

阶段 7:错误处理

#### 调用技能

  • api-security-best-practices - 错误处理

#### 执行操作
1. 测试错误消息
2. 检查信息泄露
3. 测试堆栈跟踪
4. 验证日志记录
5. 记录发现的问题

#### 快捷提示词

code
Use @api-security-best-practices to audit API error handling

API 安全检查清单

  • [ ] 身份验证正常工作
  • [ ] 强制执行授权
  • [ ] 输入已验证
  • [ ] 速率限制已启用
  • [ ] 错误信息已脱敏
  • [ ] 日志记录已启用
  • [ ] CORS 已配置
  • [ ] 强制使用 HTTPS

质量门禁

  • [ ] 所有端点均已测试
  • [ ] 漏洞已记录
  • [ ] 提供了修复方案
  • [ ] 已生成报告

相关工作流包

  • security
  • audit - 安全审计
  • web-security-testing - Web 安全测试
  • api-development - API 开发

局限性

  • 仅在任务明确符合上述范围时使用此技能。
  • 不要将输出结果视为针对特定环境的验证、测试或专家评审的替代方案。
  • 如果缺少必要的输入、权限、安全边界或验收标准,请停止操作并请求澄清。