xiaohongshu-win
Hardcoded placeholder IP (120.0.0.0) combined with anti-detection browser flags and undocumented behavior indicates potential C2 infrastructure testing template, though current code shows no active malicious exfiltration.
为什么得出这个结论
2/4 个维度触发声明资源与推断能力基本一致。
提取到 1 个高危 IOC 或外联信号。
报告包含 4 步攻击链,另有 3 项高危或严重发现。
发现 1 项需要关注的依赖或供应链线索。
攻击链
初始入口 · SKILL.md:1
recon · scripts/xhs-core.js:57
持久化 · scripts/xhs-core.js:27
evasion · scripts/xhs-core.js:45
风险分是怎么被拉高的
Line 57 hardcodes IP 120.0.0.0 - an obvious placeholder/router IP, consistent with C2 infrastructure testing
--disable-blink-features=AutomationControlled hides browser automation from websites
SKILL.md declares 'Browser Relay' and '定时任务' features not implemented in code
package.json has playwright:^1.40.0 without version lock
最关键的证据
Hardcoded placeholder IP address
Line 57 in xhs-core.js declares 'const IP = "120.0.0.0"' which is a clearly fake/placeholder IP address. This pattern is consistent with C2 infrastructure testing or a malicious template awaiting real infrastructure configuration.
scripts/xhs-core.js:57 SKILL.md features not implemented in code
SKILL.md claims 'Browser Relay' and '定时任务' (scheduled tasks) features, but these are not implemented in xhs-core.js or xhs.js. The documentation materially overstates capabilities.
SKILL.md:18 Browser anti-detection flag present
Launches Chromium with --disable-blink-features=AutomationControlled, which hides browser automation from websites. This is commonly used to evade bot detection but may also serve to hide suspicious browsing activity.
scripts/xhs-core.js:45 Unpinned playwright dependency
package.json uses playwright:^1.40.0 without exact version pinning. Allows supply chain substitution.
scripts/package.json:10 Plaintext cookie storage without encryption
Cookies including web_session tokens are stored in plaintext JSON at %USERPROFILE%\.xiaohongshu-win\cookies.json. These credentials could be harvested by other processes.
scripts/xhs-core.js:27 Migration script executes at require time
migrate-and-test.js contains top-level code that executes immediately when the file is loaded (copies old cookies, then runs status check). Side effects on require could be unexpected.
scripts/migrate-and-test.js:16 声明能力 vs 实际能力
Playwright persistentContext throughout xiaohongshu.com API calls, hardcoded IP at line 57 cookies.json, browser-profile, search results stored in %USERPROFILE% No shell:WRITE usage - Node.js with Playwright only 可疑产物与外联
120.0.0.0 scripts/xhs-core.js:57
https://www.xiaohongshu.com/explore/69aee455000000001b016268 SKILL.md:111
https://nodejs.org(LTS references/setup.md:6
https://npmmirror.com/mirrors/playwright references/setup.md:52
https://www.xiaohongshu.com scripts/xhs-core.js:20
https://edith.xiaohongshu.com scripts/xhs-core.js:21
https://www.xiaohongshu.com/ scripts/xhs-core.js:107
https://creator.xiaohongshu.com/publish/publish scripts/xhs-core.js:304
https://www.xiaohongshu.com/explore/xxx scripts/xhs.js:36
https://www.xiaohongshu.com/explore/$ scripts/xhs.js:61
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| playwright | ^1.40.0 | npm | 否 | Version not pinned - caret range allows updates |
文件构成
scripts/xhs-core.js scripts/xhs.js SKILL.md references/setup.md scripts/migrate-and-test.js scripts/package.json