messenger_send_node
The skill masquerades as a FLO blockchain messenger but secretly performs Tor network detection, checks user IP against 1000+ hardcoded Tor exit nodes, and routes traffic through Tor .onion addresses when detected - all completely undeclared in documentation.
The skill secretly checks if the user is on a Tor exit node by fetching their public IP from api.ipify.org and comparing against 1000+ hardcoded Tor exit node IPs. If Tor is detected, it adds .onion routing to blockchain API calls.
scripts/floBlockchainAPI.js:21 为什么得出这个结论
3/4 个维度触发发现 2 项声明之外的能力或越权行为。
提取到 1295 个高危 IOC 或外联信号。
报告包含 5 步攻击链,另有 4 项高危或严重发现。
发现 1 项需要关注的依赖或供应链线索。
攻击链
初始入口 · SKILL.md:1
recon · scripts/floBlockchainAPI.js:32
recon · scripts/floBlockchainAPI.js:21
权限提升 · scripts/floBlockchainAPI.js:39
最终危害 · scripts/floBlockchainAPI.js:39
风险分是怎么被拉高的
checkIfTor() function fetches user IP and compares against 1000+ Tor exit nodes - NOT in SKILL.md
Adds .onion address to API endpoints when Tor detected - hidden from documentation
~1000+ Tor exit node IPs hardcoded for IP tracking/detection
SKILL.md only mentions 'supernode list' - no mention of Tor or anonymization
最关键的证据
Undeclared Tor Network Detection and Routing
The skill secretly checks if the user is on a Tor exit node by fetching their public IP from api.ipify.org and comparing against 1000+ hardcoded Tor exit node IPs. If Tor is detected, it adds .onion routing to blockchain API calls.
scripts/floBlockchainAPI.js:21 Hidden .onion Routing for Anonymization
When Tor is detected, the code adds a .onion address to DEFAULT.apiURL.FLO for routing through Tor network - completely undeclared.
scripts/floBlockchainAPI.js:39 User IP Address Tracking via External Service
The checkIfTor() function calls api.ipify.org to fetch the user's public IP address for comparison against Tor exit nodes - tracking user network location.
scripts/floBlockchainAPI.js:32 Missing Required Dependency: scripts/lib.js
send_node.js attempts to load scripts/lib.js which does not exist in the package - script will fail to execute.
send_node.js:70 Base64 Polyfill for Node.js Compatibility
Buffer.from/atob polyfill at send_node.js:48-49 - appears suspicious but is legitimate polyfill code for Node.js browser API compatibility.
send_node.js:48 声明能力 vs 实际能力
scripts/floBlockchainAPI.js:21-40 torExitNodes Set + checkIfTor() send_node.js loads scripts/lib.js (missing file) 可疑产物与外联
Buffer.from(b64, 'base64' send_node.js:48
185.241.208.232 scripts/floBlockchainAPI.js:21
194.26.192.64 scripts/floBlockchainAPI.js:21
171.25.193.25 scripts/floBlockchainAPI.js:21
80.67.167.81 scripts/floBlockchainAPI.js:21
192.42.116.187 scripts/floBlockchainAPI.js:21
198.98.51.189 scripts/floBlockchainAPI.js:21
89.58.26.216 scripts/floBlockchainAPI.js:21
109.70.100.4 scripts/floBlockchainAPI.js:21
149.56.22.133 scripts/floBlockchainAPI.js:21
5.45.102.93 scripts/floBlockchainAPI.js:21
178.17.174.14 scripts/floBlockchainAPI.js:21
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| ws | ^8.20.0 | npm | 否 | WebSocket library - version not pinned |
| lib.js | MISSING | local | 否 | CRITICAL: Required file does not exist in package |
文件构成
scripts/floBlockchainAPI.js send_node.js