恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
ARTEXX 开发者指南:从源码编译到本地开发测试,一次跑通单二进制渗透测试系统
首页
资讯中心
/
ARTEXX 开发者指南:从源码编译到本地开发测试,一次跑通单二进制渗透测试系统
ARTEXX 开发者指南:从源码编译到本地开发测试,一次跑通单二进制渗透测试系统
发布时间:2026/10/17 6:09:33
【免费下载链接】ARTEXXARTEXAI 自主渗透测试系统。百度 agent 攻防挑战赛冠军项目。项目地址https://gitcode.com/gh_mirrors/ar/ARTEXX点击查看免费下载ARTEXXARTEX是一套Go 后端 Next.js 前端的 AI 自主渗透测试系统。这篇开发者指南带你完成源码编译 → 配置启动 → 本地开发 → 测试与发布的完整流程最终得到一个可单文件部署的artex二进制并掌握日常开发调试的全部常用命令。克隆仓库ARTEXX 源码结构与目录速览git clone https://gitcode.com/gh_mirrors/ar/ARTEXX cd ARTEXX仓库核心目录速览熟悉这些目录后读源码会轻松很多目录职责cmd/artex/主入口HTTP 服务、流量代理、优雅退出核心逻辑见 main.goserver/net/http路由、JWT 鉴权、SSE 推送、任务引擎与生命周期管理agent/LLM 多 agent 核心goals / planner / worker / mainagentdb/PostgreSQL 数据层pgx与幂等建表脚本 schema.sqlweb/Next.js 前端静态导出后内嵌进后端二进制traffic/流量录制代理MITM CA 全程留痕skills/agent 可加载的技能包如 api-recon、scopesentry环境准备Go、Node.js 与 PostgreSQL按 go.mod 要求开发环境需要Go 1.26go.mod声明go 1.26.3Node.js 20与 npm前端构建与热更新PostgreSQL 16无现成实例时一条命令起一个docker run -d --name artex-pg -p 5432:5432 -e POSTGRES_USERartex -e POSTGRES_PASSWORDyourpass -e POSTGRES_DBartex postgres:16-alpineLLM API KeyANTHROPIC_API_KEY或OPENAI_API_KEYAI 探索功能依赖它不配也能编译只是 agent 无法工作rsync可选build.sh 同步前端产物时需要前端静态导出build:static 生成内嵌产物ARTEXX 前端是 Next.js 静态导出最终通过go:embed打进 Go 二进制。手动编译时先构建静态资源cd web npm ci npm run build:static # 等价于 NEXT_EXPORT1 next build产物在 web/out cd ..npm run build:static的产出是web/out纯静态目录见 package.json 中的 scripts 定义。关键一步把它拷进内嵌目录否则后端不会带上前端cp -r web/out server/webui/distserver/webui_embed.go 通过//go:embed all:webui/dist读取该目录server/webui_stub.go 则是未内嵌时的兜底实现访问页面会直接返回 404 提示。编译单二进制embedui 构建标签是关键在仓库根目录执行CGO_ENABLED0 go build -tags embedui -o artex ./cmd/artex三个细节决定成败-tags embedui不加它编译出的二进制不含前端8787 端口访问页面会报「前端未内嵌到此二进制」CGO_ENABLED0纯 Go 静态编译无 C 依赖交叉编译也方便产物是单文件artex前端、API、SSE 全部由它提供。首次启动配置数据库与 LLM 密钥./artex启动前只需两处配置1️⃣ 数据库连接——二选一环境变量优先解析逻辑见 config.PostgresDSN复制 config.example.json 为config.json填入database字段支持完整dsn或分字段两种写法或设置环境变量export ARTEX_PG_DSNpostgres://artex:yourpass127.0.0.1:5432/artex?sslmodedisable。2️⃣ LLM 密钥export ANTHROPIC_API_KEYsk-...或OPENAI_API_KEY也可以启动后在 UI 的「LLM 配置」页填写。然后启动./artex # 默认 -addr :8787 -proxy 127.0.0.1:8788 # 或交给守护脚本崩溃自动退避重启详见 start.sh 头部注释 ./start.sh两个省心的机制数据库 schema 随每次启动幂等重跑db/schema.sql含ADD COLUMN/CREATE INDEX IF NOT EXISTS无需手动迁移启动 banner 会打印版本、运行时与监听地址方便确认。开发模式dev.sh 一键起后端与前端热更新日常开发推荐 dev.sh——它并行拉起三件事Ctrl-C一并退出./dev.sh # 后端(:8787) 流量代理(:8788) 前端 next dev(:5173)后端go run ./cmd/artex -addr :8787 -proxy 127.0.0.1:8788不内嵌前端见 dev.sh前端cd web npm run dev端口 5173带热更新/api反代dev 模式下 next.config.mjs 会把所有/api/*请求代理到http://localhost:8787可用环境变量AUTOPENTEST_API覆盖后端地址。所以开发时浏览器打开的是http://localhost:5173不是 8787改前端代码即时生效。没有后端也能预览 UIMock 模式渲染无数据请求cd web NEXT_PUBLIC_MOCK1 npm run dev本地测试go test 与咨询锁机制确认config.json指向的数据库可连后跑全量测试go test ./...值得了解的细节db/agent/server三个包的测试都会先抢占同一把 PostgreSQL咨询锁pg_advisory_lock把跨包的清理操作串行化避免互相删除数据实现见 db/testmain_test.go。无数据库可用时依赖 PG 的测试会自动跳过纯逻辑测试照常运行。竞态检测go test -race ./...项目自带的验证命令参考 sidequestion/VALIDATION.md前端代码质量cd web npm run checkBiome lint 格式检查跨平台发布build.sh 一键打包 Release需要发布多平台版本时构建流程注释详见 build.sh 头部./build.sh --release # 产物dist/artex-版本-linux-amd64.zip、darwin / windows …默认目标Linux / macOS amd64 arm64、Windows amd64可用ARTEX_TARGETS自定义如ARTEX_TARGETSlinux/amd64,windows/amd64 ./build.sh --release版本号默认由git describe --tags注入go run本地构建显示为devdev 版本会禁用页面一键更新避免正式版覆盖调试二进制UPX 压缩默认关闭可能与部分 Linux 内核/虚拟化环境不兼容确认环境兼容时可显式加--upx。常见问题速查ARTEXX 编译与启动报错排查现象原因与解决8787 端口访问页面返回「前端未内嵌到此二进制」编译时漏了-tags embedui或没执行cp -r web/out server/webui/dist启动即报「未找到数据库配置」ARTEX_PG_DSN未设置且config.json缺少database段两者必须提供其一改前端代码没生效开发模式请开 51738787 上运行的是内嵌的静态副本改完需重新构建拷贝流量代理端口外部访问不到有意设计-proxy默认只绑127.0.0.1:8788代理仅本机使用开发常用命令速查场景命令开发模式后端代理前端热更新./dev.sh全量单元测试go test ./...前端热更新cd web npm run dev构建单二进制CGO_ENABLED0 go build -tags embedui -o artex ./cmd/artex多平台发布包./build.sh --release守护启动崩溃自动重启./start.sh核心模块快速索引后端入口 cmd/artex/main.go、内嵌前端 server/webui_embed.go、配置解析 config/config.go、开发脚本 dev.sh、构建脚本 build.sh、建表脚本 db/schema.sql。⚠️合规提醒ARTEXX 采用 AGPL-3.0 协议开源仅供个人学习与本地隔离环境技术验证严禁对任何线上系统发起扫描、探测或攻击相关法律风险由使用者自行承担。赞分享【免费下载链接】ARTEXXARTEXAI 自主渗透测试系统。百度 agent 攻防挑战赛冠军项目。项目地址https://gitcode.com/gh_mirrors/ar/ARTEXX点击查看免费下载相关推荐Freelens 源码构建与开发全指南从零编译、捆绑二进制、HMR 开发到测试与调试Freelens 源码构建与开发全指南从零编译、捆绑二进制、HMR 开发到测试与调试 FreelensFree IDE for Kubernetes是一个云原生开发工具运维KQL威胁狩猎查询高级技巧优化查询性能的7个实用方法KQL威胁狩猎查询高级技巧优化查询性能的7个实用方法 在Microsoft Sentinel和Microsoft Defender XDR中进行威胁狩猎时KMoya 本地开发与测试指南从 Carthage 依赖引导到 ⌘U 一键跑通全量测试Moya 本地开发与测试指南从 Carthage 依赖引导到 ⌘U 一键跑通全量测试 本指南面向想要为 Moya 提交代码、或者想要在本地完整跑通其测试套件开发工具上一篇Android Testing Guide入门轻松掌握JUnit基础与单元测试实战下一篇pwndbg终极指南掌握GDB插件让逆向工程更高效创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考