Skill Trust Decision
wechat-ai-bridge
配置文件明文存储微信API凭证,代码向未声明的外部URL传输用户联系数据,存在凭证泄露和信息外泄风险
Most direct threat evidence
01
部署包含wechat.yaml的skill到AI Agent环境 Entry · wechat.yaml
02
攻击者通过Git history或配置泄露获取硬编码凭证 Escalation · wechat.yaml
03
利用凭证伪造微信消息或窃听通信 Impact · wechat.yaml
Why this conclusion was reached
2/4 dimensions flagged Block
Declared vs actual capability
2 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 3 attack-chain steps and 2 severe findings.
Review
Dependencies and supply chain hygiene
2 dependency or supply-chain issues need attention.
Attack Chain
01
部署包含wechat.yaml的skill到AI Agent环境
Entry · wechat.yaml:1
02
攻击者通过Git history或配置泄露获取硬编码凭证
Escalation · wechat.yaml:2
03
利用凭证伪造微信消息或窃听通信
Impact · wechat.yaml:2
What drove the risk score up
硬编码敏感凭证 +20
wechat.yaml明文存储APPID和TOKEN
未声明的外部网络通信 +20
SKILL.md未声明代码向dashboard.synodeai.com发送数据
凭证无版本控制保护 +10
wechat.yaml可能被提交到代码仓库
文档能力声明不完整 +5
SKILL.md未声明network资源使用
Most important evidence
High Credential Theft
配置文件明文存储敏感凭证
wechat.yaml包含明文WECHAT_APPID和WECHAT_TOKEN,这些凭证可能被提交到版本控制系统,任何能访问仓库的人都能获取。
wechat.yaml:2 将凭证移至环境变量,添加wechat.yaml到.gitignore,从代码中删除硬编码凭证
High Data Exfil
向未声明的外部URL传输数据
代码将用户查询的好友/群聊信息(wxId、nickname、remark)POST到http://dashboard.synodeai.com/ai,但SKILL.md未声明此外部通信行为。
wechat_bridge.js:8 在SKILL.md中明确声明外部API端点,或使用本地API替代
Medium Doc Mismatch
文档未声明实际使用的资源权限
SKILL.md仅描述业务逻辑(endpoints),未声明需要读取环境变量和发起网络请求的权限。
SKILL.md:1 在SKILL.md中添加allowed-tools: [Read, Bash]声明及理由
Low Supply Chain
依赖包无版本锁定
package.json中axios和express使用^通配符版本,可能引入恶意更新的依赖。
package.json:4 使用精确版本号如axios: "1.6.0"
Declared capability vs actual capability
Network Block
Declared NONE
→ Inferred WRITE
wechat_bridge.js:8 - 代码向外部URL发送请求但SKILL.md未声明 Environment Block
Declared NONE
→ Inferred READ
wechat_bridge.js:9-10 - 读取WECHAT_APPID和WECHAT_TOKEN但SKILL.md未声明 Suspicious artifacts and egress
Medium External URL
http://dashboard.synodeai.com/ai wechat_bridge.js:8
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| axios | ^1.6.0 | npm | No | 无版本锁定 |
| express | ^4.18.0 | npm | No | 无版本锁定 |
File composition
4 files · 104 lines
JavaScript 1 files · 77 linesMarkdown 1 files · 14 linesJSON 1 files · 10 linesYAML 1 files · 3 lines
Files of concern · 4
wechat_bridge.js 向未声明的外部URL传输数据 · http://dashboard.synodeai.com/ai
SKILL.md 文档未声明实际使用的资源权限
package.json 依赖包无版本锁定
wechat.yaml 配置文件明文存储敏感凭证
Security positives
代码结构清晰,错误处理完善
无直接代码执行或shell调用
未发现base64编码或混淆代码
功能实现与文档描述的业务流程基本一致