failsafe-security/artex
安全从审计源码构建、仅绑定本地的 ARTEX 多智能体安全测试环境。
项目介绍
FailSafe ARTEX 是 ARTEX 的一个源码构建发行版。ARTEX 本身是一个开源多智能体安全测试框架;2026 年 11 月,预构建的 tomicdd/artex Docker 镜像被发现含未认证命令执行后门,这个仓库因此从经过审计的 v0.3.15 源码标签重新编译,并保留上游完整运行时:Node 22、Playwright、Chromium 和 nmap。
与原版相比,部署上的具体改动包括:控制台只绑定 127.0.0.1:8787,不对外发布录制代理,增加 no-new-privileges,持久化 JWT 密钥,基础镜像按 digest 固定,自更新指向本分支并关闭一键更新。API、UI、技能、浏览器 MCP 和浏览器驱动侦察功能与上游一致。
适用对象是希望在本地运行 ARTEX 代理栈、又不想拉取被报告含后门的上游镜像的安全测试人员。
快速使用
需要 Docker Engine 和 Compose v2,以及约 5 GB 空闲磁盘(浏览器栈和 Chromium 占大部分空间)。如果只有独立的 docker-compose 命令,把下面的 docker compose 替换掉即可。
cp .env.safe.example .env.safe
chmod 600 .env.safe
# 编辑 .env.safe:设置 POSTGRES_PASSWORD,可选填写 LLM key
docker compose --env-file .env.safe -f docker-compose.safe.yml up -d --build
构建完成后打开 本地控制台 完成首次设置。如果 LLM key 留空,需要先在控制台配置提供方再开始扫描。查看状态和日志:
docker compose --env-file .env.safe -f docker-compose.safe.yml ps
docker compose --env-file .env.safe -f docker-compose.safe.yml logs -f artex
停止但保留数据用 docker compose --env-file .env.safe -f docker-compose.safe.yml down;加上 -v 会连同数据库和 ARTEX 数据一起删除。
也可以不走 Docker 直接编译:把 Web UI 构建到 server/webui/dist,用 CGO_ENABLED=0 go build -tags embedui 编译,然后在设置 ARTEX_PG_DSN 指向自控 PostgreSQL 数据库的情况下运行 ./artex -addr 127.0.0.1:8787 -proxy 127.0.0.1:8788。这条路径不会安装 Node、Playwright、Chromium 或侦察命令行工具。
构建验证
make verify 会检查已知植入物指标(verifyCaptcha、tomicdd、congdonglinux),输出二进制 SHA-256 并列出镜像 ID。该标签的完整审计见 审计报告。
使用约束与数据处理
ARTEX 是能执行 shell 命令和发送网络流量的自主代理,只能用于自己拥有或获得明确书面授权测试的系统。容器以 root 运行,与上游一致,因为原始 nmap 扫描和运行时 apt/npm -g 安装依赖这一点;这里的加固限于控制台只绑回环、不发布代理、no-new-privileges、持久化 JWT 密钥和固定 digest 的基础镜像。
.env.safe 保存数据库密码和可选的 LLM key,应保持 0600 权限并排除在版本控制之外。扫描证据可能包含凭据、令牌和客户数据,/app/data 与数据库都应按敏感数据处理。备份时把 pgdata、artex_data 和 artex_key 三个卷一起归档。更新前需先审阅上游差异、重新构建、运行 make verify 并更新审计报告,具体流程见 上游说明。项目采用 AGPL-3.0,本分支的修改也以同一许可证发布。
HotRepo 点评
仓库在 2026-11-10 出现在新项目榜,几小时内新增 107 Star,但没有记录到 GitHub 全语言日榜名次。这只有单次快照,只能说明当天的数量,无法据此判断持续热度。对读者而言,最需要核实的是源码构建出的二进制与审计结论能否复现,因为项目成立的前提正是另一个发行版被入侵。README 给出了具体的验证命令和审计报告,但信任基础建立在这些产物上,而不是仓库年龄或 Star 数。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。