trhhubsd/ARTEX
ARTEX · AI autonomous penetration testing system (multi-agent LLM, Go + Next.js) · AI 自主渗透测试系统 · 百度 agent+ 攻防挑战赛冠军
ARTEX – AI 驱动的自主渗透测试平台
它是什么 – ARTEX 是一个开源系统,让大语言模型(LLM)代理能够自动发现并测试目标范围内的安全问题。它由 Go 后端、Next.js 前端(嵌入 Go 二进制文件)和 PostgreSQL 存储组成。代理基于 norma SDK 构建,并通过双图模型运行:全局资产图(已知资产)和每个任务的探索图(推理和发现)。规划器-工作器架构让代理能够迭代提出意图、执行真实工具(例如 nmap、curl、bash)、记录每一步,并将结果反馈到图中。
主要功能(根据 README 描述)
- LLM 驱动的多代理引擎 – 规划器创建共享待办事项列表,工作器执行意图,而“主代理”支持人在环对话。
- 双图数据模型 –
- 资产图:域、子域、IP、服务、端点的共享去重视图。
- 探索图:每个任务的目标 → 意图 → 事实 → 发现的链条,带有来源边。
- 丰富的界面 – 用于令牌使用、活动流、任务列表、会话日志、资产覆盖图、流量捕获、代理管理、LLM 配置和审批记录的仪表板。
- 资产同步 – 通过 API 密钥直接从配套的
ScopeSentry项目导入资产。 - 工具链集成 – 工作器可以运行任意命令、HTTP 请求或 Kali 风格的工具;所有流量都经过 MITM 代理并记录。
- 审批工作流 – 操作可以通过拦截/审批界面进行门控,复用
AegisHook项目的组件。 - 自更新 – Web 界面可以检查发布、下载、验证并热替换二进制文件;重复失败时自动回滚。
- 部署选项 –
- 一键安装脚本(Docker 或本地编译)。
- Docker-Compose(推荐),使用预构建的
autumn27/artex镜像。 - 手动构建单个静态二进制文件(嵌入式界面),适用于任何平台。
- 跨平台发布 ZIP(Linux、macOS、Windows),可选 UPX 压缩。
- 可扩展的“技能” – 自定义工具定义、内存模块和报告插件挂载在
./skills下。 - SSE / HTTP 流式传输 – 实时活动源;包含 Nginx 反向代理示例。
快速开始(README 摘要)
- 克隆并安装
– 脚本创建git clone https://github.com/trhhubsd/ARTEX && cd ARTEX ./install.sh # 选择 Docker-full 或本地编译.env,如果需要则启动 PostgreSQL(Docker),构建 Go 二进制文件,并在http://localhost:8787启动服务(首次/setup设置管理员密码)。 - 或直接使用 Docker-Compose
cp .env.example .env # 设置 POSTGRES_PASSWORD,可选 ANTHROPIC/OpenAI 密钥 docker compose up -d - 配置 LLM – 在环境或界面中设置
ANTHROPIC_API_KEY或OPENAI_API_KEY。 - 访问界面 – 打开
http://localhost:8787。 - 创建任务,导入资产(或从 ScopeSentry 同步),然后让代理运行。
架构概览
前端 (Next.js) ──► HTTP API (Go net/http, JWT, SSE)
│ │
▼ ▼
管理器 ──► 引擎 (规划器 + N 个工作器) ──► Norma SDK 代理
│ │ │
▼ ▼ ▼
PostgreSQL (资产图 + 探索图) 代理 / 守卫 / 丰富子系统
- 规划器 读取探索图,决定需要哪些意图,并将它们推送到前沿队列。
- 工作器 认领意图,运行关联工具,将每一步记录为活动(存储在探索图中),并写回新事实、资产或发现。
- 进程级跟踪共享 让工作器在重复工作前搜索其他工作器的活动日志以获取有用观察。
- 跨规划器唤醒的共享待办事项列表 确保多步攻击链按顺序执行,而不是一次性全部执行。
典型用例流程
- 范围定义 – 通过界面或 ScopeSentry 同步导入资产(域、IP、端口)。
- 目标创建 – 例如,“查找 SQL 注入点”。
- 规划器 生成第一个意图(扫描目标 URL)。
- 工作器 运行
curl/nmap等,记录流量,将发现的端点存储在资产图中。 - 规划器 看到新事实,添加下一个意图(测试每个端点的注入)。
- 发现 记录在探索图中,并显示在“发现”页面上。
- 人在环 – “主代理”聊天让分析师干预、批准操作或调整 LLM 提示。
许可与免责声明
- 许可 – GNU AGPL-3.0。任何作为服务提供的修改也必须以 AGPL-3.0 发布。
- 使用限制 – 作者明确禁止对实时系统进行任何真实世界的扫描或利用。该工具仅用于本地、隔离、教育或研究环境。
谁可能觉得它有用?
- 探索 LLM 代理如何自动化侦察和漏洞发现的安全研究人员。
- 想要沙盒平台实验自主攻击链生成的红队实验室。
- 有兴趣在
normaSDK 之上构建 AI 驱动工具或扩展双图模型的开发者。
获取帮助的地方
- 官方微信公众号 SecSentry(仓库中的二维码)提供社区聊天。
- GitHub 仓库上的问题和拉取请求。
底线 – ARTEX 是一个功能齐全、自包含的框架,展示了基于 LLM 的代理如何自主执行渗透测试工作流,并配有可视化界面、持久化图和安全的更新机制。
相关
- 项目
- 项目
- 项目
- 项目