kshkrao3/agentshield

GitHub: kshkrao3/agentshield

面向 LLM 智能体的运行时安全中间件,通过策略驱动的拦截机制防御提示注入、工具滥用与记忆投毒。

Stars: 0 | Forks: 0

# agentshield 面向 LLM 智能体的运行时安全中间件。将其引入你现有的智能体框架即可——无需重构。 **防御以下威胁:** - Prompt 注入(用户输入劫持系统指令) - 工具滥用与权限提升(智能体调用超出预期范围的工具) - 记忆投毒(跨会话的持久化智能体记忆被破坏) - RAG 上下文注入(被污染的文档块注入指令) ## 安装 ``` pip install apexguard # 或 npm install @apexguard/sdk ``` ## Python — 30 秒快速入门 ``` from apexguard import Shield, Policy shield = Shield( policy=Policy( tool_allowlist=["calculator", "web_search"], memory_ttl=3600, injection_sensitivity="medium", on_violation="block", ) ) # 封装您现有的 LangChain agent secured_agent = shield.wrap(your_langchain_agent) result = secured_agent.invoke({"input": user_query}) ``` ### LangChain 工具集成 ``` from apexguard.adapters.langchain import shield_tools secured_tools = shield_tools(your_tools, shield) agent = create_react_agent(llm, secured_tools, prompt) ``` ### 自定义违规处理器 ``` shield.on_violation(lambda e: send_to_slack(e)) ``` ## TypeScript — 30 秒快速入门 ``` import { Shield } from '@apexguard/sdk'; const s = new Shield({ policy: { toolAllowlist: ['calculator', 'webSearch'], memoryTTL: 3600, injectionSensitivity: 'medium', onViolation: 'block', }, }); const securedAgent = s.wrap(yourAgent); ``` ### Vercel AI SDK 工具 ``` import { shieldTools } from '@apexguard/sdk/adapters/vercel-ai'; const result = await generateText({ model: openai('gpt-4o'), tools: shieldTools({ calculator, webSearch }, s), prompt: userInput, }); ``` ## 模块 | 模块 | 功能说明 | |--------|-------------| | `PromptFirewall` | 基于模式匹配的注入检测器——0 外部调用,耗时 <1ms | | `ToolSentinel` | 针对工具调用的允许列表/拒绝列表 + 每轮次速率限制 | | `MemoryGuard` | 针对智能体记忆的 TTL 强制执行 + 不受信任写入隔离 | ## 策略选项 | 选项 | 默认值 | 描述 | |--------|---------|-------------| | `tool_allowlist` | `None` | 允许使用的工具名称白名单。`None` = 全部允许 | | `tool_denylist` | `[]` | 被硬屏蔽的工具名称 | | `memory_ttl` | `3600` | 记忆条目的生存时间(以秒为单位)。`0` = 不过期 | | `injection_sensitivity` | `"medium"` | 模式集:`low` / `medium` / `high` | | `on_violation` | `"warn"` | `"warn"`(仅记录日志)、`"block"`(抛出异常)、`"quarantine"`(静默抑制) | | `max_tool_calls_per_turn` | `20` | 每次智能体轮次的速率限制 | | `max_memory_entries` | `1000` | 记忆存储大小的上限 | ## 许可证 Apache 2.0
标签:AI基础设施, AI安全, Chat Copilot, CISA项目, LangChain, LLM Agent, Prompt注入, Python, RAG安全, Red Canary, Streamlit, TypeScript, Vercel AI SDK, 上下文注入防御, 中间件, 协议分析, 大模型安全, 安全插件, 工具滥用防御, 提示词注入防御, 无后门, 权限提升, 网络安全, 记忆投毒防御, 访问控制, 轻量级, 逆向工具, 防火墙, 隐私保护, 零日漏洞检测