mcpField
A
agent-firewall-mcp

agent-firewall-mcp

本地服务
github.com/mlawsonking安全1今天更新

关于 agent-firewall-mcp

agent-firewall-mcp 是用于确定性检查不可信内容、URL、IP、秘密信息、个人信息和密码的 MCP 服务。它依靠模式匹配和外部信誉数据,而非 LLM;检测能力有明确限制。

主要功能

  1. 01扫描文本或获取的 URL 中已知注入模式
  2. 02检测文本混淆手法
  3. 03查找并脱敏支持的秘密信息和个人信息
  4. 04检查 URL 与 IP 信誉
  5. 05检查密码是否出现在泄露数据中

适用场景

  1. 01在外部文本传入 Agent 前进行筛查
  2. 02审查不可信来源中的 URL 和 IP 地址
  3. 03查找文本中暴露的凭据或个人信息
  4. 04检查密码是否出现在泄露数据中

MCP 相关

向 MCP 客户端提供内容、秘密信息、URL、IP 和密码检查工具。部分检查会使用外部服务和信誉数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mlawsonking-agent-firewall": {
"command": "npx",
"args": [
"-y",
"agent-firewall-mcp"
]
}
}
}
启动命令npx -y agent-firewall-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmagent-firewall-mcp1.3.0

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring否要获取并扫描的页面,用于替代文本。获取操作受到 SSRF 防护。
textstring否要扫描的文本。

详细介绍

agent-firewall-mcp

一个将所有外部输入视为不可信内容的 MCP 服务。它会将文本与已知的提示词注入模式进行匹配、检查 URL 和 IP、筛查泄露的密钥和个人身份信息,并检查密码是否出现在已知数据泄露事件中。确定性检测,不使用大模型,免费。

Agent 安全的基本原则(OWASP 的 LLM01)是将 Agent 从外部读取的所有内容都视为潜在威胁:网页、工具输出、文件、用户输入。这些检查会在内容进入时执行,在其到达模型之前完成。

安装

{ "mcpServers": { "agent-firewall": { "command": "npx", "args": ["-y", "agent-firewall-mcp"] } } }

工具

  • scan_content:将文本或获取的 URL 与 11 种已知提示词注入和越狱模式进行匹配,并执行 5 项混淆检查(零宽字符、双向文本技巧、Unicode 标签区块、CSS 隐藏文本、HTML 注释中的指令)。返回 allow、review 或 block,以及触发的规则 ID。这是模式匹配器,不是分类器:无法识别新颖表述或改写内容;allow 仅表示没有匹配到任何内容,并不代表内容安全。
  • scan_secrets:将文本与 22 种密钥模式进行匹配——AWS 访问密钥 ID、GitHub 令牌、OpenAI、Anthropic、Google API 密钥、Slack、Stripe 实时密钥、Twilio、npm 令牌、JWT、PEM 私钥块、Azure 存储密钥、SAS 令牌和 AD 客户端密钥、GCP 服务账号密钥 ID 和 OAuth 刷新令牌、数据库和 ODBC 连接字符串密码、SendGrid、GitLab、Hugging Face,以及通用的 key = "value" 赋值——并检查 3 种个人身份信息模式:电子邮件、美国 SSN、通过 Luhn 算法校验的卡号。不在该列表中的供应商凭据不会被发现,除非其恰好采用上述赋值形式;而该规则的匹配范围很窄:api-key = "abc12345" 会匹配,{"api_key": "abc12345"} 不会匹配,不带引号的值也不会匹配。结果干净并不能证明文本没有问题。返回发现项(已屏蔽)和已编辑副本:密钥值会被替换,标签会保留,例如 api_key = "[REDACTED:Generic Secret Assignment]"。该行不会被删除,文档也不会被彻底清理。PEM 块会被完整移除。
  • check_url:检查 URL 和域名安全性,使用结构特征检测(punycode 主机、14 种已知短链接服务、23 种易遭滥用的 TLD、原始 IP 主机、URL 中的凭据、品牌仿冒)、通过 RDAP 查询域名年龄,以及检查重定向后的最终 URL。“品牌仿冒”是子字符串测试——主机名中包含 14 个品牌名称之一,且该名称不是可注册域名的一部分,例如 paypal.com.secure-login.tk。它不检测编辑距离或同形异义字符,因此 paypa1.com 可以通过。系统只会重新检查最终 URL,不会检查每一跳,并且只有重定向到不同主机时,最终 URL 的标记才会计入。查询的是你传入的主机的域名年龄,而非重定向后的主机。返回 safe、suspicious 或 malicious。
  • check_ip:检查 IP 信誉,包括 Tor 出口节点(Tor Project 批量出口列表)、ASN 和组织(通过 Team Cymru)、反向 DNS、组织名称是否看起来像数据中心,以及一次 DNSBL 查询:Spamhaus ZEN,仅支持 IPv4。Spamhaus 会拒绝来自许多云解析器的查询,因此查询结果可能无法确定;此时返回 listed: null 和一条说明,且不计入评分。只有 listed: true 才会影响判定,因此无法确定的查询结果与正常结果会得出相同判定——请查看 blocklist.listed,不要只看判定结果。
  • check_password:使用 k-anonymity 将密码与 HIBP 的 Pwned Passwords 进行比对,因此明文不会离开服务器。

规则更新

此服务大约每天向规则源查询一次是否有更新的规则集,如果有,就会应用更新。请求会携带两项信息:发起请求的平台(此处为 facade),以及已安装的规则版本。不会发送机器 ID、用户 ID、文件名或任何扫描内容。

规则包使用 Ed25519 签名,并通过编译进此软件包的公钥进行验证,因此由哪个镜像提供规则包都无关紧要。签名验证、架构验证或 ReDoS 检查未通过的规则包都会被丢弃,现有规则会保持不变。使用 --offline、设置 AGENT_GUARDS_NO_FEED=1,或在 ~/.agent-guards/config.json 中设置 {"feed": false},都可以关闭更新。规则包格式及手动验证方法:https://github.com/mlawsonking/MCP/blob/main/rules/README.md

数据来自 HIBP、RDAP、Tor Project、Team Cymru、DNS 和精选规则集。它会调用 https://agent-firewall-seven.vercel.app(设置 AGENT_FIREWALL_API 可覆盖此地址)。这是本仓库中的六个 Agent 防护工具之一。MIT。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。