关于 llm-security
llm-security 是基于 OWASP Top 10 for LLM Applications 2025 的安全指南技能,面向构建或审查 LLM 应用的开发者。它按应用类型指出优先风险,并链接到含安全与易受攻击代码示例的规则文件。
主要功能
- 01按应用模式识别优先风险
- 02覆盖 OWASP 十类 LLM 风险
- 03提供安全实践与风险检查
- 04引用 MITRE ATLAS 和 NIST
适用场景
- 01审查聊天机器人或 LLM API
- 02评估带工具的 AI Agent
- 03保护 RAG 系统及其嵌入
- 04检查训练数据和模型供应链
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ semgrep/ skills --skill llm-security安装后在 Claude Code 中输入/llm-security确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
AGENTS.mdREADME.mdrules/_sections.mddata-poisoning.mdexcessive-agency.mdmisinformation.mdoutput-handling.mdprompt-injection.mdsensitive-disclosure.mdsupply-chain.mdsystem-prompt-leakage.mdunbounded-consumption.mdvector-embedding.md详细介绍
LLM 安全指南(OWASP Top 10 for LLM 2025)
基于 OWASP Top 10 for LLM Applications 2025 构建安全 LLM 应用的安全规则。
如何使用此技能
主动模式 — 构建或审查 LLM 应用时,根据应用模式自动检查相关安全风险。无需等待用户询问 LLM 安全问题。
响应模式 — 用户询问 LLM 安全问题时,使用下方的映射查找相关规则文件,其中包含详细的脆弱代码/安全代码示例。
工作流
- 确定用户正在构建什么(参见下方的“你正在构建什么?”)
- 检查该模式的优先规则
- 阅读
rules/中的具体规则文件,查看代码示例 - 应用安全模式,或指出存在漏洞的模式
你正在构建什么?
使用此表快速确定哪些规则与用户的任务最相关:
| 正在构建…… | 优先规则 |
|---|---|
| 聊天机器人/对话式 AI | 提示注入(LLM01)、系统提示词泄露(LLM07)、输出处理不当(LLM05)、无界消耗(LLM10) |
| RAG 系统 | 向量/嵌入弱点(LLM08)、提示注入(LLM01)、敏感信息泄露(LLM02)、错误信息(LLM09) |
| 带工具的 AI Agent | 权限过大(LLM06)、提示注入(LLM01)、输出处理不当(LLM05)、敏感信息泄露(LLM02) |
| 微调/训练 | 数据投毒(LLM04)、供应链(LLM03)、敏感信息泄露(LLM02) |
| 由 LLM 驱动的 API | 无界消耗(LLM10)、提示注入(LLM01)、输出处理不当(LLM05)、敏感信息泄露(LLM02) |
| 内容生成 | 错误信息(LLM09)、输出处理不当(LLM05)、提示注入(LLM01) |
类别
严重影响
- LLM01:提示注入(
rules/prompt-injection.md)- 防止直接和间接的提示操纵 - LLM02:敏感信息泄露(
rules/sensitive-disclosure.md)- 保护个人身份信息(PII)、凭据和专有数据 - LLM03:供应链(
rules/supply-chain.md)- 保障模型来源、训练数据和依赖项的安全 - LLM04:数据和模型投毒(
rules/data-poisoning.md)- 防止训练数据操纵和后门 - LLM05:输出处理不当(
rules/output-handling.md)- 下游使用前对 LLM 输出进行净化
高影响
- LLM06:权限过大(
rules/excessive-agency.md)- 限制 LLM 的权限、功能和自主性 - LLM07:系统提示词泄露(
rules/system-prompt-leakage.md)- 防止系统提示词泄露 - LLM08:向量和嵌入弱点(
rules/vector-embedding.md)- 保障 RAG 系统和嵌入的安全 - LLM09:错误信息(
rules/misinformation.md)- 缓解幻觉和错误输出 - LLM10:无界消耗(
rules/unbounded-consumption.md)- 防止拒绝服务(DoS)、成本攻击和模型窃取
完整索引及 OWASP/MITRE 参考资料请参见 rules/_sections.md。
快速参考
| 漏洞 | 主要防护措施 |
|---|---|
| 提示注入 | 输入验证、输出过滤、权限分离 |
| 敏感信息泄露 | 数据净化、访问控制、加密 |
| 供应链 | 验证模型、软件物料清单(SBOM)、仅使用可信来源 |
| 数据投毒 | 数据验证、异常检测、沙箱隔离 |
| 输出处理 | 将 LLM 视为不可信对象、对输出进行编码、参数化查询 |
| 权限过大 | 最小权限、人在回路、尽量减少扩展 |
| 系统提示词泄露 | 提示词中不放机密信息、使用外部防护机制 |
| 向量/嵌入 | 访问控制、数据验证、监控 |
| 错误信息 | RAG、微调、人工监督、交叉验证 |
| 无界消耗 | 速率限制、输入验证、资源监控 |
核心原则
- 绝不信任 LLM 输出 - 使用前验证并清理所有输出
- 最小权限 - 为 LLM 系统授予必要的最低权限
- 纵深防御 - 叠加多层安全控制
- 人工监督 - 对高影响操作要求审批
- 监控和记录日志 - 跟踪所有 LLM 交互,以检测异常
参考资料
评论
支持 Markdown