lucianghinda/llm-prompts-skill
GitHub: lucianghinda/llm-prompts-skill
基于 OWASP 和 MITRE ATLAS 框架的 Claude Code 技能集,用于审计 LLM 集成中的提示注入漏洞并生成符合安全规范的代码脚手架。
Stars: 2 | Forks: 0
# 用于审查 LLM 提示词的技能
用于审计和构建 LLM 集成以防御提示注入攻击的 Claude Code 技能。
## 技能
提供了两个配套技能:
| 技能 | 文件 | 用途 |
|-------|------|---------|
| `llm-prompts:reviewer` | `llm-prompts-reviewer/SKILL.md` | 审计现有代码中的提示注入漏洞 |
| `llm-prompts:builder` | `llm-prompts-builder/SKILL.md` | 从零开始生成安全的 LLM 集成脚手架 |
这两个技能专为 **Claude Code** (`claude` CLI) 设计。它们也可用于任何支持自定义系统提示词的 AI 编程助手。
## 快速开始
### 审计现有代码
```
# 从你的项目目录:
claude --system-prompt "$(cat /path/to/llm-prompts-reviewer/SKILL.md)" \
"Review this codebase for prompt injection vulnerabilities."
```
或者,如果您已将技能安装在 Claude Code 的技能目录中,可以使用以下命令触发:
```
review this code for prompt injection
```
### 构建新的安全 LLM 集成
```
claude --system-prompt "$(cat /path/to/llm-prompts-builder/SKILL.md)" \
"Build a secure LLM prompt for a customer service chatbot."
```
## 审查者检查的内容
`llm-prompts:reviewer` 技能基于三个权威来源运行 **51 项检查**:
**OWASP LLM01:2025 (O-1 – O-23)**
- 输入验证、注入模式检测、Typoglycemia(换位阅读)/编码防御
- 结构化提示分离(StruQ 模式)
- 输出验证、系统提示泄露检测、HTML/Markdown 净化
- 访问控制、最小权限、人机协同(Human-in-the-Loop)关卡
- 速率限制、日志记录、告警
**MITRE ATLAS 缓解措施 (M-1 – M-12)**
- AML.M0020 GenAI Guardrails(护栏)、AML.M0021 GenAI Guidelines(指南)、AML.M0029 Human-in-the-Loop(人机协同)
- AML.M0030 限制工具调用、AML.M0031 内存加固等
**NeMo Guardrails 实现模式 (N-1 – N-16)**
- 越狱检测(启发式 + 分类器)、PII 检测、内容安全
- 检索护栏验证(RAG 文档扫描、检索过滤、来源溯源)
- 防御配置(三层防御、可操作检测、模式版本控制)
每个发现都被评级为 CRITICAL / HIGH / MEDIUM / LOW,并映射到具体的修复指导。
### 示例报告输出
```
PROMPT INJECTION SECURITY REVIEW
=================================
Scope: codebase
CRITICAL: 3 fail / 2 pass
HIGH: 5 fail / 4 pass
TOP RISKS
---------
1. [O-7] No structured prompt separation
Risk: User input is concatenated directly into the prompt — attacker can override system instructions
Location: app.py:42
Remediation: Wrap user input in a USER_DATA_TO_PROCESS block with --- delimiters...
```
## 构建器生成的内容
`llm-prompts:builder` 技能根据您的需求(角色、任务、数据源、输出用途、语言、架构)生成:
- 包含所有五个 OWASP 安全要素的 **系统提示词**
- **`guardrails.py`** — `InputGuardrail`(长度限制、编码检测、注入模式、Typoglycemia)和 `OutputGuardrail`(泄露、PII、HTML 注入检测)
- **`integration.py`** — 速率限制、结构化日志记录、主请求处理器
- **`tools.py`** — 如果选择了工具调用(参数化查询、允许列表表、人工审批关卡)
- **`rag.py`** — 如果选择了 RAG(预索引验证、检索过滤、来源归因)
每个生成的代码块都注有其满足的检查 ID(`# WHY: [O-7]`)。
构建器在交付之前会根据 10 个最关键的检查自我验证其输出。
## 支持的语言
结构化提示模式 (O-7) 和代码模板适用于:
- Python
- JavaScript / TypeScript
- Ruby
- Go
## 参考实现
`tests/fixtures/defended-app/` 是一个使用 Python (Flask + OpenAI) 编写的完整安全 LLM 聊天机器人参考实现。它演示了技能所检查的每一项防御措施,并且是构建器生成代码的规范模型。
配套的 `tests/fixtures/vulnerable-app/` 是一个故意设计为不安全的版本——有助于理解实践中每种漏洞的表现形式。
## 测试技能
测试套件使用真实的 Claude(以及可选的 Codex)CLI 针对固件应用运行这两个技能,并验证输出是否包含预期的 PASS/FAIL 结论。
```
# 所有测试
./tests/run-tests.sh
# 仅 Claude (reviewer + builder)
./tests/run-tests.sh --claude-only
# 单个 reviewer fixture
./tests/run-tests.sh --claude-only vulnerable-app
./tests/run-tests.sh --claude-only defended-app
# 单个 builder 场景
./tests/test-builder-claude.sh basic-chatbot
./tests/test-builder-claude.sh rag-assistant
./tests/test-builder-claude.sh tool-calling-agent
# 仅 Codex reviewer
./tests/run-tests.sh --codex-only
```
**前置条件:** `$PATH` 中存在 `claude` CLI。每个测试都会调用真实的 LLM,耗时 60–180 秒。
### 测试工作原理
每个测试将完整的 SKILL.md 作为 `--system-prompt` 传递给 `claude -p`,针对固件目录运行它,并通过 grep 检索预期结论来验证文本输出:
```
# tests/expected/vulnerable-app.expected
O-1 CRITICAL FAIL # no input validation
O-7 CRITICAL FAIL # direct string concatenation
O-11 CRITICAL FAIL # no output validation
O-8 HIGH FAIL # system prompt missing security rules
```
只有当未找到预期的 CRITICAL 或 HIGH 结论时,测试才会失败。MEDIUM/LOW 不匹配会被报告为警告。
## 安全框架参考
- [OWASP Top 10 for LLMs 2025 — LLM01: Prompt Injection](https://owasp.org/www-project-top-10-for-large-language-model-applications/)
- [OWASP Prompt Injection Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Prompt_Injection_Prevention_Cheat_Sheet.html)
- [MITRE ATLAS — Adversarial Threat Landscape for AI Systems](https://atlas.mitre.org/)
- [NVIDIA NeMo Guardrails](https://github.com/NVIDIA/NeMo-Guardrails)
标签:AI安全, API密钥检测, Chat Copilot, Claude Code, DLL 劫持, DNS 反向解析, GenAI, LLM集成, MITRE ATLAS, Naabu, NeMo Guardrails, OWASP LLM Top 10, Petitpotam, PII检测, RAG安全, Red Canary, URL发现, 云安全监控, 内容安全, 大语言模型, 安全检测, 安全脚手架, 安全防护, 数据可视化, 日志审计, 结构化查询, 网络安全, 自动化安全, 越狱检测, 输入验证, 逆向工具, 隐私保护, 静态分析