@mingyisec/pentest-skills 是一个纯 Markdown 的安全 skills 包,用来给 Pentest、Reverse Engineering、CTF 和通用安全工作流 agents 提供可检索、可维护、可版本化的方法论、约束和模板。
- 按能力域拆分,而不是把所有 Web 安全知识堆进一个大 Skill
- 让 Agent 先读主链技能,再按需追加专项技能
- 把分析规则、输出规范、证据模板从 prompt 中沉淀出来
- 作为独立 npm 包发布和演进
运行时发布目录采用 skills/<domain>/<skill>/ 分层组织:
@mingyisec/pentest-skills/
├── README.md
├── package.json
├── skills/
│ ├── pentest/
│ │ ├── api-security/
│ │ ├── recon/
│ │ ├── auth/
│ │ ├── authz/
│ │ ├── idor/
│ │ ├── injection/
│ │ ├── xss/
│ │ ├── ssrf/
│ │ ├── upload/
│ │ ├── business-logic/
│ │ ├── exploitation/
│ │ ├── browser-cli/
│ │ ├── reporting/
│ │ ├── evidence/
│ │ ├── tool-params/
│ │ └── vulnerability-analysis/
│ ├── reverse/
│ │ ├── binary-analysis/
│ │ ├── android/
│ │ ├── ios/
│ │ ├── firmware/
│ │ └── unpacking/
│ ├── ctf/
│ │ ├── web/
│ │ ├── crypto/
│ │ ├── pwn/
│ │ ├── reverse/
│ │ ├── forensics/
│ │ └── misc/
│ └── shared/
│ ├── playwright-cli/
│ ├── http-cli/
│ ├── evidence/
│ └── reporting/
└── docs/
└── skills-design.md
当前已经实现并带有 SKILL.md 的运行时技能包括:
skills/pentest/recon,技能名atlas-pentest-reconskills/pentest/auth,技能名atlas-pentest-authskills/pentest/authz,技能名atlas-pentest-authzskills/pentest/api-security,技能名atlas-pentest-api-securityskills/pentest/injection,技能名atlas-pentest-injectionskills/pentest/xss,技能名atlas-pentest-xssskills/pentest/ssrf,技能名atlas-pentest-ssrfskills/pentest/browser-cli,技能名atlas-pentest-browser-cliskills/pentest/reporting,技能名atlas-pentest-reportingskills/pentest/business-logic,技能名atlas-pentest-business-logicskills/pentest/evidence,技能名atlas-pentest-evidenceskills/pentest/exploitation,技能名atlas-pentest-exploitationskills/pentest/vulnerability-analysis,技能名atlas-pentest-vulnerability-analysisskills/shared/playwright-cli,技能名atlas-shared-playwright-cli
其他目录是规划中的技能槽位,只有在加入 SKILL.md 后才会被 skills add 识别和安装。
每个 Skill 目录严格采用以下结构:
skills/<domain>/<skill-name>/
├── SKILL.md
└── references/
SKILL.md:入口文档,定义 Use When、Inputs、Workflow、Tool Guidance、Outputs、Completion Criteriareferences/:方法论、规则、判定标准、风险说明
package.json的files只包含README.md和skills/docs/仅保留仓库内设计文档,不作为运行时 Skill 内容- Skill 内容保持纯 Markdown,不放运行时代码
- 保持
skills/<domain>/<skill>/路径稳定 - 允许在
references/下继续扩展主题文档 - 新增或调整目录前,先同步更新消费方的
Workspace.skills路径和 agent 绑定配置
skills add 用于把本仓库中的 Agent Skills 安装到本地 agent 目录。默认会从 skills/ 分层中发现带 SKILL.md 的技能;docs/ 只保留设计文档,不包含运行时技能。
从当前本地仓库安装到 OpenCode:
npx skills add . --skill '*' --agent opencode -y从远程 GitHub 仓库安装到 OpenCode:
npx skills add MingyiSecLab/pentest-skills --skill '*' --agent opencode -y也可以使用完整仓库 URL:
npx skills add https://github.com/MingyiSecLab/pentest-skills --skill '*' --agent opencode -y只查看远程仓库中可安装的技能,不执行安装:
npx skills add MingyiSecLab/pentest-skills --list只安装指定技能:
npx skills add MingyiSecLab/pentest-skills \
--skill atlas-pentest-recon atlas-pentest-xss atlas-pentest-reporting \
--agent opencode \
-y安装到全局用户级目录,但仍只同步到指定 agent:
npx skills add MingyiSecLab/pentest-skills --skill '*' --agent opencode -g -y不建议直接使用 --all,因为它等价于 --skill '*' --agent '*' -y,会把全部技能安装到所有检测到的 agents,输出和本地目录都会比较混乱。
安装后验证:
npx skills list全局安装的验证命令:
npx skills list -g也可以使用 package.json 中的 npm scripts:
npm run skills:list
npm run skills:add
npm run skills:add:claude
npm run skills:add:global
npm run skills:add:all-agents
npm run pack:dry-run在消费方项目中安装已发布的 npm 包:
npm install @mingyisec/pentest-skills开发期也可以从本地路径安装:
npm install /Users/administrator/Desktop/Project/Workspace/project_code/pentest-skills发布前检查 npm 包内容:
npm run pack:dry-run消费方通过 Workspace 从 node_modules 加载本包:
new Workspace({
skills: ["node_modules/@mingyisec/pentest-skills/skills"],
})当本地项目也提供同名 skill 时,Mastra 会按 local > managed > external 的优先级解析;需要指定外部包版本时,可以使用完整路径加载,例如 node_modules/@mingyisec/pentest-skills/skills/pentest/xss。