内容
<div align="center">
# 克劳德安全技能
**防御** 和 **进攻** 安全技能,适用于 [克劳德代码](https://docs.claude.com/en/docs/claude-code) 和 [克劳德代理 SDK](https://docs.claude.com/en/api/agent-sdk)。
[](./LICENSE)
[](./CONTRIBUTING.md)
[](./skills)
</div>
---
## 这是什么
一组精选的 [克劳德技能](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview) — 有偏见的、版本控制的克劳德按需加载的攻略 — 用于加强 **现代网络应用** 和 **生成式 AI 系统**。
两个互补的部分:
- **防御(`scan`)** — 给定一个代码库,克劳德检测配置错误并发出具有严重性和 0-100 分数的结构化发现报告。符合每个框架的习惯用法。
- **进攻(`probe`)** — 给定一个您拥有的正在运行的应用程序,克劳德运行一个速率限制的、授权门控的测试电池,并报告实际可利用的内容。目标端口始终从您的环境/入口点发现,绝不硬编码。
超出范围:第三方系统的红队工具、漏洞开发、逃避检测、大规模扫描。
## 技能目录
### 防御 — 代码审查和评分(`skills/defensive/`)
| 框架/SDK | 技能 | 检测 |
|---|---|---|
| Next.js | [`nextjs-security-scan`](./skills/defensive/web/nextjs-security-scan) | 环境变量泄漏、服务器操作、中间件、CORS、内容安全策略 |
| Express | [`express-security-scan`](./skills/defensive/web/express-security-scan) | 中间件顺序、helmet、jwt、sendFile 遍历 |
| Django / DRF | [`django-security-scan`](./skills/defensive/web/django-security-scan) | DEBUG、原始 ORM、mark_safe、AllowAny、fields="__all__" |
| Spring Boot | [`spring-boot-security-scan`](./skills/defensive/web/spring-boot-security-scan) | permitAll、CSRF、JdbcTemplate、Jackson、actuator |
| FastAPI | [`fastapi-security-scan`](./skills/defensive/web/fastapi-security-scan) | Depends、JWT、Pydantic、SQL、路径遍历 |
| NestJS | [`nestjs-security-scan`](./skills/defensive/web/nestjs-security-scan) | ValidationPipe、guards、DTOs、TypeORM raw |
| OpenAPI | [`openapi-spec-security-scan`](./skills/defensive/web/openapi-spec-security-scan) | 全局安全、模式紧密度、响应泄漏 |
| Anthropic SDK | [`anthropic-sdk-security-scan`](./skills/defensive/genai/anthropic-sdk-security-scan) | 提示注入、工具输入、提示缓存 PII |
| OpenAI SDK | [`openai-sdk-security-scan`](./skills/defensive/genai/openai-sdk-security-scan) | 函数参数、结构化输出、Assistants 线程 |
| Vercel AI SDK | [`vercel-ai-sdk-security-scan`](./skills/defensive/genai/vercel-ai-sdk-security-scan) | 工具执行、附件、streamText XSS |
| LangChain | [`langchain-security-scan`](./skills/defensive/genai/langchain-security-scan) | REPL/Shell、RAG 信任、回调 |
| MCP 服务器 | [`mcp-server-security-scan`](./skills/defensive/genai/mcp-server-security-scan) | 工具 fs/exec/SSRF、传输身份验证 |
发现格式:[`skills/SCORING.md`](./skills/SCORING.md)。
### 进攻 — 您自己的应用程序的自我渗透测试(`skills/offensive/`)
| 框架/SDK | 技能 | 探测 |
|---|---|---|
| *(任意)* | [`webapp-pentest-checklist`](./skills/offensive/web/webapp-pentest-checklist) | OWASP Web/API 顶部 10 基线 |
| Express | [`express-attack-probe`](./skills/offensive/web/express-attack-probe) | 原型污染、HPP、trust-proxy 欺骗 |
| Django | [`django-attack-probe`](./skills/offensive/web/django-attack-probe) | DEBUG 泄漏、主机注入、DRF AllowAny、大量分配 |
| Spring Boot | [`spring-boot-attack-probe`](./skills/offensive/web/spring-boot-attack-probe) | actuator、h2-console、JWT 混淆、大量分配 |
| Next.js | [`nextjs-attack-probe`](./skills/offensive/web/nextjs-attack-probe) | NEXT_PUBLIC 泄漏、中间件绕过、服务器操作身份验证 |
| FastAPI | [`fastapi-attack-probe`](./skills/offensive/web/fastapi-attack-probe) | OpenAPI 枚举、Depends 间隙、Pydantic 额外字段 |
| NestJS | [`nestjs-attack-probe`](./skills/offensive/web/nestjs-attack-probe) | ValidationPipe、guard 错过、ws 身份验证 |
| *(任意)* | [`prompt-injection-probe`](./skills/offensive/genai/prompt-injection-probe) | 直接/间接/多轮注入电池 |
| Anthropic SDK | [`anthropic-sdk-attack-probe`](./skills/offensive/genai/anthropic-sdk-attack-probe) | XML 标签混淆、预填充滥用、工具输入 |
| OpenAI SDK | [`openai-sdk-attack-probe`](./skills/offensive/genai/openai-sdk-attack-probe) | 函数参数、结构化输出绕过、线程 |
| Vercel AI SDK | [`vercel-ai-sdk-attack-probe`](./skills/offensive/genai/vercel-ai-sdk-attack-probe) | 工具执行、useChat 身份验证、markdown XSS |
| LangChain | [`langchain-attack-probe`](./skills/offensive/genai/langchain-attack-probe) | REPL/Shell、RAG 注入、共享内存 |
| MCP 服务器 | [`mcp-server-attack-probe`](./skills/offensive/genai/mcp-server-attack-probe) | 路径遍历、传输身份验证、SSRF、DNS 重新绑定 |
探测规则:[`skills/PROBING.md`](./skills/PROBING.md)。
## 快速开始
### 克劳德代码
将您需要的技能拉入您的项目(推荐)或用户范围:
```bash
# 项目范围(与您的代码一起提交)
git clone https://github.com/Dolphinllc/claude-security-skills.git /tmp/css
mkdir -p .claude/skills
cp -r /tmp/css/skills/defensive/web/nextjs-security-scan .claude/skills/
# 用户范围(在每个项目中可用)
cp -r /tmp/css/skills/defensive/web/nextjs-security-scan ~/.claude/skills/
```
克劳德代码在下一次启动时自动发现该技能。通过 `/<技能名称>` 调用或让克劳德在描述与任务匹配时触发它。
### 克劳德代理 SDK
按照 [代理 SDK 文档](https://docs.claude.com/en/api/agent-sdk) 将 `skills/` 目录挂载为技能源。
## 进攻技能的授权
每个进攻技能都遵循 [`skills/PROBING.md`](./skills/PROBING.md):
- 默认目标:`localhost`、`127.0.0.1`、`*.localhost`。其他目标需要显式确认。
- 目标端口从环境变量(`PORT`、`BASE_URL` 等)或项目入口点(`package.json`、`Dockerfile`、`application.yml` 等)解析。绝不硬编码。
- 无 DoS、无凭证大规模暴力破解、无第三方系统、无检测规避。
- 每次扫描的请求预算上限;结果以结构化模式发出。
如果您无法满足这些条件,技能将返回单个 `PREFLIGHT-BLOCKED` 发现并停止。
## 贡献
欢迎 PR。参见 [CONTRIBUTING.md](./CONTRIBUTING.md)。简而言之,技能准备好合并时:
1. 解决具体的防御或进攻任务 — 而不是通用的安全概述。
2. 描述足够精确,以便克劳德自我选择。
3. 包含至少一个错误的和正确的代码示例。
4. 引用权威来源(OWASP、NIST、供应商文档、CVE)。
## 许可证
[MIT](./LICENSE) Dolphin LLC 版权所有。
## 维护者
[Dolphin LLC](https://github.com/Dolphinllc)