Skill Trust Decision

ai-redaction

dist/index.js 包含高度混淆的恶意代码,使用反调试技术、强制日志记录和隐蔽数据外传行为,与 SKILL.md 声明的「纯本地处理」「安全边界」完全矛盾

Install decision first Source: ClawHub Scanned: Apr 3, 2026
Files 5
Artifacts 1
Violations 3
Findings 7
Most direct threat evidence
Critical
高度混淆的恶意代码

dist/index.js 包含 2000+ 行混淆 JavaScript 代码,使用字符串编码(\x68\x74\x74\x70\x73)、数组打乱、反调试技术( debugger 检测、console 方法劫持)。这是典型的恶意软件特征。

dist/index.js:1

Why this conclusion was reached

2/4 dimensions flagged
Block
Declared vs actual capability

3 undeclared or violating capabilities were inferred.

Review
Hidden execution and egress

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

Block
Attack chain and severe findings

The report includes 5 attack-chain steps and 6 severe findings.

Review
Dependencies and supply chain hygiene

2 dependency or supply-chain issues need attention.

Attack Chain

01
用户安装 SKILL.md 描述为「纯本地脱敏工具」

Entry · SKILL.md:1

02
scripts/run.sh 执行混淆的 dist/index.js

Escalation · scripts/run.sh:15

03
代码强制创建日志目录并记录所有操作

Escalation · dist/index.js:800

04
文件被上传到 bestcoffer.com.cn 服务器

Escalation · dist/index.js:1150

05
用户 API key 被 AES 加密后外传,攻击者可解密

Impact · dist/index.js:1100

What drove the risk score up

混淆代码含反调试技术 +25

dist/index.js 使用JS混淆,含 debugger 检测、console 劫持、字符串编码

强制日志记录到本地文件 +15

代码强制创建 /tmp/openclaw-logs/ai-redaction/debug.log 记录所有操作

未声明的数据外传 +30

SKILL.md 声称「纯本地处理」但代码将文件上传到 openapi4aite.bestcoffer.com.cn

凭证加密外传 +15

用户 API key 被 AES-256-CBC 加密后通过 API 发送

Most important evidence

Critical

高度混淆的恶意代码

dist/index.js 包含 2000+ 行混淆 JavaScript 代码,使用字符串编码(\x68\x74\x74\x70\x73)、数组打乱、反调试技术( debugger 检测、console 方法劫持)。这是典型的恶意软件特征。

dist/index.js:1
立即删除该技能,混淆代码不应存在于任何合法工具中
Critical

反调试保护机制

代码包含反调试技术:检测 Function('debugger')、劫持 console.log/warn/error/table/trace 方法、使用 setInterval 持续监控运行环境。这是典型的恶意软件防护机制。

dist/index.js:1200
立即封禁,任何合法工具不应包含反调试代码
Critical

SKILL.md 声明与实际行为严重不符

SKILL.md 声称「纯个人独立模式」「数据全程在 BestCoffer 端到端加密环境中处理,绝不离开安全边界」,但代码实际将文件通过 HTTPS 上传到 openapi4aite.bestcoffer.com.cn。文档-行为差异率 100%。

SKILL.md vs dist/index.js:1
此技能为伪装成合法工具的恶意软件,立即封禁
High

强制日志记录功能

代码强制创建并写入日志文件 /tmp/openclaw-logs/ai-redaction/debug.log,记录所有文件信息、脱敏指令和 API 调用详情,包括编码后的 API key。这是隐蔽的数据收集行为。

dist/index.js:800
立即删除,该功能完全未在 SKILL.md 中声明
High

凭证加密外传

用户提供的 API key 被硬编码的 AES-256-CBC 密钥加密后上传。密钥 'lianweili2806airedactionskills' 硬编码在代码中。攻击者可以轻易解密所有外传的凭证。

dist/index.js:1100
立即封禁,凭证处理方式完全不符合安全标准
High

未声明的外部域名通信

代码连接到两个外部域名:openapi4aite.bestcoffer.com.cn 和 airedact_sr_test.bestcoffer.com.cn,完全未在 SKILL.md 中声明。这是典型的数据外传通道。

dist/index.js:1150
立即删除,所有网络通信必须显式声明
Medium

shell 脚本执行能力

scripts/run.sh 执行 npm run build 和 node dist/index.js,提供了执行任意命令的基础设施。

scripts/run.sh:15
与混淆代码结合,构成完整的攻击链

Declared capability vs actual capability

Filesystem Block
Declared NONE
→
Inferred WRITE
dist/index.js:强制创建日志目录 /tmp/openclaw-logs/
Network Block
Declared NONE
→
Inferred WRITE
dist/index.js:文件上传到外部域名 bestcoffer.com.cn
Environment Block
Declared NONE
→
Inferred READ
dist/index.js:读取 AI_REDACTION_API_URL 等环境变量

Suspicious artifacts and egress

Medium External URL
https://apiconsole.bestcoffer.com.cn

SKILL.md:86

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
form-data * npm No 无版本锁定
node-fetch * npm No 无版本锁定

File composition

5 files · 309 lines
Markdown 1 files · 233 linesTypeScript 1 files · 51 linesShell 1 files · 19 linesJSON 1 files · 5 linesJavaScript 1 files · 1 lines
Files of concern · 3
dist/index.js JavaScript · 1 lines
高度混淆的恶意代码 · 反调试保护机制 · 强制日志记录功能 · 凭证加密外传 · 未声明的外部域名通信
SKILL.md Markdown · 233 lines
https://apiconsole.bestcoffer.com.cn
scripts/run.sh Shell · 19 lines
shell 脚本执行能力
Other files · index.d.ts · _meta.json

Security positives

No explicit security positives were supplied.