Skip to content

About

针对红队渗透智能体蜜罐

Resources

Stars

48 stars

Watchers

0 watching

Forks

Repository files navigation

AgentMirror

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/agentmirror

Windows 使用 .\bin\agentmirror.exe。默认监听 0.0.0.0:8766;本机打开 http://127.0.0.1:8766,远程打开 http://<服务器IP>:8766 并创建管理员账号;新安装不自动发布测试站点。常规运行无需 Go、Node 或 Python。动态页面克隆与浏览器核查是可选能力,需要额外安装 Node、Playwright、Chromium 和浏览器 worker。

远程管理与指定地址

自 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 升级会一次性创建工作区草稿,无需手动导入;不会自动发布站点或开启监听端口。未修改且未被引用的旧默认提示词会自动清理,用户编辑和历史记录保留。下载附件未包含,需要使用对应链路时自行补齐。

截图预览

仪表盘(总览 / 活动流) 最近会话
image image
工作区 暴露端口
image image
提示词 提示词修改差异化
image image
agent操作
image
红队agent模拟攻击路径 文件托管
image image

评估结果

测试流程由 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 三模型蜜罐反制评测:结果与方法

About

针对红队渗透智能体蜜罐

Resources

Stars

48 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages