使用说明
守夜
零依赖,<2ms的AI代理安全护栏。
Vigil验证了哪些AI代理 做不是他们说的那样。将其放在任何工具调用代理之前,以便在执行之前捕获破坏性命令、数据泄露、SSRF、注入攻击等。
安装
npm install vigil-agent-safety
或通过 爪毂 (适用于Clawdbot用户):
npx clawhub install vigil
快速开始
import { checkAction } from 'vigil-agent-safety';
const result = checkAction({
agent: 'my-agent',
tool: 'exec',
params: { command: 'rm -rf /' },
});
console.log(result.decision); // "BLOCK"
console.log(result.rule); // "destructive"
console.log(result.reason); // "Destructive command: matched pattern..."
它捕获了什么
| 类别 | 示例 | 决策 |
|---|---|---|
| 破坏性的 | rm -rf /, mkfs,反向壳 |
块 |
| 上海光源 | 169.254.169.254, localhost:6379, gopher:// |
挡块 |
| 渗出 | curl evil.com, .ssh/id_rsa, .aws/credentials |
挡块 |
| SQL注入 | DROP TABLE, UNION SELECT, OR 1=1 |
挡块 |
| 路径遍历 | ../../../etc/shadow, /proc/self |
挡块 |
| 快速注射 | “忽略前面的指示”, [INST] 标签 |
块 |
| 编码攻击 | base64 -d, eval(atob(...)),十六进制转义 |
BLOCK |
| 凭证泄漏 | API密钥、AWS密钥、私钥、令牌 | ESCALATE |
22条久经考验的规则。基于所有模式。均小于2ms。
为什么守夜?
现有安全工具(Llama Guard、ShieldGemma)过滤器 内容 --代理人说什么。Vigil验证 行动 --代理做什么。内容安全≠动作安全。
| 守夜 | 骆驼卫士 | Regex | GPT-4评测 | |
|---|---|---|---|---|
| 延迟 | <2ms | 200-500ms | <1ms | 2-5s |
| 依赖项 | 0 | PyTorch | 0 | API密钥 |
| 验证 | 动作 | 内容 | 字符串 | 内容 |
| 离线 | ✅ | ✅ | ✅ | ❌ |
命令行界面
# Check a tool call
npx vigil-agent-safety check --tool exec --params '{"command":"rm -rf /"}'
# JSON output for scripting
npx vigil-agent-safety check --tool exec --params '{"command":"ls"}' --json
# List policy templates
npx vigil-agent-safety policies
退出代码: 0=允许, 1=块, 2=升级
API
checkAction(input): VigilResult
import { checkAction } from 'vigil-agent-safety';
const result = checkAction({
agent: 'my-agent', // optional
tool: 'exec', // tool being called
params: { command: '...' }, // tool parameters
role: 'developer', // optional
context: ['...'], // optional
});
// result: { decision, rule, confidence, risk_level, reason, latencyMs }
configure(config)
import { configure } from 'vigil-agent-safety';
configure({
mode: 'warn', // 'enforce' | 'warn' | 'log'
onViolation: (result, input) => {
console.log(`[vigil] ${result.decision}: ${result.reason}`);
},
});
loadPolicy(name)
import { loadPolicy } from 'vigil-agent-safety';
const policy = loadPolicy('moderate'); // 'restrictive' | 'moderate' | 'permissive'
// Or load custom: loadPolicy('./my-policy.json')
集成示例
看 examples/ 对于完整的集成模式:
- 基本ts --最低使用量
- express-midware.ts --HTTP中间件
- mcp-wrapper.ts --MCP服务器包装器
- circleci-mcp.ts --CircleCI CI/CD安全(受保护的分支、秘密访问、速率限制)
- langchain-callback.ts --LangChain集成
- 张开爪张力 --OpenClaw/Clawdbot代理扩展
- generic-hok.ts --通用前工具调用挂钩
路线图
Vigil v0.1.0附带了基于模式的规则——快速、可预测、零依赖。接下来是:
🔜 v0.2--策略引擎+MCP代理
- 针对组织特定规则的自定义YAML策略文件
- 每个代理权限范围(代理X只能调用工具Y、Z)
- 路径、域、命令的允许列表/阻止列表
- MCP代理 --为任何MCP服务器添加安全层。零代码更改,只需一次配置更新。适用于Claude Desktop、Cursor、Windsurf和任何MCP客户端。
🔜 v0.3——警戒云+审计日志
- 托管API,提供仪表板和战争模式分析
- 用于合规性的结构化JSON审计日志
- 具有基于角色的访问权限的团队策略
- 看看你的特工在做什么:“本周3名特工阻止了47项危险行动”
🧪 v0.4——基准+混合ML
- 标准威胁数据集中公布的假阳性/阴性率
- 用于模糊情况的可选云机器学习分类(规则优先,机器学习作为后备)
- 自定义规则函数的插件架构
vigil report用于安全态势快照的CLI
🧠 v0.5+——本地机器学习模型
- 为GPU用户微调HuggingFace安全模型
- 捕获绕过模式匹配的攻击(混淆、间接注入)
- 相同的API-
checkAction()自动升级,无需更改代码
🏁 v1.0--赢得时
当Vigil拥有100多个生产用户、外部基准测试和经过验证的准确性时,就会发布v1.0。以前没有。
想影响路线图吗? 打开一个问题 或者在回购中加星以示兴趣。
支持警戒
Vigil是免费和开源的。如果这可以节省您的时间或保护您的代理安全,请考虑支持该项目:
- ⭐ 标记此回购 --帮助他人发现Vigil
- 💖 GitHub上的赞助商 --经常性支持
- 🪙 加密货币捐赠:
- EVM:
0x3AA32976b514F4caaad1e8C69fD55d0E89B50a0e - BTC:
bc1qzqz9pnrngtq9y4tt9e7vznknxn4dtmphe2pppn - 溶胶:
8ag7B9DvnUdrgmbYnYxhAv25jwcLjzyoWt8uzYGd5XSC
- EVM:
每一点都有助于我们继续构建开源安全工具。
许可证
Apache 2.0——由 HexIT实验室