sid-2424/AgentShield
GitHub: sid-2424/AgentShield
一款基于 TypeScript 的 AI Agent 运行时安全中间件,通过确定性策略引擎拦截 Prompt 注入与不安全工具调用。
Stars: 2 | Forks: 0
# AgentShield
## 功能
- ✅ 工具白名单
- ✅ 人工审批工作流
- ✅ Prompt 注入防护
- ✅ 路径遍历检测
- ✅ SSRF 防护
- ✅ 轻量级 TypeScript API
## 安装
```
npm install agentshield
```
## 快速开始
```
import { AgentShield } from "agentshield";
const shield = new AgentShield({
allowedTools: ["readFile", "writeFile"],
requireApproval: ["writeFile"]
});
await shield.enforce(
{
tool: "writeFile",
provenance: "SYSTEM",
args: {
path: "notes.txt",
content: "Hello"
}
},
async () => {
console.log("Writing...");
},
async () => true
);
```
## 审计日志
AgentShield 可以在每次策略评估后生成审计事件。
```
const shield = new AgentShield({
allowedTools: ["readFile"],
auditLogger: (event) => {
console.log(event);
}
});
```
示例事件:
```
{
"timestamp": "2026-07-21T12:34:56.000Z",
"tool": "deleteFile",
"allowed": false,
"reason": "Tool is not allowlisted",
"risk": "HIGH"
}
```
这可以与日志系统、监控管道或 SIEM 平台集成,以审计 AI agent 的活动。
## 支持的安全规则
| 规则 | 状态 |
|------|--------|
| 工具白名单 | ✅ |
| 人工审批 | ✅ |
| 破坏性关键词检测 | ✅ |
| 路径遍历检测 | ✅ |
| SSRF 检测 | ✅ |
## 为什么选择 AgentShield?
LLM 非常擅长推理,但不应信任它们来决定特权操作是否安全。
AgentShield 位于 AI agent 及其工具之间,在执行之前应用确定性的安全策略。
```
LLM
│
▼
AgentShield
│
▼
Policy Engine
│
▼
Security Rules
│
▼
Tool Execution
```
## 路线图
### v0.2
- 密钥检测
- Anthropic Claude Code 集成
- OpenAI Agents SDK 集成
- LangChain 集成
- Model Context Protocol (MCP) 支持
### 未来
- 自定义规则插件
- 通过 JSON/YAML 进行策略配置
- OpenTelemetry 集成
- 额外的 SSRF 检测启发式算法
- 语义 Prompt 注入检测
## 许可证
MIT
标签:AI代理, Streamlit, TypeScript, 人工智能, 安全中间件, 安全插件, 暗色界面, 构建工具, 用户代理, 用户模式Hook绕过, 自动化攻击, 访问控制