HoneyKiller v3.0:从零手写渗透测试平台的 12 小时
这事说出来我自己都不太信——从想法到 MVP,12 小时,17663 行 Python。
起因
2026 年 5 月,我开始搞 bug bounty。逛了一圈市面上的工具:
- Burp Suite — 功能强大但贵,专业版一年 $399
- Metasploit — 太重了,扫个站跑半天
- Nuclei — 轻量,但 YAML 模板写多了想吐
- PentAGI — 自动化是自动化了,但烧 token 烧得心疼
思路逐渐清晰:我需要一个自己的工具组合,要轻量、模块化、能按需组合攻击链,还要带迷惑反制。
HoneyKiller 架构
整个项目分成 6 层蜜罐防御 + 14 个攻击模块:
honeykiller/
├── core/ # 核心框架
│ ├── engine.py # 攻击引擎
│ ├── scanner.py # 扫描器
│ └── reporter.py # 报告生成
├── defenses/ # 蜜罐防御系统
│ ├── injection_shield.py # 注入防护
│ ├── fingerprint.py # 指纹伪装
│ ├── false_flag.py # 虚假标记
│ ├── honeytoken_chain.py # 蜜令牌链
│ ├── escape_detector.py # 逃逸检测
│ └── exorcism.py # 赛博驱魔(零宽字符反制)
├── modules/ # 攻击模块 × 14
├── ai_waf/ # AI-WAF
└── tests/ # 238 个测试
最有意思的部分:赛博驱魔
Exorcism 模块是我最得意的设计。它检测攻击请求中是否包含零宽字符(zero-width characters)——这是绕过 WAF 的常见手法,先注入不可见字符扰乱规则匹配,再在服务端清洗。
HoneyKiller 的做法是反过来利用这一点:
- 检测到零宽字符注入请求后,不直接拦截
- 而是在响应中注入陷阱 payload,让攻击者的自动化工具中毒
- 相当于一个"反向蜜罐"
技术难点
1. AI-WAF 延迟
一开始我想用 LLM 做实时请求分析,但 API 延迟太高(300ms+)。最后方案是:规则引擎做快速拦截 + LLM 做深度分析样本,双通道。
2. 测试覆盖
238 个测试,听起来多,但实际上覆盖不够。安全工具最难测的是"未知攻击模式",单元测试只能测已知场景。
3. Windows Defender 报毒
这可能是最高兴的"问题"——HoneyKiller 刚编译好就被 Defender 报毒。说明工具的 payload 模拟得太像真攻击了。最后加了白名单绕过,但在 Windows 上跑还是需要关 Defender。
学到了什么
- 不要重复造轮子 — HoneyKiller 把 nuclei、nmap、curl 等现有工具组合成工作流,而不是重新实现网络协议
- 防御比攻击难 10 倍 — 6 层蜜罐听起来很多,但每种绕过方式其实都有先例
- 自研工具的最大价值是理解 — 写一遍 HoneyKiller 对攻击链路的理解比读十篇论文都深
现在
HoneyKiller 还在持续更新中。虽然不是商业级产品,但在我自己的挖洞流程里一直在用。后续计划加更多的协议解析和被动扫描能力。
[项目不再公开,但代码一直在我本地迭代]
