安全技能
用于LLM供电应用的安全扫描仪。检测快速注入、数据泄露、工具滥用、代理信任边界等漏洞——使用 安全MCP SAFE-T技术作为主要分类,OWASP LLM/代理和代理控制作为次要映射。
在本地工作 克劳德代码, 法典,以及 光标 通过特定平台的适配器。
快速开始
选择您的平台:
克劳德代码 (插件):
claude plugin add bishnubista/safe-skills来源 (建议手动安装):
git clone https://github.com/bishnubista/safe-skills.git && cd safe-skills
./scripts/install.sh --codex使用 --claude, --cursor,或 --all 根据需要。
已验证的远程引导 (可选):
SAFE_SKILLS_REF=""
SAFE_SKILLS_ARCHIVE_SHA256=""
curl -fsSLo /tmp/safe-skills-remote-install.sh \
"https://raw.githubusercontent.com/bishnubista/safe-skills/${SAFE_SKILLS_REF}/scripts/remote-install.sh"
bash /tmp/safe-skills-remote-install.sh \
--ref "$SAFE_SKILLS_REF" \
--archive-sha256 "$SAFE_SKILLS_ARCHIVE_SHA256" \
-- --codex替换 --codex 随着 --claude, --cursor,或 --all. 不要使用 curl | bash 不要使用像这样的可变引用 main.
安装目标
| 平台 | 安装内容 | 位置 |
|---|---|---|
| Claude代码 | SKILL.md捆绑包+引用 | ~/.claude/skills/llm-vulnerability-scan/ |
| Codex | SKILL.md捆绑包+openai.yaml+参考文献 | ~/.agents/skills/llm-vulnerability-scan/ |
| 游标 | 规则文件 | ~/.cursor/rules/safe-skills-security-scan.md |
使用 --force 升级现有安装。使用 --symlink 用于实时开发模式。跑 ./scripts/install.sh --help 对于所有选项。
用法
克劳德代码
/safe-skills:scan # Full scan (all severities)
/safe-skills:scan quick # Quick scan (Critical + High only)法典
$llm-vulnerability-scan run a full SAFE-T-first scan for this repo
$llm-vulnerability-scan run a quick critical/high scan光标
在聊天中提问:
Scan this repo for LLM and MCP security issues using SAFE-T primary mapping.自动发现
当您讨论以下内容时,扫描仪会自动激活:
- OWASP LLM安全或快速注射风险
- 代理安全审计或MCP安全
- 工具中毒、数据泄露或权限升级
默认值
| 设置 | 默认 | 覆盖 |
|---|---|---|
| 扫描类型 | 完全(所有严重程度) | 通过 quick 仅适用于临界+高 |
| 扫描范围 | 回购(跟踪文件) | 通过 include-local-config 用于未跟踪的文件 |
扫描的内容
扫描仪运行三个阶段:
第一阶段——发现: 检测项目类型,查找LLM SDK导入(OpenAI、Anthropic、LangChain等),并定位代理/MCP配置。
第2阶段——并行扫描: 六名工作人员按安全主题同时扫描:
| 工人 | 主题 | SAFE-T技术 |
|---|---|---|
| 1 | 注射和目标劫持 | 安全-T1102、安全-T1110、安全-T1401、安全-T1402、安全-T1001、安全-T1008 |
| 2 | 数据披露和供应链 | 安全-T1502、安全-T1503、安全-T1505、安全-T1002、安全-T1003、安全-T1207、安全-T1004、安全-T1006、安全-T1009、安全-T1204、安全-T2107 |
| 3 | 输出、工具误用和执行 | SAFE-T1101、SAFE-T1105、SAFE-T1104、SAFE-T1206、SAFE-T1302、SAFE-T10103、SAFE-T1109、SAFE-T2205、SAFE-T1111、SAFE-T303、SAFE-41305 |
| 4 | 身份、记忆和RAG | 安全-T2106、安全-T1304、安全-T1306、安全-T1308、安全-T1202、安全-T1206、安全-T1702 |
| 5 | 可靠性、信任和代理间 | 安全-T2105、安全-T1404、安全-T2102、安全-T1701、安全-T1705、安全T-1904 |
| 6 | 代理控制和治理 | AC01–AC05(使用SAFE-T证据) |
第3阶段——报告: 结果按严重程度排序,机密值被编辑,输出被保存到 docs/security/llm-vulnerability-report.md.
涵盖的框架
| 框架 | 版本 | 角色 |
|---|---|---|
| 安全MCP | v1.0 | 主要分类学——以 SAFE-T#### |
| OWASP LLM Top 10 | 2025 | 二次测绘(LLM01–LLM10) |
| OWASP代理商前10名 | 2026 | 二次映射(ASI01–ASI10) |
| 代理控制(SAIF/NIST对齐) | N/A | 二次映射(AC01–AC05) |
报告格式
每个发现包括:
- SAFE-T ID 以及人类可读的标题
- 严重性 (关键/高/中/低/信息)
- 文件路径和行号 带有代码片段(机密承载值已编辑)
- 次要映射 到OWASP LLM、OWASP代理和代理控制
- 补救指导 采用适用的SAFE-M缓解措施
例子:
### [SAFE-T1102] Prompt Injection - User input concatenated into prompt
- **File:** src/api/chat.ts:45
- **Severity:** Critical
- **Secondary:** LLM01, ASI01, AC02
- **Code:**const prompt = You are a helper. User says: ${userInput}
- **Issue:** User input directly interpolated into prompt without sanitization
- **Remediation:** Use parameterized prompt templates; validate/sanitize user input
- **Mitigations:** SAFE-M-1 (Control/Data Flow Separation), SAFE-M-5 (Content Sanitization)该报告还包括执行摘要、SAFE-T覆盖表、OWASP/代理汇总和优先补救路线图。
项目结构
safe-skills/
├── skills/
│ ├── claude-code/llm-vulnerability-scan/ # Claude Code adapter
│ │ ├── SKILL.md # Skill definition (with allowed-tools)
│ │ └── references/ # Detection checklists
│ ├── codex/llm-vulnerability-scan/ # Codex adapter
│ │ ├── SKILL.md # Skill definition (no allowed-tools)
│ │ ├── agents/openai.yaml # OpenAI agent metadata
│ │ └── references/ # Detection checklists (parity-enforced)
│ └── cursor/llm-vulnerability-scan/ # Cursor adapter
│ └── security-scan.md # Rule file
├── commands/
│ └── scan.md # /scan slash command (Claude Code)
├── scripts/
│ ├── install.sh # Cross-platform installer
│ ├── remote-install.sh # Verified remote bootstrap helper
│ ├── generate-checksums.sh # Regenerate CHECKSUMS.sha256
│ ├── lint-skill.sh # Skill contract + parity checks
│ ├── validate-report.sh # Report schema validation
│ └── parity-smoke.sh # Cross-platform parity smoke tests
├── assets/
│ └── report-template.md # Report template with placeholders
├── .claude-plugin/plugin.json # Claude plugin manifest
├── .cursor/rules/security-scan.md # Project-level Cursor rule
├── .github/workflows/skill-quality.yml # CI: shellcheck + lint + parity
├── CHECKSUMS.sha256 # Integrity manifest
└── LICENSE # Apache-2.0贡献
需要帮助的领域:
- 检测模式 --扩展SAFE-T模式
skills/claude-code/llm-vulnerability-scan/references/(CI强制执行与食品法典委员会参考文献的对等性) - 语言支持 --为Go、Rust、Java、Ruby、PHP添加模式
- SAFE-MCP覆盖范围 --将额外的SAFE-MCP技术映射到检测模式
- 测试 --对真实的LLM项目进行扫描,并报告误报/漏报
验证
./scripts/lint-skill.sh # Skill contracts + cross-platform parity
./scripts/parity-smoke.sh # Parity smoke tests against report artifacts
shellcheck scripts/*.sh # Shell script linting每次推送和PR时,这三个检查都会在CI中运行。
