api-security SKILL.md skillA
api-security from skillmds/skillmd is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add skillmds/skillmd/api-security@git:20260919.fecc0d5Pins git:20260919.fecc0d5 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- skillmds/skillmd
- Path
plugins/code-security-review-pipeline/skills/api-security/SKILL.md- Versions recorded
- 1
- Latest version
- git:20260919.fecc0d5, committed Sep 19, 2026
- Size
- 5,847 bytes
- Repository stars
- 250
- License
- MIT
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# 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 发现与侦察
```text
主动发现:
□ 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: 认证测试
```text
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 认证:
…Read the whole file at its exact version.
How to install
mdr add skillmds/skillmd/api-security@sha256:5ad26c94eb3d7fe4The line at the top of this page pins the label git:20260919.fecc0d5, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_g5ndqn3267rzvlg4)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 1 version of this file, committed on Sep 19, 2026.
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (5847 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
skillmds/skillmd · 250 stars · license MIT · pushed 2026-10-20 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_g5ndqn3267rzvlg4 GET https://markdownregistry.com/api/v1/resolve?ref=skillmds/skillmd/api-security GET https://markdownregistry.com/api/v1/blob/5ad26c94eb3d7fe477763ed0a314ca7731b264a2f1012e68d887843d72ef279e
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.
More from skillmds/skillmd
Every file in skillmds/skillmd