github.com / trhhubsd
trhhubsd/ artex
Go·600 files·commit 4379d69·scanned 17h ago·cached ✓
25/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.
score capped at 25 — 2,224 stars — findings likely legitimate code patterns
verdict accurate?
Created 21 days ago
Created 21 days ago
Research / educational context
Partial architecture graph
threat-state: lowlive
FINDINGS ░▒▓
what this code does░▒▓
What happens when you open, install or run it, from the findings below.
- when runinstall.sh downloads a script and pipes it to the shell:
curl -fsSL https://get.docker.com | sh. install.sh - when runserver/customtool.go and selfupdate/bootstrap.go start system processes. server/customtool.go, selfupdate/bootstrap.go
criticalGo os/exec usageos/exec is used to run external commands. In malware it drops payloads, modifies the system, or opens shells.server/customtool.go
defer cancel()
c := exec.CommandContext(runCtx, interp, tmp)
c.Dir = workDir
c.Env = append(os.Environ(), sessionEnv...) // 会话代理 env+8criticalRemote script piped into a shellA shell script downloads remote content and executes it directly (e.g. `curl … | bash`). The payload is never stored or reviewable and can change server-side — a classic malware/backdoor install pattern.install.sh
if [ "$(ask '自动安装 Docker? (y/n)' y)" = y ]; then
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker "$USER" || true
ok "Docker 安装完成(用户组变更需重新登录后免 sudo)"+10criticalGo os/exec usageos/exec is used to run external commands. In malware it drops payloads, modifies the system, or opens shells.selfupdate/bootstrap.go
cmd := exec.CommandContext(ctx, bin, "-h")
cmd.Env = append(os.Environ(), smokeEnv+"=1")
out, err := cmd.CombinedOutput()+8warningHardcoded IP address in network callFetching data from hardcoded IP addresses instead of domain names is suspicious and may indicate C2 communication.traffic/traffic.go
if strings.HasPrefix(t.addr, ":") {
return "http://127.0.0.1" + t.addr
}
return "http://" + t.addr+5warningGo net/http with hardcoded IPHardcoded public IP addresses in HTTP clients are common in malware C2 configurations.traffic/traffic.go
if strings.HasPrefix(t.addr, ":") {
return "http://127.0.0.1" + t.addr
}
return "http://" + t.addr+4warningHigh-entropy string literalsFound 3 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.web/src/app/(main)/system/llm/_components/retry.tsx+3
warningHigh-entropy string literalsFound 3 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.web/src/components/approval-records.tsx+3
warningHigh-entropy string literalsFound 4 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.web/src/lib/mock/data.ts+3
Scores are heuristics. A “safe” verdict means no known-malicious patterns were found — clever malware can look boring. Wrong verdict? Flag it above; confirmed false positives become regression tests.
540 files scanned @ 4379d69 | 10/30/2026 | heuristic scan — always review manually
risk by category
code execution25
network & exfiltration9
file system access0
obfuscation9
supply chain2
owasp / injection0
telemetry
files 540/600rules hit 10engine v10commit 4379d69
github
trhhubsd/artex
ARTEX · AI autonomous penetration testing system (multi-agent LLM, Go + Next.js) · AI 自主渗透测试系统 · 百度 agent+ 攻防挑战赛冠军
2224
1069
22d
600 files
540 scanned(90%)
4379d69
network indicators░▒▓
Hosts this code names or would connect to. Top 50 of 124, decoded and call-site destinations first. Informational, not scored.
- https://admin.acme.comurlnext to network callweb/src/lib/mock/data.ts:1317 +2 more
- https://acme.comurlnext to network callweb/src/lib/mock/data.ts:1317 +1 more
- https://admin.acme.com/loginurlnext to network callweb/src/lib/mock/data.ts:1737 +8 more
- https://admin.acme.com/dashboardurlnext to network callweb/src/lib/mock/data.ts:1779 +1 more
- https://www.acme.com/searchurlnext to network callweb/src/lib/mock/data.ts:1842 +12 more
- https://api.acme.com/v1/ordersurlnext to network callweb/src/lib/mock/data.ts:1927 +6 more
- https://admin.acme.com/api/usersurlnext to network callweb/src/lib/mock/data.ts:2007 +2 more
- https://www.acme.com/.git/HEADurlnext to network callweb/src/lib/mock/data.ts:2046 +1 more
- https://shop.acme.comurlnext to network callweb/src/lib/mock/data.ts:2131
- https://shop.acme.com/api/importurlnext to network callweb/src/lib/mock/data.ts:2153 +4 more
- https://api.acme.com/v1/users/meurlnext to network callweb/src/lib/mock/data.ts:3673 +2 more
- raw.githubusercontent.compaste hostselfupdate/github.go:28
- https://get.docker.comurlinstall.sh:22
- https://www.docker.com/products/docker-desktop/urlinstall.sh:28
- https://api.telegram.org/botS4/sendMessagetelegram bottest onlynotify/redact_test.go:127
- https://api.telegram.org/bottelegram bottest onlynotify/redact_test.go:158
- http://t.com/api/user/deleteurlnext to network calltest onlydb/intercept_seed_test.go:14
- http://t.com/admin/deleteurlnext to network calltest onlydb/intercept_seed_test.go:15
- http://t.com/api/deleteAllurlnext to network calltest onlydb/intercept_seed_test.go:16
- http://t.com/api/delete_userurlnext to network calltest onlydb/intercept_seed_test.go:17
- http://t.com/api/delete-userurlnext to network calltest onlydb/intercept_seed_test.go:18
- http://t.com/api/removeurlnext to network calltest onlydb/intercept_seed_test.go:19
- http://t.com/files/unlink/3urlnext to network calltest onlydb/intercept_seed_test.go:20
- http://t.com/api/delurlnext to network calltest onlydb/intercept_seed_test.go:21
- http://t.com/api/deliveryurlnext to network calltest onlydb/intercept_seed_test.go:33
- http://t.com/order/detailsurlnext to network calltest onlydb/intercept_seed_test.go:34
- http://t.com/api/delta/syncurlnext to network calltest onlydb/intercept_seed_test.go:35
- http://t.com/user/delegateurlnext to network calltest onlydb/intercept_seed_test.go:36
- http://t.com/remote/statusurlnext to network calltest onlydb/intercept_seed_test.go:38
- https://api.github.com/repos/urlselfupdate/github.go:18
- https://api.openai.com/v1urlserver/server_mgmt.go:2032 +1 more
- https://api.anthropic.comurlserver/server_mgmt.go:2038
- https://redhaze.topurlsidequestion/validation-2026-09-10.json:62 +8 more
- https://id.redhaze.topurlsidequestion/validation-2026-09-10.json:88 +1 more
- https://x.com/arhamkhnzurlweb/src/app/(main)/_components/sidebar/sidebar-support-card.tsx:16
- https://example.gov.cn/loginurlweb/src/app/(main)/system/intercept/assets/page.tsx:27
- https://oapi.dingtalk.com/robot/sendurlweb/src/app/(main)/system/notify/_components/channel-fields.ts:39 +8 more
- https://open.feishu.cn/open-apis/bot/v2/hook/urlweb/src/app/(main)/system/notify/_components/channel-fields.ts:53
- https://qyapi.weixin.qq.com/cgi-bin/webhook/sendurlweb/src/app/(main)/system/notify/_components/channel-fields.ts:62 +1 more
- https://api.telegram.orgurlweb/src/app/(main)/system/notify/_components/channel-fields.ts:96 +4 more
- https://brave.com/search/api/urlweb/src/app/(main)/system/settings/page.tsx:540
- https://tavily.comurlweb/src/app/(main)/system/settings/page.tsx:574
- https://www.acme.comurlweb/src/lib/mock/data.ts:387 +2 more
- https://api.acme.comurlweb/src/lib/mock/data.ts:416 +1 more
- https://www.acme.com/.git/urlweb/src/lib/mock/data.ts:2067 +1 more
- https://api.acme.com/v1/adminurlweb/src/lib/mock/data.ts:2873
- https://shop.acme.com/checkouturlweb/src/lib/mock/data.ts:2874
- https://shop.acme.com/payurlweb/src/lib/mock/data.ts:2875
- https://www.acme.com/robots.txturlweb/src/lib/mock/data.ts:2876
- https://api.deepseek.comurlweb/src/lib/mock/data.ts:3031
architecture░▒▓
entry (1) flagged (6) pkg (225)
625 nodes · 2073 edgesscroll to zoom · click node to jump to finding