LEO-FRANCIS-A/llm-security-audit
GitHub: LEO-FRANCIS-A/llm-security-audit
一个由 LLM 驱动的安全审计 agent 技能,用于自动扫描和修复 AI 集成后端中的提示词注入、输入输出验证缺失等 LLM 特有安全漏洞。
Stars: 0 | Forks: 0
# LLM 安全审计技能
一个自动化、由 LLM 驱动的安全审计技能,专为集成了 AI 的后端代码库设计。它作为 **Antigravity CLI** 和 **Claude Code** 的 agent 技能构建——只需将其放入任何项目,即可即时审计你的 LLM 集成中的安全漏洞。
## 功能介绍
大多数开发 LLM 驱动应用的开发者并非 AI 安全专家。此技能充当一个 **Security-as-a-Service 层**——它会根据严格的 AI 特定漏洞清单扫描你的后端代码,清晰地解释每一个发现,并在你批准后应用修复。
```
You: "audit my code for LLM security vulnerabilities"
Agent:
─────────────────────────────────────────
[CRITICAL] SYSTEM PROMPT > CHECK-SP-01
File: app.py Line: 12
─────────────────────────────────────────
Issue : User input concatenated directly into system prompt
Risk : Prompt injection — attacker can override instructions
Fix : Wrap user input in XML tags
Apply fix? (yes / no / explain / show) →
```
## 工作原理
该技能遵循 **四领域审计流水线:**
```
System Prompt → Input Validation → Output Validation → Tool & Function Security
```
在审计之前,agent 会分析你的代码库架构,并构建一个最小化、高效的审计计划——仅运行与你特定技术栈相关的检查。安全绝不会打断你的工作流程。
## 安全领域
### 领域 1 — System Prompt 安全
- 用户输入 XML 包装
- 技能注册表建议(针对长提示/过多工具)
- System prompt 中无机密数据
- 无动态注入到 system prompt
- 严格的角色绑定和人设锁定
- 明确的保密指令
- 以及更多...
### 领域 2 — 输入验证
- 模式数据库扫描 + 可疑标记
- ASK / DO / UNKNOWN 意图分类
- 基于白名单的决策引擎
- 对话历史验证
- Rate limiting 检查
- 以及更多...
### 领域 3 — 输出验证
- 输出模式扫描(越狱指标、凭证泄露、PII)
- PII 意图验证(上下文感知——并非所有 PII 都是泄露)
- 意图匹配验证(LLM 是否真的回答了被问到的问题?)
- 响应长度异常检测
- 结构化输出 schema 验证
- 以及更多...
### 领域 4 — 工具与函数安全
- 来源基础验证(确定性 + NeMo Guardrails)
- 工具幻觉检测
- 过度宽松的工具 schema 检测
- 工具作用域执行(意图 -> 允许的工具映射)
- 执行前的工具输入验证
- 工具输出净化
- 以及更多...
## 模式数据库
该技能附带两个模式数据库:
| 文件 | 用途 | 类别 |
|------|---------|------------|
| `patterns/injection_patterns.json` | 输入威胁检测 | 指令覆盖、人设切换、提取尝试、角色扮演注入、编码攻击、越狱尝试、社会工程学、数据泄露 |
| `patterns/output_patterns.json` | 输出威胁检测 | 越狱成功指标、system prompt 泄露、凭证泄露、PII 模式、范围违规、异常响应指标 |
模式将输入标记为 ``——它们从不直接阻断。意图分类器会做出最终决定。
## 安装
### Antigravity CLI
```
# Clone 仓库
git clone https://github.com/LEO-FRANCIS-A/llm-security-audit.git
# 移动到 skills 目录
mkdir -p ~/.antigravitycli/skills
mv llm-security-audit ~/.antigravitycli/skills/
```
### Claude Code
```
# Clone 仓库
git clone https://github.com/LEO-FRANCIS-A/llm-security-audit.git
# 移动到 skills 目录
mkdir -p ~/.claude/skills
mv llm-security-audit ~/.claude/skills/
```
## 用法
在你的项目文件夹中打开 agent CLI 并输入:
```
audit my code for LLM security vulnerabilities
```
或者
```
scan this codebase for prompt injection risks
```
或者
```
check my LLM integration for security issues
```
agent 会根据你的请求自动激活该技能。
## 审计流程
```
Step 0 — Architecture Analysis
Agent maps your LLM integration:
- System prompt structure
- Input/output pipeline
- Tools and data sources
- Existing security layers
Builds minimal audit plan — skips irrelevant checks
↓
Step 1 — Domain Audits (in order)
Each domain loads its checklist
Findings reported interactively
User decides: yes / no / explain / show
↓
Step 2 — Apply Fixes
Agent patches files directly on approval
↓
Step 3 — Final Summary
Total findings by severity
Applied vs deferred fixes
```
## 交互式命令
| 命令 | 操作 |
|---------|--------|
| `yes` | 立即应用修复 |
| `no` | 跳过,记录为已推迟 |
| `explain` | 对风险的更深入解释 |
| `show` | 在应用前显示确切的已修补代码 |
| 任意问题 | 回答问题,然后重新询问 |
## 配置
复制示例配置文件并针对你的部署进行自定义:
```
cp audit_config.json.example config/audit_config.json
```
## 文件夹结构
```
llm-security-audit/
├── SKILL.md # Orchestrator — agent reads this first
├── README.md # This file
├── audit_config.json.example # Configuration template
├── checklists/
│ ├── system_prompt.md # Domain 1 — 12 checks
│ ├── input_validation.md # Domain 2 — 8 checks
│ ├── output_validation.md # Domain 3 — 6 checks
│ └── tool_validation.md # Domain 4 — 7 checks
└── patterns/
├── injection_patterns.json # 75+ input threat patterns
└── output_patterns.json # 40+ output threat patterns
```
## 设计理念
**安全绝不能打断流程。**
此技能中的每一项检查都围绕一个原则设计——在不增加阻力的情况下提升安全性。不适用于你技术栈的检查将被跳过。重叠的检查会被合并为单次执行。开销较大的检查(NeMo Guardrails、LLM 分类器)仅会在较便宜的检查不够确信时触发。
核心理念:
- **模式数据库只标记,不阻断**——可疑输入会被打上标签,由分类器做出决定
- **ASK / DO / UNKNOWN 意图模型**——每个输入都映射到一个原语,角色扮演无法绕过它
- **技能注册表理念**——最小化基础,仅加载所需内容
- **分层验证**——优先使用确定性方法,仅在必要时使用 LLM
- **模块化设计**——可接入任何 LLM 后端,任何领域
## 作者
**Leo**
## 许可证
MIT License——可免费使用、修改和分发。
标签:C2, DLL 劫持, Homebrew安装, 人工智能安全, 合规性, 大语言模型, 安全审查工具, 文档结构分析, 静态代码扫描