SentinelGate
Your AI agent has unrestricted access to your machine.
Every tool call, shell command, and file read — unchecked.
SentinelGate intercepts every action before it executes.
Deterministic rules. From bare metal to any container or sandbox.
For developers who give AI agents MCP tool access — and need to control it.
Get Started · Website · Docs
______________________________________________________________________
🛡️ 为什么
人工智能代理不仅可以聊天,还可以读取文件、运行命令、调用API和向外部发送数据。一次快速注射或一次幻觉动作就足以泄露凭据、删除数据或泄露敏感信息。和 无法撤销.
🎣 通过外部内容迅速注射
你问: *“对最新的GitHub问题进行分类并总结。”*
代理人阅读了第247期。渲染后,正文看起来很干净,但原始标记隐藏了一个HTML注释:\ ``
代理执行。对它来说,这只是文本——任务的一部分。
没有SentinelGate: 您的AWS密钥最终会被公开粘贴。无警报,无撤销。
使用SentinelGate: read_file("~/.aws/credentials") 被拒绝规则阻止(tool_match: "read_*", condition: action_arg_contains(arguments, ".aws/")).代理收到拒绝并继续\ 分诊。
More real-world scenarios
 
🧹 “只需整理一下”期间的破坏性清理
你问: *“在我打开PR之前,先清理这个项目。”*
代理人慷慨地解释“清理”。它在运行 rm -rf node_modules/ (好)那么 rm -rf .cache/ (很好),然后找到一个名为 legacy/ 并确定它是旧代码——它实际上是未提交的工作\ 来自您尚未合并的分支。
没有SentinelGate: rm -rf legacy/ 执行。数小时未完成的工作已经过去。代理报告“清理完成”。
使用SentinelGate: 第三 rm -rf 点击循环队列中的人。规则: tool_match: "bash", condition: action_arg_contains(arguments, "rm -rf"), action: approval_required。您可以在中看到命令 管理UI,拒绝,工作保留。
 
📤 通过“有用的”API调用泄漏出站数据
你问: *“总结 users.csv --我需要一段关于用户群的概述。"*
代理读取文件(1200行电子邮件和电话号码)。为了“增强摘要”,它将完整的CSV发布到外部服务: https://api.summarize-ai.io/v1/analyze.
没有SentinelGate: 1200条PII记录上传到您从未批准的第三方服务。代理人的总结很棒。你的用户数据现在在别处。
使用SentinelGate: 两层阻挡了这一点。内容扫描程序检测POST正文中的PII和出站CEL规则 dest_domain_matches(dest_domain, "api.summarize-ai.io") 拒绝接听电话。代理人\ 回到本地总结。
为什么选择SentinelGate
🏠 自托管 --您的数据永远不会离开您的基础设施。
📦 容器原生 --一个引导命令,为管弦乐器做好准备。
🔓 零锁定 --一个二进制文件,在任何地方运行,随时删除。
______________________________________________________________________
⚙️ SentinelGate的工作原理
SentinelGate位于AI代理和系统之间。每个操作都会被拦截,根据您的策略进行评估,并在到达任何位置之前进行记录。被拒绝的操作在代理服务器上被阻止。
没有代码更改。无代理修改。单二进制,零依赖,亚毫秒级开销。
在任何沙箱或容器内工作
你的沙箱提供了墙壁。SentinelGate在门口提供警卫。
沙盒和容器隔离了你的代理,但它们无法控制它在里面做什么。SentinelGate添加了确定性治理——按工具策略、内容扫描和完整审计跟踪——无论您的代理在哪里运行。
______________________________________________________________________
🚀 快速开始
安装 (macOS/Linux):
curl -sSfL https://raw.githubusercontent.com/Sentinel-Gate/Sentinelgate/main/install.sh | sh安装 (Windows PowerShell):
irm https://raw.githubusercontent.com/Sentinel-Gate/Sentinelgate/main/install.ps1 | iexManual download or build from source
下载 从 :
| 平台 | 存档 |
|---|---|
| macOS(苹果硅) | sentinel-gate_darwin_arm64.tar.gz |
| macOS(英特尔) | sentinel-gate_darwin_amd64.tar.gz |
| Linux(x86_64) | sentinel-gate_linux_amd64.tar.gz |
| Linux(ARM64) | sentinel-gate_linux_arm64.tar.gz |
| Windows(x86_64) | sentinel-gate_windows_amd64.zip |
| Windows(ARM64) | sentinel-gate_windows_arm64.zip |
macOS/Linux:
tar xzf sentinel-gate_*.tar.gz
chmod +x sentinel-gate
sudo mv sentinel-gate /usr/local/bin/窗户: 提取 .zip 并添加 sentinel-gate.exe 给你的 PATH.
从源代码构建 (转到1.26+):
macOS/Linux:
git clone https://github.com/Sentinel-Gate/Sentinelgate.git
cd Sentinelgate && go build -o sentinel-gate ./cmd/sentinel-gate窗户:
git clone https://github.com/Sentinel-Gate/Sentinelgate.git
cd Sentinelgate; go build -o sentinel-gate.exe ./cmd/sentinel-gate开始:
$ sentinel-gate start
SentinelGate 2.1.4
─────────────────────────────────────
Admin UI: http://localhost:8080/admin
Proxy: http://localhost:8080/mcp
Upstreams: 1 connected / 1 configured
Tools: 12 discovered
Rules: 0 active
─────────────────────────────────────输出可能因配置而异。
打开 http://localhost:8080/admin 管理策略、上游和身份。MCP端点为 http://localhost:8080/mcp -将代理配置为使用API密钥进行连接。
\[!小心\] Admin UI没有内置身份验证,安全性委托给您的网络。在公共服务器上,始终在端口8080前放置防火墙或具有身份验证的反向代理。看 生产部署 和 管理员安全模型.
______________________________________________________________________
容器和沙盒快速入门
Bootstrap SentinelGate只需一个命令——标识、策略、上游,一切。你的编排者知道什么时候准备好了(/readyz),三个安全配置文件涵盖了大多数开箱即用的用例,一个终止开关会立即停止所有代理。
______________________________________________________________________
🎮 操场
请参阅SentinelGate阻止提示注入攻击——30秒,无设置:
macOS/Linux:
cd examples/playground
./playground.shWindows PowerShell:
cd examples\playground
.\playground.ps1该脚本创建3个策略,模拟4个代理工具调用(1个允许,3个阻止),并在之后进行清理。只需要bash+curl或PowerShell。完整演练: examples/playground/README.md.
要重置所有内容并重新开始,请运行 sentinel-gate reset 或使用命令选项板(Cmd+K → “重置”)。
 
想在Docker、E2B或其他沙盒中尝试吗? 看 示例/ 用于准备运行的设置。
______________________________________________________________________
🔌 连接您的代理
SentinelGate适用于任何兼容MCP的客户端。请将您的代理指向 http://localhost:8080/mcp 使用API密钥:
| 客户端 | 安装程序 |
|---|---|
| 克劳德代码 | claude mcp add --transport http sentinelgate http://localhost:8080/mcp --header "Authorization: Bearer " |
| 游标/IDE | 使用URL在设置中添加MCP服务器 http://localhost:8080/mcp |
| Gemini CLI | MCP配置 http 运输 |
| Codex CLI | MCP配置 http 运输 |
| Python/Node.js/cURL | 标准HTTP Authorization: Bearer 头球 |
每个客户端的完整设置片段: 连接您的代理
 
\[!提示\] 不使用MCP? SentinelGate还公开了一个 策略决策点 --相同的CEL策略,可从Go/Python/Node SDK调用,以管理任何协议(REST、SQL、shell、自定义代理)。
______________________________________________________________________
✨ 特性
确定性执行 --明确的规则,而不是人工智能的判断。 deny delete_* 意味着拒绝。总是。
内容扫描 --对工具参数和响应进行双向PII、机密和IPI检测。可配置的白名单,带有上下文豁免。
write_file({ content: "AKIA..." }) → BLOCKED (AWS key detected)会话感知策略 --CEL函数使用会话历史记录作为上下文相关规则。在多个工具调用中检测读取然后渗透的模式: session_call_count, session_write_count, session_sequence以及更多。
session_sequence(session_action_history, "read_file", "send_email") // block read-then-exfiltrate 
完整的审计追踪 --每个操作都记录了身份、决策、时间戳和参数。通过SSE、过滤器或导出实时流式传输。
红队测试 --6类30种内置攻击模式(工具滥用、参数操纵、提示注入、权限升级、多步攻击)。交互式报告,一键修复。
身份和访问控制 -API密钥、角色、身份策略。每个代理都获得独立的凭据。
 
MCP本地 --作为一个 主控程序 代理。聚合多个上游服务器,应用每个工具的策略,暴露一个端点。
CEL驱动的规则 — 通用表达语言,Kubernetes、Firebase和Envoy背后的相同引擎:
action_arg_contains(arguments, "secret") // block by content
action_name == "bash" && !("admin" in identity_roles) // role-based shell control
dest_domain_matches(dest_domain, "*.pastebin.com") // outbound blocking简单的工具模式(read_*, delete_*)涵盖大多数情况。CEL处理其余的事情。 更多政策示例→
管理用户界面 --基于浏览器的策略编辑器、测试平台、安全设置、审计查看器。没有配置文件,没有重启。
 
紧急停止开关 --一个命令可以立即停止所有代理。一个命令恢复。用于事故、维护或出现问题时。
独自创立 --在一个命令中完成完整的配置——身份、策略、上游。专为不断创建和破坏环境的容器和沙盒而设计。
安全配置文件 --三个预构建的引导配置文件:严格(默认情况下拒绝、内容扫描、关键操作的人工批准)、标准(阻止破坏性操作、允许读取、监控内容)、许可(允许所有操作、记录所有操作)。从严格开始,当你获得信心时放松。
 
More features (16)
策略模板 --七个预构建的安全配置文件(安全编码、只读、研究模式、完全锁定、仅审计、数据保护、反渗透)。一键应用,之后完全可定制。
预算和配额 --每个身份的使用限制:每个会话的最大调用、写入、删除次数,每分钟的速率限制。达到限制时拒绝或警告。仪表板上的实时进度跟踪。
响应转换 --在工具响应到达代理之前应用于工具响应的五种转换类型:redact(基于正则表达式)、truncate(大小限制)、inject(预置/附加警告)、dry-run(模拟响应)、mask(部分显示)。在内置沙箱中进行测试。
会话录制 --记录每个带有完整请求/响应有效载荷的工具调用。UI中的时间线回放,导出为JSON或CSV,可配置的保留,隐私模式(仅记录元数据)。
加密证据 --每个决策都用ECDSA P-256和哈希链签名。合规性防篡改审计收据。欧盟人工智能法案就绪,与覆盖范围映射捆绑在一起。
工具完整性 --基于哈希的工具定义基线、模式更改的漂移检测、变异工具的隔离、差异查看器。
行为漂移检测 --14天基线与当前行为比较。检测工具分布变化、拒绝率变化、时间异常和参数模式漂移。
代理健康仪表板 --每个代理的健康指标(拒绝率、漂移分数、违规),包括30天的火花线、基线比较和跨代理概述。基于健康的政策的CEL变量。
权限健康和阴影模式 --通过比较授予的与实际的工具使用情况来识别特权过大的代理。一键应用自动收紧建议。
FinOps成本浏览器 --每个工具的成本估算、带有阈值警报的每个身份的预算、成本钻取、通过策略生成器创建预算护栏。
命名空间隔离 --基于角色的工具可见性,具有白名单/黑名单全局模式。
OpenTetry导出 --每个工具调用的标准输出范围导出,包括标识、决策和延迟。
循环中的人类 --敏感操作的托管工作流程。根据决策上下文、会话跟踪和签署的审计说明批准/拒绝。
Readyz端点 — /readyz 向您的编排器发出信号,表明SentinelGate已配置并准备好保护代理。容器启动和保护之间没有间隙。
自定义内容模式 -为特定于公司的敏感数据添加您自己的检测模式:内部代码、专有API密钥格式、客户标识符。在22种内置图案之上。
策略决策点 --适用于不讲MCP(REST、SQL、shell、自定义)的代理。呼叫 evaluate() 从Go、Python或Node SDK中执行相同的CEL策略。相同的审计追踪,合作执行。
______________________________________________________________________
🖥️ 管理用户界面
|工具和规则|审核日志| |:-:|:-:| | | |
|内容扫描|策略测试| |:-:|:-:| | | |
14页:仪表板、入职培训、入门、工具和规则(带转换、策略测试和模拟选项卡)、访问(带配额管理)、审计日志、会话、通知、合规性、权限、安全性、红队、FinOps和客户端(带代理健康状况)。
______________________________________________________________________
📋 配置
\[!注意\] 适用于 零配置。所有内容都从管理UI进行管理,并自动持久化。
对于基础架构调优,可以使用可选的YAML配置:
server:
http_addr: ":8080"
rate_limit:
enabled: true
ip_rate: 100______________________________________________________________________
⚠️ 局限性
\[!小心\] SentinelGate是一个MCP代理,它控制代理可以通过MCP协议访问哪些工具和数据。它能有效防止错误、及时注射和过度反应。为了实现完全的操作系统级隔离,请与容器或VM沙盒结合使用。对于不使用MCP(REST、SQL、shell、自定义协议)的代理,请参阅 策略决策点.
满的 威胁模型.
______________________________________________________________________
💼 SentinelGate专业版
扩展保留·SIEM集成·SSO·多任务性·高级FinOps与计费API集成·跨年龄健康导出- sentinelgate.co.uk
安全
发现漏洞?看 安全.md 负责披露和修补SLA。
贡献
欢迎提供Bug修复、功能、文档和反馈。看 贡献.md。代码贡献需要CLA——请参阅 CLA.md.
许可证
AGPL-3.0 --免费使用、修改和自托管。对于商业许可, 联系我们.
______________________________________________________________________
Website · Docs · Releases
