본문으로 건너뛰기
cccskills
무료GitHub에 공개

api-security

Assess authorized APIs through a ten-stage workflow covering endpoint discovery, authentication, access permissions, input handling, and request limits. Collect reproducible evidence and turn findings into regression checks that can run in a development pipeline.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.

설치 방법 보기

이럴 때 유용합니다

  • Review API authentication and access permissions
  • Assess GraphQL and WebSocket security
  • Check request limits and unintended data exposure
  • Add security regression checks to CI/CD

포함된 파일(3)

  • SKILL.md5.7 KB
  • references/jwt-oauth-testing.md2.9 KB
  • references/rest-graphql-testing.md3.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

API 安全测试

ACTION REQUIRED(读完后立刻执行)

  1. NOW: 读取 ../field-journal/precedent-pentest.md — 确认本 skill 的操作是已授权的常规操作
  2. NOW: 确认当前任务是否命中本 skill 的适用范围
  3. NEXT: 读取 ../tool-index.md,校验工具可用性和实际路径
  4. NEXT: 缺工具时调用 bootstrap,不要猜路径
  5. ACT: 进入"工作流"第一步并执行,不要停在确认状态

覆盖 REST / GraphQL / WebSocket / SOAP 全协议 10 阶段方法论,从发现到 CI/CD 集成

适用场景

  • REST API 安全测试(OpenAPI/Swagger 驱动或盲测)
  • GraphQL 安全审计(内省、批查询、别名过载)
  • WebSocket 安全测试
  • JWT / OAuth 2.0 认证测试
  • BOLA/IDOR/BFLA 授权漏洞检测
  • API 限速绕过与 DoS 测试

10 阶段测试流程

Phase 1: API 发现与侦察

主动发现:
□ Vespasian: 无头浏览器爬取 → 自动生成 OpenAPI 3.0 / GraphQL SDL 规范
□ Entropy --discover: 从 robots.txt + JS 文件提取端点
□ Kiterunner / ffuf: 爆破未文档化的端点路径
□ 检查常见路径: /swagger.json, /openapi.json, /graphql, /api-docs

GraphQL 内省(三级尝试):
  1. 标准内省查询
  2. 精简查询(绕过 WAF 全量封禁)
  3. 仅查 __schema { types { name } }(最小探测)

Phase 2: 认证测试

JWT 分析(jwt_tool / Burp):
□ alg:none 攻击: 修改头部为 "alg":"none",清空签名
□ 密钥混淆: RS256 公钥 → HS256 对称密钥
□ 弱 HMAC 密钥爆破: jwt_tool -C -d wordlist.txt
□ 过期/声明篡改: 修改 exp/iat/sub/role 声明
□ kid 注入: ../../etc/passwd → HMAC 签名绕过

OAuth 2.0:
□ redirect_uri 操控 → 授权码泄漏
□ CSRF via state 参数缺失
□ Token 在 Referer 头泄漏
□ PKCE 缺失检测

GraphQL 认证:
□ mutation 通过 GET 请求绕过认证(CSRF)
□ 批查询认证绕过

Phase 3: 授权测试(BOLA/IDOR/BFLA)

BOLA(对象级授权绕过):
□ 遍历数字 ID: /user/1 → /user/2 → /user/3
□ 遍历 UUID
□ 遍历用户名/邮箱
□ Burp Autorize: 双会话重放对比

BFLA(功能级授权绕过):
□ 普通用户执行管理员 API
□ HTTP 方法切换: GET → PUT → PATCH → DELETE
□ API 版本降级: /v2/admin → /v1/admin
□ 批量操作注入: {"users": [1,2,3]} → {"users": [1,2,3,admin_id]}

工具: Burp Autorize, AuthMatrix, Entropy (malicious_insider persona)

Phase 4: GraphQL 专项

内省泄漏 → 信息暴露检测
别名过载 → 100+ 别名 DoS
批查询 → 10+ 同时查询 DoS
字段重复 → __typename × 500
指令过载 → 递归 @skip/@include
循环查询 → 深度嵌套内省递归
字段建议 → 错误消息信息泄漏
GraphiQL/Playground 暴露 → IDE 公开风险
GET 突变 → CSRF 风险
追踪/调试模式 → 元数据泄漏

工具: FireTail, Escape DAST, api.sh (Phases 1-3)

Phase 5: REST 输入验证

□ HTTP 方法切换: GET→POST→PUT→DELETE→OPTIONS→PATCH
□ Content-Type 篡改: JSON→XML→multipart
□ NoSQL 注入: {"username": {"$gt": ""}}
□ SSRF via URL 参数: webhook URL/头像 URL/导入 URL
□ XXE in XML 端点
□ 参数污染: /api?role=user&role=admin
□ 批量赋值: 向请求体添加 is_admin: true

Phase 6: 业务逻辑与差分测试

□ Entropy compare: diff v1 vs v2 API → 状态码变化/字段删除/延迟回归
□ 多角色工作流测试: admin/user/readonly 权限矩阵
□ 优惠券/积分/价格操控
□ 竞态条件: 并发请求测试 TOCTOU

Phase 7: WebSocket 测试

□ 端点发现
□ 消息注入(注入 payload、原型污染)
□ 超大消息处理
□ 类型混淆
□ 跨站点 WebSocket 劫持(CSWH)

Phase 8: 限速与 DoS

□ 限速绕过 via 头部: X-Forwarded-For, X-Real-IP
□ 路径变体: /api/ → /api → /Api/ → /API/
□ Slowloris 低带宽耗尽
□ GraphQL 批查询深度嵌套 DoS
□ IP 轮换测试(ProxyCat 代理池)

Phase 9: 数据暴露

□ 响应过度暴露: 对比 API 返回 vs UI 展示
□ 分页枚举: ?page=1&limit=10000
□ 错误消息信息泄漏: 堆栈跟踪/内部路径/SQL 错误
□ GraphQL 嵌套遍历访问越权数据
□ OpenAPI 规范暴露敏感端点

Phase 10: CI/CD 集成

□ Entropy --ci --watch: spec 变更时自动重跑
□ Escape DAST: 按严重度阈值自动阻断构建
□ 发现持久化为回归测试
□ StackHawk(开发者优先、ZAP 内核)

工具链

工具用途获取
Vespasian流量 → OpenAPI/GraphQL 规范GitHub: praetorian-inc/vespasian
EntropyLLM 生成攻击场景,5 personasGitHub: arjinexe/entropy-chaos
Escape DAST业务逻辑安全测试escape.tech
api.sh8 阶段全协议攻击管道GitHub: Sharon-Needles/api
FireTailGraphQL 12 专项测试firetail.ai
jwt_toolJWT 全面测试GitHub: ticarpi/jwt_tool
Burp Autorize双会话授权对比Burp BApp Store

参考

  • references/rest-graphql-testing.md — REST + GraphQL 深度测试
  • references/jwt-oauth-testing.md — JWT + OAuth 安全测试

任务完成自检(声称完成前 MUST 通过)

  • 我是否执行了工作流中的每一步(而不是只阅读)?
  • 我是否基于 tool-index 使用了真实工具路径?
  • 我是否产出了可复现证据(命令/脚本/截图/报告)?
  • 我是否完成并回写了 RULES 要求的 Checklist 项?

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Inspect Android APKs from the command line to understand app logic, permissions, and components. Supports Java decompilation, low-level code edits, rebuilding and signing, plus Frida observation of running methods and routing to native code analysis.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Inspecting APK entry points, components, and permissions
  • Locating login, signing, and certificate checks
  • Editing smali code and rebuilding an APK
zhaoxuya520/reverse-skill4.3만2026년 9월 22일 업데이트

Plan and coordinate authorized penetration tests across multiple stages, from reconnaissance to access, privilege escalation, movement between systems, and impact assessment. Assign specialist skills, revise blocked paths, and maintain evidence and progress records for the final report.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Plan a penetration test across multiple stages
  • Assess how far a vulnerability could lead
  • Replan from existing credentials or system access
zhaoxuya520/reverse-skill4.3만2026년 9월 22일 업데이트

Transfer known function and variable names from an older binary to a newer version. Compare disassembly and pseudocode with an LLM, produce structured mappings, and apply names and comments in IDA.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Migrate known function names after a software update
  • Locate kernel functions when the new PDB is unavailable
  • Find updated function addresses and structure offsets
zhaoxuya520/reverse-skill4.3만2026년 9월 22일 업데이트

Inspect compiled programs in Binary Ninja using strings, function references, and intermediate representations—views of program logic at different levels. Trace data flow and report findings with addresses, supporting evidence, confidence, and reproduction steps.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Tracing function calls and data flow in Binary Ninja
  • Cross-checking findings from other disassemblers
  • Automating binary analysis with the Python API
zhaoxuya520/reverse-skill4.3만2026년 9월 22일 업데이트

Automate website navigation, form filling, content collection, and Windows desktop interactions. The skill selects browser or desktop tools for the task and guides screenshot capture and desktop network traffic observation when needed.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Automating website login and form entry
  • Collecting page content and screenshots
  • Operating Windows desktop applications
zhaoxuya520/reverse-skill4.3만2026년 9월 22일 업데이트

Analyze authorized browser extensions for Chrome, Edge, and Firefox. Inspect permissions, background scripts, storage, and network activity to reconstruct key data flows and explain credential handling, signing, encryption, or proxy behavior.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Review extension permissions and entry scripts
  • Trace credential handling and network data flows
  • Investigate suspicious or compromised extensions
zhaoxuya520/reverse-skill4.3만2026년 9월 22일 업데이트

zhaoxuya520의 스킬 모두 보기

이 스킬의 문제 신고