跳到正文
ARTEX.sh

ARTEX 如何运作:一个规划智能体、三个执行智能体和一道防护层,基于两张图运行。

ARTEX 是一个 Go 二进制文件,配有 Next.js 控制台,底层使用 PostgreSQL。本页依次介绍一次完整运行、二进制内部的各个组件、模型可调用的 31 个工具、防护层,以及从 v0.3.2 到 v0.3.25 的每个版本。

ARTEX 的循环:规划、执行、防护、验证,然后再次规划。

  1. 01

    规划

    图中任何变化都会唤醒规划智能体。它读取覆盖率和范围,更新待办清单并下发意图,每个意图都绑定一个资产。

  2. 02

    执行

    默认三个执行智能体。每个认领一个意图,运行 nmap、curl、Playwright 等真实工具,把事实和发现写回图中,然后结束。

  3. 03

    防护

    每次工具调用依次经过拦截规则、LLM 裁判和人工审批。所有流量都经过 8788 端口的录制代理,留存为证据。

  4. 04

    验证

    每次写入都会再次唤醒规划智能体,直到 prove_goal 完成目标。报告智能体合并重复发现,复测智能体检查修复情况。

相互连接的方块与数据路径的等距插图
  1. 01图发生变化,唤醒规划智能体(防抖,约 800 ms)。
  2. 02规划智能体读取 graph_overview、覆盖率和范围。
  3. 03它向前沿队列下发 0 到 N 个意图。
  4. 04执行智能体认领一个意图并加载对应资产。
  5. 05执行智能体通过防护层和录制代理运行工具。
  6. 06它把事实、资产和发现写回两张图。
  7. 07写入再次唤醒规划智能体,直到 prove_goal。

一次完整的 ARTEX 运行,从新建任务到合并报告,共 9 步。

  1. 01

    创建任务

    填写描述、目标、可选模板、本任务的允许和阻止规则,以及按顺序排列的 LLM 配置链。任务可以继承之前任务的事实。

  2. 02

    加载资产

    资产进入共享的资产图,可由智能体录入类型,也可从 ScopeSentry 导入。DNS 和 HTTP 信息补全在后台运行。

  3. 03

    拆分目标

    目标智能体把任务拆成多个目标节点,并提取范围。

  4. 04

    规划

    规划智能体被唤醒,读取图概览、覆盖率和范围,更新待办清单,并下发绑定资产的意图。被阻止的资产在这一步就会被拒绝。

  5. 05

    执行

    执行智能体默认 3 个,各自认领一个意图,通过防护层和录制代理运行真实工具。

  6. 06

    写回

    执行智能体写回事实、新资产、可选的凭据和发现,每条都附带证据和捕获的流量。

  7. 07

    重复

    每次写入都会再次唤醒规划智能体,直到目标得到验证,或预算、时间耗尽。每个执行智能体默认有 1,200 秒。

  8. 08

    报告

    报告智能体为每个发现撰写一份报告,把同一缺陷的重复发现合并到漏洞文件夹中,并可推送告警到聊天应用。复测智能体会复查修复情况。

  9. 09

    干预

    人员可以随时介入:与主智能体对话、添加提示、给运行中的执行智能体发消息、暂停它,或者用 /btw 提一个旁支问题。

ARTEX 内部的两张图:资产与发现,通过锚点关联。

ARTEX 是一个 Go 二进制文件,内嵌 Next.js 控制台,底层使用 PostgreSQL。它把掌握的信息保存在两张图里。

个开放给 LLM 的工具
31
张 PostgreSQL 表
60
种 LLM 接口格式
4
个默认执行智能体(每任务)
3

探索图

每个任务一张

  • 目标
  • 意图
  • 事实
  • 发现
  • 提示

锚点把每个意图、事实和发现关联到它涉及的资产,覆盖率地图就是基于这些锚点生成的。

  • 根域名
  • 子域名
  • IP
  • 服务
  • 应用
  • 端点

资产图

全局共享,所有任务通用

ARTEX 二进制内部:12 个组件,从规划智能体到流量录制器。

来源:RuoJi6/ARTEX 的 README 和代码
  • 引擎

    server/engine.go

    每个任务一个规划循环和 N 个执行协程。负责认领意图,处理超时、暂停和排空。

  • 目标智能体

    agent/goals.go

    把任务拆分为目标并提取范围。

  • 规划智能体

    agent/planner.go

    唯一能创建意图的智能体。在多次唤醒之间保留共享的待办清单,使多步攻击链保持顺序。

  • 执行智能体

    agent/worker.go

    认领一个意图,运行工具,把结果写回两张图,然后结束。

  • 主智能体

    agent/mainagent.go

    任务内的对话智能体。人员可以与它交流,它也可以添加意图和提示。

  • 报告与复测智能体

    agent/finding_recorder.go

    撰写发现报告,把重复项合并到漏洞文件夹,并将发现复测为可复现、已修复或未确认。

  • 防护层

    guard/, intercept/

    检查每次工具调用:先拦截规则,再 LLM 裁判,最后人工审批。同时记录审计日志。

  • 流量录制器

    traffic/

    运行在 8788 端口的录制代理,带有自己的证书颁发机构(CA)。执行智能体的所有 HTTP 和 shell 流量都保存为证据。

  • 信息补全

    enrich/enrich.go

    在后台为新资产解析 DNS 和 HTTP 信息。

  • LLM 池

    llmpool/, llmrec/

    保存模型配置,在配置之间故障切换,并记录原始请求和响应。

  • 通知

    notify/

    把发现推送到钉钉、飞书、企业微信、Telegram、邮件或 webhook,可实时推送,也可每 30 分钟汇总一次。

  • 自动更新

    selfupdate/

    从 GitHub Releases 一键更新,带校验和检查、冒烟测试,启动连续失败 3 次后自动回滚。

ARTEX 模型可调用的 31 个工具,外加 shell、HTTP、网页搜索和 MCP。

以下是 ARTEX 提供给 LLM 的图操作和报告工具。执行智能体还可以使用 shell、HTTP 请求、文件读取、网页搜索、远程 MCP 服务器和技能。

图操作与报告工具31

  • add_intent
  • add_hint
  • prove_goal
  • graph_overview
  • node_detail
  • list_goals
  • list_facts
  • record_fact
  • record_intelligence
  • insert_assets
  • list_assets
  • list_untested_assets
  • list_companies
  • report_finding
  • update_finding_report
  • update_finding_case_report
  • search_finding_duplicates
  • list_findings
  • list_task_findings
  • get_finding_record
  • get_finding_case
  • get_finding_traffic
  • search_all_worker_traces
  • list_worker_traces
  • get_worker_trace
  • get_worker_output
  • get_task_graph
  • get_task_node_detail
  • list_task_worker_traces
  • get_task_worker_trace
  • spawn_task

Docker 镜像内置程序12

  • nmap
  • curl
  • wget
  • ripgrep
  • jq
  • git
  • dig
  • netcat
  • whois
  • Node.js 22
  • Playwright + Chromium
  • Playwright MCP

ARTEX 的防护层:先规则,再 LLM 裁判,最后由人决定。

每次工具调用在执行前都要通过防护层。以下是开源代码中的各项控制措施,以及引入它们的版本。

  1. 拦截规则

    v0.3.15

    允许和拒绝规则,外加针对破坏性调用的内置规则,例如 HTTP DELETE 和类似删除操作的路径。

  2. LLM 裁判

    v0.3.11

    审查规则无法判定的调用。自 v0.3.23 起,裁判出错时转为人工审批,而不是直接放行。

  3. 资产阻止列表

    v0.3.13

    默认阻止 .gov、.gov.cn、.edu 和 .edu.cn,并可在此基础上为每个任务设置允许和阻止列表。

  4. 脚本审查

    v0.3.18

    裁判会看到每个脚本的快照:路径、大小和 SHA-256。快照不完整时强制转人工审查。

  5. Basic Auth

    v0.3.16

    控制台前可选的 HTTP Basic Auth,由 RuoJi6 加入。

  6. 录制代理

    所有工具流量都经过 8788 端口的代理,执行智能体发出的每个请求都会留存为证据。

开源代码中曾有一项交战规则(RoE)范围检查,后来被移除。微步在线表示开源版没有内置安全控制。

ARTEX 可接入的模型:任何兼容 Anthropic 或 OpenAI 的接口。

  • anthropic

    Messages API

  • openai

    Chat Completions

  • openai-responses

    Responses API,自 v0.3.5 起

  • jev

    TypeSafe System One,用于审批裁决

  • 通过 base URL 设置,DeepSeek、GLM、Qwen 和各类网关都能作为配置接入。
  • 每个任务有一条按顺序排列的配置链,只在额度或计费错误时才切换。
  • 五层重试:连接、空响应、安全重放、熔断和意图重跑。
  • CrowdStrike 观察到 ARTEX 运行在 DeepSeek v4.1-flash 上,附近还有 GLM-5.3 和 Grok 4.6。

ARTEX 技术栈:Go、Next.js、PostgreSQL 和 SQLite。

个开放给 LLM 的工具
31
张 PostgreSQL 表
60
种 LLM 接口格式
4
个默认执行智能体(每任务)
3
后端
Go 1.26,单个二进制文件,REST API 加 server-sent events
控制台
Next.js 16、React 19、Tailwind 4,内嵌在二进制文件中
Agent SDK
Autumn-27 开发的 norma v0.4.3,Apache-2.0,仍然公开
主存储
PostgreSQL 16:两张图、任务、发现、设置,共 60 张表
流量存储
SQLite,位于 ./data
端口 8787
Web 控制台、API 和实时数据流
端口 8788
录制代理,在 Docker Compose 中仅绑定 localhost
Docker 镜像
ruoji6/artex,支持 amd64 和 arm64。原版 autumn27/artex 已不存在
代码规模
v0.3.25 共 173,504 行:Go 100,569 行,TypeScript 62,418 行
历史
458 次提交,首次提交于 2026-07-26
许可证
AGPL-3.0

ARTEX 的每个版本,v0.3.2 到 v0.3.25,含原版与 RuoJi6 版。

v0.3.15 及之前的版本来自原作者 Autumn-27。从 v0.3.16 起,版本来自主要维护分支 RuoJi6/ARTEX。

版本日期发布者变更内容
v0.3.252026-10-29RuoJi6出口 IP 横幅、自动标题、修复发现排序、运行时长不计暂停时间
v0.3.242026-10-26RuoJi6Go 1.26.10(不再信任 eMudhra CA),在发现上提供类似 Burp Repeater 的请求重放,从提示词中移除「flag」字样
v0.3.232026-10-20RuoJi6模型裁判失败时默认转人工审批;可选的任务情报记录
v0.3.222026-10-19RuoJi6Mock 演示自动部署到 Vercel,更新代理,修复定时任务
v0.3.212026-10-15RuoJi6裁判失败时重试,严格的 LLM 请求速率限制
v0.3.202026-10-13RuoJi6修复脚本快照误报,默认模型审查
v0.3.192026-10-12RuoJi6修复命令误判,脚本审查策略配置
v0.3.182026-10-12RuoJi6脚本审查快照、审批旁支问答、审批搜索
v0.3.172026-10-10RuoJi6日历定时任务
v0.3.162026-10-09RuoJi6可选 HTTP Basic Auth;重复发现合并到漏洞文件夹
v0.3.15原版最后一个版本2026-10-07Autumn-27删除路径拦截规则;裁判 token 计量;IM 推送到钉钉/飞书/企业微信/webhook/Telegram/邮件,并加固 SSRF 防护。RuoJi6 于 2026-10-09 将其重新发布为自己的首个版本
v0.3.14登录绕过2026-09-24Autumn-27任务列表增加漏洞列;精简 graph_overview。包含被 ARTXploit 利用的 fail-open 认证缺陷(提交 b55ceb1)
v0.3.132026-09-19Autumn-27全局资产阻止列表(默认 .gov/.edu),任务级允许/阻止列表,收紧裁判输出以避免 fail-open
v0.3.122026-09-17Autumn-27探索广播板;意图软删除/硬删除。v0.3.12 预编译二进制文件镜像于 bear20252026/ARTEX-release
v0.3.112026-09-15Autumn-27审批来源跳转;精简裁判输入;实验性 noa 上下文压缩(norma v0.4.0)
v0.3.102026-09-13Autumn-27DeepSeek 网页搜索后端;执行智能体跨轨迹搜索;add_hint 触发器;enwjx/artex-ymh 攻击型分支的基础版本
v0.3.92026-09-11Autumn-27主智能体多会话;/btw 旁支问题;spawn_task 支持 source_task_ids;修复空轮次问题
v0.3.82026-09-09Autumn-27五层可配置重试;会话头;超时时原地收尾;规划智能体停滞防护
v0.3.72026-08-31Autumn-27最大输出 token 数;可给运行中的执行智能体发消息;流式存档(修复 OOM)。Core-RCE/ARTEX-original-version 保留的基线版本,也是赛事报道中分析的版本
v0.3.62026-08-27Autumn-27LLM 测试检查真实回复;list_facts 分页;工具调用统计
v0.3.52026-08-25Autumn-27每个 LLM 配置可单独开关流式输出;OpenAI Responses API 格式;记录原始 LLM 通信
v0.3.42026-08-24Autumn-27批量任务分类;主智能体可对已完成任务执行 add_intent
v0.3.32026-08-23Autumn-27执行智能体暂停/取消隔离,意图暂停状态,FIFO 准入,执行智能体运行时限 600 s -> 1200 s
v0.3.22026-08-20Autumn-27可从源任务继承;按顺序排列的 LLM 配置链,额度不足时故障切换;执行智能体可暂停/恢复/取消;删除任务时一并清理;任务并发上限

持续关注 ARTEX 动态。

新分支、新版本和新报告,均标注日期并附来源。

带有发光光柱的等距平面