mcpField
L
llm-security

llm-security

github.com/semgrep安全3331.6k 次安装13 周前更新
代码仓库

关于 llm-security

llm-security 是基于 OWASP Top 10 for LLM Applications 2025 的安全指南技能,面向构建或审查 LLM 应用的开发者。它按应用类型指出优先风险,并链接到含安全与易受攻击代码示例的规则文件。

主要功能

  1. 01按应用模式识别优先风险
  2. 02覆盖 OWASP 十类 LLM 风险
  3. 03提供安全实践与风险检查
  4. 04引用 MITRE ATLAS 和 NIST

适用场景

  1. 01审查聊天机器人或 LLM API
  2. 02评估带工具的 AI Agent
  3. 03保护 RAG 系统及其嵌入
  4. 04检查训练数据和模型供应链

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/semgrep/skills --skill llm-security

安装后在 Claude Code 中输入/llm-security确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

AGENTS.md
README.md
rules/
_sections.md
data-poisoning.md
excessive-agency.md
misinformation.md
output-handling.md
prompt-injection.md
sensitive-disclosure.md
supply-chain.md
system-prompt-leakage.md
unbounded-consumption.md
vector-embedding.md

详细介绍

LLM 安全指南(OWASP Top 10 for LLM 2025)

基于 OWASP Top 10 for LLM Applications 2025 构建安全 LLM 应用的安全规则。

如何使用此技能

主动模式 — 构建或审查 LLM 应用时,根据应用模式自动检查相关安全风险。无需等待用户询问 LLM 安全问题。

响应模式 — 用户询问 LLM 安全问题时,使用下方的映射查找相关规则文件,其中包含详细的脆弱代码/安全代码示例。

工作流
  1. 确定用户正在构建什么(参见下方的“你正在构建什么?”)
  2. 检查该模式的优先规则
  3. 阅读 rules/ 中的具体规则文件,查看代码示例
  4. 应用安全模式,或指出存在漏洞的模式

你正在构建什么?

使用此表快速确定哪些规则与用户的任务最相关:

正在构建……优先规则
聊天机器人/对话式 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、微调、人工监督、交叉验证
无界消耗速率限制、输入验证、资源监控

核心原则

  1. 绝不信任 LLM 输出 - 使用前验证并清理所有输出
  2. 最小权限 - 为 LLM 系统授予必要的最低权限
  3. 纵深防御 - 叠加多层安全控制
  4. 人工监督 - 对高影响操作要求审批
  5. 监控和记录日志 - 跟踪所有 LLM 交互,以检测异常

参考资料

评论

支持 Markdown