为什么你的 AI 代理拥有对所有事物的 Root 权限(以及如何用 3 行 Python 修复)

发布: (2026年4月17日 GMT+8 07:52)
2 分钟阅读
原文: Dev.to

Source: Dev.to

概览

我在工作中一直在构建 AI 代理,发现同一个问题:每个框架都允许代理调用任何已注册的工具,而没有安全检查。拥有数据库访问权限的代理可以执行 DROP TABLE users,而没有任何阻拦。

于是我创建了 AgentShield‑FW,一个运行时防火墙,在每次工具调用前拦截并执行可配置的安全策略。

  • GitHub:
  • PyPI: pip install agentshield-fw

最简使用方式

import agentshield

shield = agentshield.Shield()
shield.protect  # activate the firewall

def execute_sql(query: str) -> str:
    return db.execute(query)

# Agent tries:
execute_sql("DROP TABLE users")
# → Blocked by AgentShield: Destructive SQL detected (ASI02)

与众不同之处

  • 零依赖——核心仅使用 Python 标准库
  • 超过 40 条预置规则,覆盖 SQL 注入、路径遍历、凭证泄露、提示注入、Shell 命令、速率限制等
  • 对应 OWASP Agentic Security Top 10(ASI01‑ASI10)
  • 兼容 LangChain、MCP、CrewAI、OpenAI SDK,或任何 Python 函数
  • 子毫秒延迟(< 1 ms p99)
  • 94.56 % 测试覆盖率
  • 哈希链审计日志,防篡改检测

其他名为 “AgentShield” 的项目是静态扫描器(分析配置文件)。这是一款 运行时防火墙,拦截实时工具调用——类似 WAF 与 SAST 的区别。

MIT 许可证。Python 3.10‑3.13。

0 浏览
Back to Blog

相关文章

阅读更多 »