mcpField
S
secure-ai

secure-ai

github.com/oakoss安全20119 次安装10 周前更新
代码仓库

关于 secure-ai

secure-ai 是面向构建 LLM 应用的安全技能,提供从输入隔离到输出校验的防护模式。内容涵盖 Agent、MCP 工具和 AI 供应链,并参考 OWASP 与 NIST 框架。

主要功能

  1. 01提示注入防护与输入隔离
  2. 02模型输出校验与过滤
  3. 03Agent 最小权限与人工审批
  4. 04MCP 工具白名单和校验
  5. 05模型来源与供应链审查

适用场景

  1. 01审查 LLM 应用的提示注入风险
  2. 02校验模型输出后再用于下游操作
  3. 03限制 Agent 和 MCP 工具权限
  4. 04盘点模型、数据集及依赖来源

MCP 相关

介绍如何保护 MCP 工具集成,包括工具白名单、输入输出校验和最小权限控制。

安装

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

$npx skills add https://github.com/oakoss/agent-skills --skill secure-ai

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

包含的文件

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

references/
agentic-security-zero-trust.md
output-validation.md
prompt-injection-defense.md
secure-server-actions.md
security-audit-protocols.md
supply-chain-mcp.md

详细介绍

安全 AI

概述

通过多层防御、结构隔离和零信任编排来保护 AI 集成层。涵盖提示词注入防御、模型输出验证、Agent 安全、服务端操作安全、供应链完整性、MCP 工具安全,以及与大模型交互的应用所需的审计协议。

符合 OWASP《2025 年大模型应用十大风险》和 NIST AI 风险管理框架(AI RMF 1.0)。针对 OWASP 大模型十大风险,提供全面覆盖和具体的防御模式。

适用场景: 保护由大模型驱动的功能,防范提示词注入;在将模型输出用于下游之前进行验证和清理;为自主 Agent 实现零信任;强化 AI 端点的服务端操作;保护 MCP 工具集成;管理 AI 供应链风险;审计 AI 访问模式。

不适用场景: 不含 AI 组件的通用 Web 应用安全、仅涉及前端的安全问题、不涉及 AI 的 API 加固,以及不涉及 AI 的基本身份验证或授权。

快速参考

模式方法要点
结构隔离分离系统和用户消息角色切勿在同一个字符串中混合指令和用户数据
输入边界使用标记分隔用户数据帮助模型识别不可信数据的起止位置
守护模型使用快速分类器预扫描输入在主推理模型处理前检测注入模式
输出验证将大模型输出视为不可信输入使用上下文感知编码、参数化查询、CSP 标头
最小权限为每个子任务设置基于能力的范围Agent 只能使用当前工作所需的工具
人机协同破坏性操作须经人工批准涉及财务或数据更改的事件需要审批
非人类身份基于 OIDC 的 Agent 身份验证确保每个 Agent 的身份可验证,并定期轮换密钥
仅限服务端的 AI 逻辑所有 AI 代码均使用 server-only 导入密钥和推理逻辑绝不会泄漏到客户端包中
输入验证对所有面向 AI 的服务端操作使用 Zod 模式切勿将原始用户输入传递给 AI 服务
速率限制通过 Redis 设置按用户/IP 计算的令牌预算防止 AI 端点遭受拒付攻击
流内容清理过滤 AI 输出流中的敏感字符串在内容到达客户端前移除内部 ID 和机密信息
MCP 工具安全将工具加入允许列表,并验证输入/输出将 MCP 服务视为不可信对象,并强制执行最小权限
供应链完整性验证模型来源,并维护 AI-BOM使用校验和追踪模型、数据集和依赖项
机密管理使用环境变量,并在 CI 中扫描泄漏在 CI 中使用 gitleaks,防止机密信息被提交

核心安全原则

  1. 隔离是绝对的 —— 用户数据绝不能被视为系统指令
  2. 大模型输出不可信 —— 在下游使用之前,将所有模型响应视为可能带有恶意的输入
  3. Agent 遵循最小权限原则 —— 仅授予当前子任务所需的工具,并在完成后撤销权限
  4. 销毁操作须经人工验证 —— 破坏性或不可逆的操作需要人工签名
  5. 客户端中不得包含机密 —— 所有 AI 逻辑和密钥都必须位于仅限服务端的环境中
  6. 秉持对抗性思维 —— 假定用户和 Agent 都会试图绕过规则
  7. 纵深防御 —— 分层设置防御措施,确保绕过某一层不会危及系统
  8. 验证供应链 —— 验证所有模型、数据集和 AI 工具的来源和完整性

OWASP LLM Top 10(2025)覆盖情况

OWASP 风险参考内容
LLM01 提示词注入提示词注入防护
LLM02 敏感信息泄露安全服务器操作(流式内容清理、输出过滤)
LLM03 供应链供应链与 MCP 安全
LLM04 数据和模型投毒供应链与 MCP 安全
LLM05 不当输出处理输出验证与编码
LLM06 过度代理Agent 式零信任安全(最小权限、人工介入)
LLM07 系统提示词泄露提示词注入防护(不可提取的提示词)
LLM08 向量和嵌入弱点输出验证与编码(RAG 清理)
LLM09 错误信息输出验证与编码(语义过滤)
LLM10 无限制消耗安全服务器操作(速率限制、令牌预算)

常见错误

错误正确做法
在同一提示词字段中混合用户输入和系统指令使用结构化隔离,通过不同的系统和用户消息角色区分二者
信任大模型输出,并将其直接传入 exec、eval 或 SQL将所有模型输出视为不可信;使用参数化查询和上下文感知编码
为 Agent 开放对所有任务的无限制工具访问使用基于能力的范围,仅授予每个子任务所需的工具
使用静态 API 密钥对 AI 服务进行身份验证使用 OIDC,并采用动态密钥轮换和短期令牌
加载第三方模型时不检查其来源验证模型校验和,使用签名制品,并维护 AI-BOM
未经验证便授予 MCP 服务广泛权限将 MCP 工具加入允许列表,验证所有输入和输出,并对敏感操作强制执行人工审批
直接将原始用户输入传递给 AI 服务在进行 AI 处理前,使用 Zod 架构验证所有输入
不经输出过滤便流式传输 AI 响应在敏感字符串到达客户端之前,从流中清除这些字符串

关键框架

  • OWASP Top 10 for LLM Applications 2025 -- LLM 漏洞分类的行业标准
  • NIST AI Risk Management Framework (AI RMF 1.0) -- 用于 AI 风险管理的四项功能框架(治理、映射、测量、管理)
  • NIST Cybersecurity Framework Profile for AI (NISTIR 8596) -- 安全采用 AI 的指南
  • OWASP MCP Security Cheat Sheet -- 保护第三方 MCP 服务集成的实用指南
  • CycloneDX 1.6 / SPDX 3.0 -- 支持 AI 物料清单(ML-BOM)的标准

委派

  • 扫描代码库中的提示词注入漏洞:使用 Explore Agent 搜索流入系统提示词的用户数据和未经验证的输入
  • 实现零信任 Agent 编排:使用 Task Agent 添加身份验证、沙盒和人工审批关卡
  • 审计模型输出处理:使用 Explore Agent 查找传入 exec、eval、SQL,或未经清理便渲染为 HTML 的 LLM 输出
  • 审查 MCP 工具配置:使用 Explore Agent 检查 MCP 服务权限、工具允许列表和身份验证设置
  • 设计安全的 AI 集成架构:使用 Plan Agent 梳理信任边界、Agent 范围和审计要求
  • 评估供应链风险:使用 Explore Agent 根据溯源记录清点第三方模型、数据集和 MCP 服务
  • 设置安全监控:使用 Task Agent 配置审计日志记录、异常检测和事件响应警报

对于通用应用安全(OWASP Top 10、身份验证模式、安全标头、输入验证),请使用 application-security skill。对于数据库层安全(RLS 策略、审计跟踪、Postgres 加固),请使用 database-security skill。

参考资料

评论

支持 Markdown