sharenjun / ARTEX-main
git clone https://github.com/sharenjun/ARTEX-main.git
v0.4.2 · 9d ago
可以提交issue和优化思路,会维护
+2
stars, 24h · #5,799
+~14
stars, 7 days · #6,541
+138
stars, 30 days · #3,754
138
★ total · +11% this week
72
forks · 1 open issues
Star history (as recorded here)
LanguageGo
LicenseAGPL-3.0
Created2026-10-08 (14d ago)
Last push9d ago
Watchers1
OwnerUser
Links
README excerpt
# ARTEX AI 自主渗透测试系统(Go 后端 + Next.js 前端) # 可以提交issue 有空会维护,非原作者。一些更新可能会有负面优化,有需要可以提出。 🌐 **在线 Demo**: https://artex-demo.vercel.app/ --- ## v0.4.0 更新 本次增加 ScopeSentry 后台同步历史、逐项失败重试、大批量分页恢复和原始 JSON 来源追踪;任务完成前评估剩余工作,并让 Worker 在限时收尾阶段保存已有结果。同步页和任务页展示对应进度、停止理由与未完成项,同时修复 Windows 证据保存、Python 工具及 Skill 路径兼容问题。 完整功能变化、代码组织调整、验证范围和升级建议见 v0.4.0 Release,历史版本见 CHANGELOG。 ## 截图预览 > 完整交互见在线 Demo。 | 仪表盘(总览 / Token 消耗 / 活动流) | 任务列表 | | :---: | :---: | | | | | 任务 · 执行过程(会话 / 工具调用) | 探索链路 | | :---: | :---: | | | | | 发现 | 资产 | | :---: | :---: | | | | | 资产覆盖图(力导向布局 · 已测高亮 · 节点折叠展开) | | :---: | | | | 流量录制 | 人在环路对话 | | :---: | :---: | | | | | Agent 管理 | LLM 配置 | | :---: | :---: | | | | | 拦截审批 | 后端日志 | | :---: | :---: | | | | --- ## 审批记录详情 全局「审批记录」、任务内「拦截审批」及对话中的审批卡片均支持展开查看详情。展示结构参考 AegisHook 的审批详情组件,沿用 ARTEX 的组件和主题: ## 资产同步(ScopeSentry) 支持从 ScopeSentry 直接同步资产数据,免去重复收集: - 在「**资产同步**」页填 ScopeSentry 的地址与 API Key,接入数据源; - 按**项目**或**任务**维度选择要同步的目标与资产类型(域名 / 子域 / IP / 端口 / 站点 / 端点…); - 一键导入并按公司资产范围归并,直接进入 ARTEX 的资产图供 agent 探索使用。 - 后台任务持续运行,离开或刷新页面后可从历史记录查看逐类型进度、失败原因和源记录;支持恢复中断任务及仅重试失败记录。 - 拉取记录数与独立资产变更分别统计,逐项提供原始 JSON 下载,避免把部分成功误认为全部完成。 --- ## 安装 > 依赖数据库 **PostgreSQL**;探索需配置 **LLM**(`ANTHROPIC_API_KEY` 或 `OPENAI_API_KEY`,也可在 UI 里配)。 ### 发布产物与平台支持 Docker Hub 镜像默认为 `dgddw/artex`: - 正式版本同时提供版本标签(例如 `vX.Y.Z`)和 `latest`;预发布只推版本标签,不覆盖 `latest`。 - 每个镜像标签都是包含 **Linux AMD64 / ARM64** 的多架构清单,Docker 自动选择宿主机架构;不需要指定 `--platform`。 - `docker-compose.yml` 同样不固定架构。可在 `.env` 用 `ARTEX_IMAGE` 自定义仓库,用 `ARTEX_TAG` 固定版本。 [code] GitHub Release 的程序包为 `artex-X.Y.Z-系统-架构.zip`,每包包含内嵌前端的程序、对应系统的守护启动脚本、`skills`、示例配置及 README: | 系统 | 架构 | 文件后缀 | | --- | --- | --- | | Linux | AMD64 / ARM64 | `linux-amd64.zip` / `linux-arm64.zip` | | macOS | AMD64 / ARM64 | `darwin-amd64.zip` / `darwin-arm64.zip` | | Windows | AMD64 | `windows-amd64.zip` | 同一 Release 附带覆盖这五个 zip 的 `SHA256SUMS`。下载程序包和清单到同一目录后可验证: [code] 只下载当前平台时,可从清单中取对应的一行执行检查;Windows 可用 `Get-FileHash -Algorithm SHA256` 与清单对应值比对。 维护者发布前需在 GitHub 仓库 Secrets 设置 `DOCKERHUB_USERNAME`、`DOCKERHUB_TOKEN`(对目标仓库有推送权限)。可用仓库 Variable `DOCKERHUB_IMAGE` 覆盖默认镜像仓库。推送 `vX.Y.Z` 或 `vX.Y.Z-rc.1` 标签会触发发布;CHANGELOG 必须包含该版本的非空说明,并用作 Release 正文。`doc/` 和 `docs/` 仅保存在本地,不提交到仓库;CI 会拒绝跟踪这两个目录的提交。流程验证测试布局、Linux 数据库竞态回归、Windows 兼容和前端,再构建五个平台、校验 zip、推送和检查双架构镜像,全部通过后创建 Release。本地可用 `ARTEX_BUILD_VERSION=vX.Y.Z ./build.sh --release` 生成全部程序包及校验清单。 ### 方式一:一键安装脚本(推荐) [code] 脚本会:检测 / 自动安装 Docker → 让你选 **① 全部 Docker** 或 **② 本地编译运行**: - **① 全部 Docker**:填一个 Postgres 密码(可回车随机)→ 自动写 `.env` → `docker compose up -d`。 - **② 本地运行**:选数据库(连已有 / 用 Docker 起一个)→ 生成 `config.json` → `go` 编译内嵌单二进制 → 启动。 装好后打开 **http://localhost:8787**(首次进入 `/setup` 设置管理员密码)。 ### 方式二:Docker Compose(手动) [code] 镜像已含常用工具(ripgrep/curl/vim/npm/nmap…);`./skills` 与 `./data` 以绑定挂载持久化。 远程 MCP 可在系统设置中选择 `http`(Streamable HTTP)或 `sse`(旧版 SSE)。 旧版 SSE 服务通常使用 `GET /sse` 建立事件流,再通过服务返回的 `/message?sessionId=...` 接收 JSON-RPC 请求;配置时将 URL 填为 `/sse`,请求头按 `Authorization=Bearer ` 填写。 ### 方式三:下载预编译二进制(Releases) 到 Releases 下载对应平台的 zip,解压后得到 `a