LLM应用安全扫描工具

用于检测LLM应用漏洞的安全扫描工具,支持在Claude Code、Codex和Cursor等平台上运行,涵盖提示注入、数据泄露、工具滥用等多种漏洞类型。

  • by bishnubista
  • Shell
  • 本地部署
  • 更新于
在 GitHub 查看 bishnubista/safe-skills

使用说明

安全技能

用于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="<immutable-tag-or-commit>"
SAFE_SKILLS_ARCHIVE_SHA256="<sha256-from-signed-release-metadata>"

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:**
  ```ts
  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中运行。

许可证

阿帕奇-2.0

参考文献