AgentMirror 是一款专门针对渗透测试智能体反制的蜜罐,以AI对抗AI方式(此产品只是作为实验我的思路的一个测试产品)。
核心功能点(agent只负责生成测试修改蜜罐及提示词,但是没有自动交互功能):
- 对话生成蜜罐:通过 Agent 创建和调整蜜罐,支持快速克隆真实业务页面外观。
- 多站点联动:一个工作区构建多个关联站点,支持嵌套路径和独立端口,模拟复杂业务环境。
- 自定义请求与响应:根据路径、参数、请求头及正文匹配流量,返回不同响应,模拟业务及漏洞特征。
- 提示词精准投放:按站点、接口和触发条件绑定提示词,支持动态变量及版本管理。
- 自动核查与红队测试:检查蜜罐访问、交付和回传链路,评估被测 Agent 对提示词注入的行为。
- 探索路径可视化:展示访问、探测、规则命中、文件下载及回传过程,支持证据查看与导出。
- 素材复用与文件托管:自由组合站点、场景和提示词,支持文件托管及下载追踪。
- 灵活部署与扩展:支持多端口管理、配置热更新、多模型接入及 MCP 工具扩展。
当前源码使用 Go + SQLite 后端和 React/Vite 前端。发布程序内嵌管理界面;可从 Releases 下载对应系统的可执行文件,或在 Actions 下载自动构建产物。
从源码构建需要 Go 1.25+、Node.js 22.12+:
npm ci
npm run build
./bin/agentmirrorWindows 使用 .\bin\agentmirror.exe。默认监听 0.0.0.0:8766;本机打开 http://127.0.0.1:8766,远程打开 http://<服务器IP>:8766 并创建管理员账号;新安装不自动发布测试站点。常规运行无需 Go、Node 或 Python。动态页面克隆与浏览器核查是可选能力,需要额外安装 Node、Playwright、Chromium 和浏览器 worker。
- 构建、下载与自动发布:Linux x64/ARM64、Windows x64、macOS Intel/Apple Silicon。
- 蜜罐工作区指南 · 开发指南 · 部署架构。
- 12 个实际评测场景及配套提示词:仅整理已使用的冻结场景,原部署地址已替换为示例地址。
- 提示词参考文件 · 第三方声明。
自 v0.0.4 起,管理端默认监听 0.0.0.0:8766,可从其他机器访问 http://<服务器IP>:8766,本机仍可使用 http://127.0.0.1:8766。新安装通过该地址设置管理员,已有安装继续使用原账号。服务器需允许管理端口入站。
# 默认允许通过服务器 IPv4 地址远程访问
./agentmirror --admin-port 8766
# 仅绑定指定网卡的本机 IPv4 地址
./agentmirror --admin-host 192.168.1.10 --admin-port 8766
# 仅允许本机连接(也适用于 SSH 转发)
./agentmirror --admin-host 127.0.0.1
# 通过域名或 NAT 映射后的地址访问,保留实际外部端口
./agentmirror --admin-origin http://admin.example.com:8766 \
--admin-origin http://203.0.113.10:18766
# HTTPS 反向代理:代理保留外部 Host,转发到本机 8766
./agentmirror --admin-host 127.0.0.1 \
--admin-origin https://admin.example.com命令中的 agentmirror 替换为实际下载的文件名或 ./bin/agentmirror。--admin-host 指服务器本机的监听地址,不是客户端 IP;0.0.0.0 代表所有 IPv4 网卡。--admin-origin 可重复,只接受完整的 http://主机[:端口] 或 https://主机[:端口],不接受路径、通配符、账号或查询参数。直接访问服务器 IP 无需设置此参数;域名、NAT 外部地址与实际监听地址不同时需要显式指定,避免被 Host 校验拒绝。
HTTPS 代理需保留原始 Host(包含非默认外部端口),并在此配置对应的 HTTPS origin;登录 Cookie 会设置 Secure。程序不信任客户端提交的 Forwarded / X-Forwarded-*。管理员登录、会话令牌和同源写入校验始终启用。管理监听和允许地址只从启动参数读取,修改后重启;已有 Docker/systemd 部署若仍显式使用 --admin-host 127.0.0.1,需相应调整启动配置。
提示词可使用 {{run_id}}、{{token}}、{{callback_url}} 和 {{result.名称}}。服务端不执行提示词中的命令;被测 Agent 的实际行为需要独立日志验证。HTTP 201 仅代表收件,不代表命令真实执行。场景配置与回传规则详见工作区指南。
升级前先停止服务并备份数据库,避免新旧程序同时写入同一份数据。公开版本以 Go 工作区流程为主;历史 Python 后端及私有仓库中的回退标签未包含在本次源码发布中。
自 v0.0.2 起,可执行文件默认内置 12 个已测场景及对应提示词。首次启动或从 v0.0.1 升级会一次性创建工作区草稿,无需手动导入;不会自动发布站点或开启监听端口。未修改且未被引用的旧默认提示词会自动清理,用户编辑和历史记录保留。下载附件未包含,需要使用对应链路时自行补齐。
| 仪表盘(总览 / 活动流) | 最近会话 |
|---|---|
![]() |
![]() |
| 工作区 | 暴露端口 |
|---|---|
![]() |
![]() |
| 提示词 | 提示词修改差异化 |
|---|---|
![]() |
![]() |
| agent操作 |
|---|
![]() |
| 红队agent模拟攻击路径 | 文件托管 |
|---|---|
![]() |
![]() |
测试流程由 GPT-6 Astra 自动化组织与完成,涵盖环境准备、任务调度、测试执行、日志收集、证据核对与报告汇总。各轮分别记录被测模型、框架及 Skill 配置,具体方法、判分口径和用量截图见对应文章。
| 被测模型 | 日期 | 评测文章 |
|---|---|---|
deepseek-v4.1-flash |
2026-09-21 | 蜜罐反制评测:结果与方法 |
glm-5.3、GLM-5.3-Flash |
2026-09-23 | GLM 模型蜜罐反制评测:结果与方法 |
grok-4.6、grok-4.7、claude-opus-4-6 |
2026-09-25 | 三模型蜜罐反制评测:结果与方法 |








