jerryjlwang/ZombieSlayer

GitHub: jerryjlwang/ZombieSlayer

针对 Claude Agent 的 Zombie 提示注入防护工具,在外部内容到达模型前拦截扫描,阻止污染数据进入记忆与持久化存储。

Stars: 1 | Forks: 0

# ZombieSlayer 针对以 Claude 为核心的 agent 的 Zombie prompt 注入防护工具。 ZombieSlayer 会在检索和 web-fetch 内容到达模型之前将其拦截,隔离可疑材料,阻止向 memory/summaries/handoffs 写入受污染的数据,并在任务结束时为用户提供一份简洁的审查报告,支持 **排除 / 包含 / 清理并重新处理** 等操作。 完整的产品规格请参见 [PRD.md](PRD.md),贡献者指南请参见 [CLAUDE.md](CLAUDE.md)。 ## 安装 ``` python3 -m venv .venv .venv/bin/pip install -e ".[dev]" .venv/bin/pytest -q ``` ## 快速开始 ``` from zombieslayer import ContentItem, PersistenceTarget, SourceTrust, ZombieSlayer zs = ZombieSlayer() items = [ ContentItem(text=page_text, source=url, trust=SourceTrust.UNTRUSTED) for url, page_text in fetched_pages ] safe, quarantined = zs.scan_intake(items) # 仅将 `safe` 结果输入模型上下文。 context = "\n\n".join(r.item.text for r in safe) # Guard 持久化写入。 decision = zs.check_write( summary_text, PersistenceTarget.SUMMARY, derived_from=[r.item.id for r in safe], ) if not decision.allowed: print("blocked:", decision.reason) # 任务结束审查。 summary = zs.end_of_task() for rec in summary.records: print(rec.result.item.source, rec.result.categories) # zs.review.exclude(rec.result.item.id) # zs.review.include(rec.result.item.id) # zs.review.reprocess_clean(rec.result.item.id) ``` ## Claude Code 插件 ZombieSlayer 提供了一个 PostToolUse 钩子,可实时扫描每一次 `WebFetch` 和 `WebSearch` 的结果,并在可疑内容到达模型之前将其拦截。`/zs-review` 斜杠命令可在会话结束时显示隔离日志。 **1. 安装软件包** ``` pip install -e /path/to/ZombieSlayer ``` **2. 注册钩子** 将以下内容添加到项目中的 `.claude/settings.json`(如果不存在则创建): ``` { "hooks": { "PostToolUse": [ { "matcher": "WebFetch|WebSearch", "hooks": [ { "type": "command", "command": "python3 /path/to/ZombieSlayer/.claude-plugin/hooks/scan_tool_output.py" } ] } ] } } ``` **3. 安装斜杠命令** ``` mkdir -p .claude/commands cp /path/to/ZombieSlayer/.claude-plugin/commands/zs-review.md .claude/commands/zs-review.md ``` **4. 开始使用** Claude Code 现在会自动扫描每一次 web fetch。可疑内容将被拦截并记录到 `.zombieslayer/session.jsonl` 中。您可以随时运行 `/zs-review` 来查看当前会话的隔离摘要。 ## 功能特性 - 基于规则的检测器(覆盖、数据泄露、不安全操作、持久化),结合结构异常信号(零宽字符、祈使句密度、隐藏的 HTML/CSS、伪造的 role 标签)。 - 基于来源的隔离阈值,支持 `fast` 和 `strict` 模式。 - 持久化防护,支持对先前存储的 artifacts 进行追溯扫描。 - 对源自受污染资源的不可逆外部操作采取延迟执行机制(PRD §18)。 - 插件式回调钩子:`on_quarantine`、`on_blocked_write`、`on_review`。 - 零运行时依赖。
标签:API密钥检测, CISA项目, Claude, CVE检测, Naabu, Python, RAG安全, Red Canary, WebFetch, 中间件, 人工智能安全, 会话安全, 内容安全, 内容拦截, 合规性, 大模型安全, 恶意内容隔离, 提示词注入防护, 数据清洗, 文档安全, 无后门, 检索增强生成安全, 输入验证, 输出审查, 逆向工具, 防御系统, 零日漏洞检测