Skill Trust Decision

ctct-security-patrol

功能声明相对透明,但存在多维度隐私侵蚀设计:设备持久化指纹(agent_id)、MAC+主机名全量上报、完整Skill清单收集与长期关联,构成系统级隐私风险。代码本身无恶意行为但隐私设计激进。

Install decision first Source: Manual upload Scanned: Apr 5, 2026
Files 3
Artifacts 2
Violations 0
Findings 6
Most direct threat evidence
High Sensitive Access
持久化设备指纹形成长期追踪能力

agent_id在首次--push时生成并永久写入~/.openclaw/.agent-id,跨会话复用。服务端可积累该设备的历史安全档案,实现设备指纹化追踪。

scripts/openclaw-hybrid-audit-changeway.js:1238

Why this conclusion was reached

1/4 dimensions flagged
Pass
Declared vs actual capability

Declared resources and inferred behavior are broadly aligned.

Review
Hidden execution and egress

2 lower-risk artifacts were extracted and still need context.

Block
Attack chain and severe findings

The report includes 0 attack-chain steps and 3 severe findings.

Review
Dependencies and supply chain hygiene

Dependency information is incomplete, so supply-chain confidence stays limited.

What drove the risk score up

持久化设备指纹设计 +15

agent_id写入~/.openclaw/.agent-id并跨会话复用,导致服务端积累设备历史档案

全量隐私数据上报 +15

--push模式将MAC地址、主机名、完整Skill清单全量POST至auth.ctct.cn,无数据最小化

签名机制无认证能力 +10

X-SIGN使用SHA-256(mac+hostname+timestamp+nonce)但无预共享密钥,服务端无法验证请求来源,仅起指纹作用

shadow文件哈希基线覆盖 +5

generateConfigBaseline覆盖/etc/shadow(仅哈希),虽合理但覆盖了最高敏文件

Most important evidence

High Sensitive Access

持久化设备指纹形成长期追踪能力

agent_id在首次--push时生成并永久写入~/.openclaw/.agent-id,跨会话复用。服务端可积累该设备的历史安全档案,实现设备指纹化追踪。

scripts/openclaw-hybrid-audit-changeway.js:1238
移除agent_id持久化设计,改为每次生成临时会话ID或完全不使用设备标识
High Data Exfil

全量隐私数据上报外部服务器

--push模式下将MAC地址、主机名、完整Skill清单(包含slug/author/version/ownerId)全量POST至auth.ctct.cn,无数据最小化。Skill清单揭示本机工具组合,MAC+主机名实现设备唯一标识。

scripts/openclaw-hybrid-audit-changeway.js:1263
上报前做数据最小化处理(仅上传哈希摘要而非完整清单),或使用临时会话标识替代持久化agent_id
High Doc Mismatch

X-SIGN签名机制声明为'非设备认证'实际构成额外指纹

文档承认'此机制不构成设备身份认证',但X-SIGN=SHA-256(mac+hostname+timestamp+nonce)与MAC+主机名同时发送,实际上在服务端组合了更多设备标识信号。

SKILL.md:35
如果签名机制不提供认证价值,应移除或改为HMAC以提供真实完整性保护
Medium Sensitive Access

环境变量敏感关键字扫描(名称层面)

[3/14]通过/proc/{pid}/environ读取openclaw-gateway进程环境变量,匹配SECRET/TOKEN/PASSWORD/KEY/PRIVATE等关键字,命中结果(变量名)被记录进报告。虽然值已脱敏但变量名本身即构成敏感信息泄露。

scripts/openclaw-hybrid-audit-changeway.js:347
此扫描本身是安全工具的合理行为,但应在SKILL.md中明确声明'读取网关进程环境变量名(仅名称脱敏)'
Medium Sensitive Access

shadow文件哈希基线覆盖范围过广

generateConfigBaseline将/etc/shadow纳入哈希基线范围。虽然仅存哈希值(/etc/shadow内容不可逆),但覆盖最高权限凭证文件存在理论风险。

scripts/openclaw-hybrid-audit-changeway.js:262
排除/etc/shadow,或在SKILL.md中明确说明基线仅存哈希值无泄露风险
Low Supply Chain

无第三方依赖,代码自包含

Skill仅依赖Node.js内置模块(fs/path/os/crypto/child_process/http/https),无外部npm包依赖。代码不引入供应链风险。

scripts/openclaw-hybrid-audit-changeway.js:1
无需行动,依赖管理良好

Declared capability vs actual capability

Filesystem Pass
Declared READ
Inferred WRITE
scripts/openclaw-hybrid-audit-changeway.js:83 fs.writeFileSync写入报告、fs.writeFileSync写入agent-id、baseline
Shell Pass
Declared WRITE
Inferred WRITE
17处spawnSync调用,命令白名单已声明,风险可控
Network Pass
Declared READ
Inferred WRITE
--push模式下POST至auth.ctct.cn,上报隐私数据
Environment Pass
Declared NONE
Inferred READ
[3/14]读取/proc/{gwPid}/environ扫描SECRET/TOKEN/PASSWORD变量名(值脱敏但名称明文记录)
Skill Invoke Pass
Declared NONE
Inferred READ
[5/14]扫描所有skill目录生成哈希基线,[14/14]枚举完整skill清单上报
Browser Pass
Declared NONE
Inferred NONE
无浏览器相关代码
Clipboard Pass
Declared NONE
Inferred NONE
无剪贴板相关代码
Database Pass
Declared NONE
Inferred NONE
无数据库相关代码

Suspicious artifacts and egress

Medium External URL
https://auth.ctct.cn:10020/changeway-open/api/pushAuditData

SKILL.md:32

Medium External URL
https://auth.ctct.cn:10020/changeway-open/api/skills/assessment

SKILL.md:33

Dependencies and supply chain

There are no structured dependency warnings.

File composition

3 files · 1973 lines
JavaScript 1 files · 1447 linesMarkdown 2 files · 526 lines
Files of concern · 2
scripts/openclaw-hybrid-audit-changeway.js JavaScript · 1447 lines
持久化设备指纹形成长期追踪能力 · 全量隐私数据上报外部服务器 · 环境变量敏感关键字扫描(名称层面) · shadow文件哈希基线覆盖范围过广 · 无第三方依赖,代码自包含
SKILL.md Markdown · 372 lines
X-SIGN签名机制声明为'非设备认证'实际构成额外指纹 · https://auth.ctct.cn:10020/changeway-open/api/pushAuditData · https://auth.ctct.cn:10020/changeway-open/api/skills/assessment
Other files · cron-setup.md

Security positives

SKILL.md文档极为详细,用户交互流程完整,有明确的知情同意机制
shell命令执行使用严格白名单(15个固定命令名),Unix平台shell:false,注入风险低
命令参数均为硬编码数组,无用户输入拼接
敏感数据detail字段(完整命令输出)仅本地落盘不上报,data最小化原则(仅上传item+brief)
无eval/Base64解码/裸IP请求等混淆或恶意代码模式
无反向shell、凭证收割后外传等确认恶意行为
script头部有@integrity sha256注释用于完整性验证
cron命令中明确禁止--push,定时任务不自动上报
防重放机制(时间戳+nonce)虽无认证能力但有基本保护