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.
Why this conclusion was reached
2/4 dimensions flaggedDeclared resources and inferred behavior are broadly aligned.
1 high-risk artifacts or egress signals were extracted.
The report includes 4 attack-chain steps and 3 severe findings.
1 dependency or supply-chain issues need attention.
Attack Chain
Entry · SKILL.md:1
recon · scripts/xhs-core.js:57
Persistence · scripts/xhs-core.js:27
evasion · scripts/xhs-core.js:45
What drove the risk score up
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
Most important evidence
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 Declared capability vs actual capability
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 Suspicious artifacts and egress
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
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| playwright | ^1.40.0 | npm | No | Version not pinned - caret range allows updates |
File composition
scripts/xhs-core.js scripts/xhs.js SKILL.md references/setup.md scripts/migrate-and-test.js scripts/package.json