Skill Trust Decision

vigilath-geo

Vigilath GEO 技能本体代码无恶意行为,但安装方式存在供应链风险:curl|bash 管道执行远程脚本,且运行时从外部域名下载额外技能文件,域名被入侵时可直接向宿主注入任意 SKILL.md。

Install decision first Source: ClawHub Scanned: 18 days ago
Files 5
Artifacts 8
Violations 0
Findings 3
Most direct threat evidence
01
用户执行 curl|bash 安装命令 Entry · SKILL.md
02
install.sh 从 vigilath.cn 下载并执行安装逻辑 Escalation · install.sh
03
install.sh 循环从远程获取其他技能 SKILL.md Escalation · install.sh

Why this conclusion was reached

2/4 dimensions flagged
Pass
Declared vs actual capability

Declared resources and inferred behavior are broadly aligned.

Block
Hidden execution and egress

2 high-risk artifacts or egress signals were extracted.

Block
Attack chain and severe findings

The report includes 4 attack-chain steps and 2 severe findings.

Pass
Dependencies and supply chain hygiene

Dependencies are present but no obvious high-risk issue stands out.

Attack Chain

01
用户执行 curl|bash 安装命令

Entry · SKILL.md:5

02
install.sh 从 vigilath.cn 下载并执行安装逻辑

Escalation · install.sh:5

03
install.sh 循环从远程获取其他技能 SKILL.md

Escalation · install.sh:120

04
攻击场景:vigilath.cn 被入侵后,攻击者可替换 install.sh 或注入恶意 SKILL.md 到宿主

Impact · install.sh:5

What drove the risk score up

curl|bash 管道执行远程脚本 +15

install.sh:5,19 — 经典危险模式,域名被入侵时安装过程可被完全劫持

运行时远程下载额外技能 +15

install.sh:120-127 — 循环从 vigilath.cn 下载其他 SKILL.md,不自包含

安装脚本写入配置文件 +10

install.sh:168-173 — 写入 ~/.vigilath/config,带 token 持久化

网络访问能力已声明 +-5

geo_client.py 需调用外部 API,属于正常业务需要

Most important evidence

High Supply Chain

curl|bash 管道安装存在域名劫持风险

SKILL.md 和 install.sh 首行都展示了 `curl -fsSL https://vigilath.cn/skill/install.sh | bash` 命令。这是已知的危险模式:当 vigilath.cn 域名被入侵或 DNS 被劫持时,安装过程可被完全替换,攻击者可向宿主注入任意 SKILL.md 和代码。

install.sh:5
改用本地安装方式:先下载 install.sh 审查代码,再用 bash local_install.sh 执行。或直接复制本地 SKILL.md 和 scripts/ 而非从远程拉取。
High Supply Chain

运行时从外部域名下载额外技能文件

install.sh 的 fetch() 函数在安装时会从 vigilath.cn 动态下载其他技能(site-audit, seo-audit 等)的 SKILL.md 文件。安装过程不自包含,依赖外部域名持续可用且未被篡改。

install.sh:120
要求所有技能文件本地化,或在安装时通过 --local 参数跳过远程下载。
Medium Persistence

安装脚本写入配置文件到用户目录

install.sh 将 API token 和 base URL 写入 ~/.vigilath/config(权限 600)。这是凭证持久化行为,虽有合理解释(授权需要),但扩大了凭证的暴露面。

install.sh:168
优先使用环境变量而非文件存储凭证。如需文件,确保目录本身也有适当权限限制。

Declared capability vs actual capability

Network Pass
Declared READ
Inferred READ
geo_client.py:91-98 所有 API 调用均有正当业务用途
Filesystem Pass
Declared WRITE
Inferred WRITE
install.sh:168-173, geo_client.py:62-67 写配置有合理用途
Environment Pass
Declared READ
Inferred READ
geo_client.py:44-45 仅读取 VIGILATH_* 相关变量

Suspicious artifacts and egress

Critical Dangerous Command
curl -fsSL https://vigilath.cn/skill/install.sh | bash

install.sh:5

Critical Dangerous Command
curl | bash

install.sh:19

Medium External URL
https://vigilath.cn/api/agent/v1

README.md:178

Medium External URL
https://vigilath.cn/skill/install.sh

install.sh:5

Medium External URL
https://vigilath.cn

install.sh:13

Medium External URL
https://vigilath.cn/skill

install.sh:26

Medium External URL
https://clawhub.ai/user/dz1995

skill-card.md:9

Medium External URL
https://clawhub.ai/dz1995/skills/vigilath-geo

skill-card.md:39

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
无第三方依赖 N/A pip No geo_client.py 使用纯标准库,无供应链漏洞传递风险

File composition

5 files · 1182 lines
Markdown 3 files · 516 linesPython 1 files · 457 linesShell 1 files · 209 lines
Files of concern · 3
README.md Markdown · 228 lines
https://vigilath.cn/api/agent/v1
install.sh Shell · 209 lines
curl|bash 管道安装存在域名劫持风险 · 运行时从外部域名下载额外技能文件 · 安装脚本写入配置文件到用户目录 · curl -fsSL https://vigilath.cn/skill/install.sh | bash · curl | bash · https://vigilath.cn/skill/install.sh · https://vigilath.cn · https://vigilath.cn/skill
skill-card.md Markdown · 60 lines
https://clawhub.ai/user/dz1995 · https://clawhub.ai/dz1995/skills/vigilath-geo
Other files · geo_client.py · SKILL.md

Security positives

geo_client.py 纯标准库零第三方依赖,无已知漏洞传递
所有代码可读、无混淆、无 Base64/eval 隐藏逻辑
凭证处理规范:token 不硬编码、不打印、chmod 600 保护
功能与文档高度一致,无阴影功能
check/mention/industry 等核心功能为免登录设计,不强制收集凭证
设备码授权流程合理(token 不过剪贴板/历史)
GitHub 仓库开源可审计(https://github.com/dz1995/GEO-skills)