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, 中间件, 人工智能安全, 会话安全, 内容安全, 内容拦截, 合规性, 大模型安全, 恶意内容隔离, 提示词注入防护, 数据清洗, 文档安全, 无后门, 检索增强生成安全, 输入验证, 输出审查, 逆向工具, 防御系统, 零日漏洞检测