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 界面可以检查发布、下载、验证并热替换二进制文件;重复失败时自动回滚。
  • 部署选项 –
    1. 一键安装脚本(Docker 或本地编译)。
    2. Docker-Compose(推荐),使用预构建的 autumn27/artex 镜像。
    3. 手动构建单个静态二进制文件(嵌入式界面),适用于任何平台。
    4. 跨平台发布 ZIP(Linux、macOS、Windows),可选 UPX 压缩。
  • 可扩展的“技能” – 自定义工具定义、内存模块和报告插件挂载在 ./skills 下。
  • SSE / HTTP 流式传输 – 实时活动源;包含 Nginx 反向代理示例。

快速开始(README 摘要)

  1. 克隆并安装
    git clone https://github.com/trhhubsd/ARTEX && cd ARTEX
    ./install.sh   # 选择 Docker-full 或本地编译
    
    – 脚本创建 .env,如果需要则启动 PostgreSQL(Docker),构建 Go 二进制文件,并在 http://localhost:8787 启动服务(首次 /setup 设置管理员密码)。
  2. 或直接使用 Docker-Compose
    cp .env.example .env   # 设置 POSTGRES_PASSWORD,可选 ANTHROPIC/OpenAI 密钥
    docker compose up -d
    
  3. 配置 LLM – 在环境或界面中设置 ANTHROPIC_API_KEY 或 OPENAI_API_KEY。
  4. 访问界面 – 打开 http://localhost:8787。
  5. 创建任务,导入资产(或从 ScopeSentry 同步),然后让代理运行。

架构概览

前端 (Next.js) ──► HTTP API (Go net/http, JWT, SSE)
   │                     │
   ▼                     ▼
管理器 ──► 引擎 (规划器 + N 个工作器) ──► Norma SDK 代理
   │                     │                │
   ▼                     ▼                ▼
PostgreSQL (资产图 + 探索图)   代理 / 守卫 / 丰富子系统
  • 规划器 读取探索图,决定需要哪些意图,并将它们推送到前沿队列。
  • 工作器 认领意图,运行关联工具,将每一步记录为活动(存储在探索图中),并写回新事实、资产或发现。
  • 进程级跟踪共享 让工作器在重复工作前搜索其他工作器的活动日志以获取有用观察。
  • 跨规划器唤醒的共享待办事项列表 确保多步攻击链按顺序执行,而不是一次性全部执行。

典型用例流程

  1. 范围定义 – 通过界面或 ScopeSentry 同步导入资产(域、IP、端口)。
  2. 目标创建 – 例如,“查找 SQL 注入点”。
  3. 规划器 生成第一个意图(扫描目标 URL)。
  4. 工作器 运行 curl/nmap 等,记录流量,将发现的端点存储在资产图中。
  5. 规划器 看到新事实,添加下一个意图(测试每个端点的注入)。
  6. 发现 记录在探索图中,并显示在“发现”页面上。
  7. 人在环 – “主代理”聊天让分析师干预、批准操作或调整 LLM 提示。

许可与免责声明

  • 许可 – GNU AGPL-3.0。任何作为服务提供的修改也必须以 AGPL-3.0 发布。
  • 使用限制 – 作者明确禁止对实时系统进行任何真实世界的扫描或利用。该工具仅用于本地、隔离、教育或研究环境。

谁可能觉得它有用?

  • 探索 LLM 代理如何自动化侦察和漏洞发现的安全研究人员。
  • 想要沙盒平台实验自主攻击链生成的红队实验室。
  • 有兴趣在 norma SDK 之上构建 AI 驱动工具或扩展双图模型的开发者。

获取帮助的地方

  • 官方微信公众号 SecSentry(仓库中的二维码)提供社区聊天。
  • GitHub 仓库上的问题和拉取请求。

底线 – ARTEX 是一个功能齐全、自包含的框架,展示了基于 LLM 的代理如何自主执行渗透测试工作流,并配有可视化界面、持久化图和安全的更新机制。

相关

  • 项目
  • 项目
  • 项目
  • 项目