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安装, 人工智能安全, 合规性, 大语言模型, 安全审查工具, 文档结构分析, 静态代码扫描