Scan Report
10 /100
wechat-content-studio
微信公众号内容工作室 — 多来源权威搜索、多站点文章抓取、AI改写、封面生成、智能排版发布一站式工具
WeChat content studio skill performs standard web scraping, AI rewriting, and publishing — all capabilities are declared, all network calls are to legitimate documented services, and there is no malicious behavior.
Safe to install
No action required. The skill is a legitimate content creation tool.
Findings 3 items
| Severity | Finding | Location |
|---|---|---|
| Info | Pre-scan false positive: 'hardcoded IP 125.0.0.0' | scripts/search/multi_source_search.js:49 |
| Low | Shell execution via execSync not explicitly declared in SKILL.md | scripts/main.js:1024 |
| Low | Proxy default to localhost port 7890 | scripts/search/multi_source_search.js:27 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | WRITE | WRITE | ✓ Aligned | SKILL.md declares Bash+Read+Write; writes to ~/WorkBuddy/ and skill directories |
| Network | READ | READ | ✓ Aligned | All network calls are to documented services: Brave Search, HN Algolia API, GitH… |
| Shell | WRITE | WRITE | ✓ Aligned | execSync calls Python scripts for wechat-typeset-pro and multi-site-extractor; S… |
| Environment | NONE | READ | ✓ Aligned | Reads WECHAT_APP_ID, WECHAT_APP_SECRET, DASHSCOPE_API_KEY, OPENAI_API_KEY — all … |
| Clipboard | NONE | NONE | — | No clipboard access found |
| Browser | NONE | NONE | — | No browser automation; browser-use is an optional external dependency for manual… |
| Database | NONE | NONE | — | No database access found |
| Skill Invoke | NONE | NONE | — | References external skills (wechat-typeset-pro, multi-site-extractor) by path bu… |
1 High 63 findings
High IP Address 硬编码 IP 地址
125.0.0.0 scripts/search/multi_source_search.js:49 Medium External URL 外部 URL
http://127.0.0.1:7890 SKILL.md:176 Medium External URL 外部 URL
https://registry.npmmirror.com/agent-base/-/agent-base-7.1.4.tgz package-lock.json:20 Medium External URL 外部 URL
https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz package-lock.json:29 Medium External URL 外部 URL
https://registry.npmmirror.com/axios/-/axios-1.14.0.tgz package-lock.json:35 Medium External URL 外部 URL
https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz package-lock.json:46 Medium External URL 外部 URL
https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz package-lock.json:52 Medium External URL 外部 URL
https://registry.npmmirror.com/cheerio/-/cheerio-1.2.0.tgz package-lock.json:65 Medium External URL 外部 URL
https://registry.npmmirror.com/cheerio-select/-/cheerio-select-2.1.0.tgz package-lock.json:90 Medium External URL 外部 URL
https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz package-lock.json:107 Medium External URL 外部 URL
https://registry.npmmirror.com/commander/-/commander-11.1.0.tgz package-lock.json:119 Medium External URL 外部 URL
https://registry.npmmirror.com/css-select/-/css-select-5.2.2.tgz package-lock.json:128 Medium External URL 外部 URL
https://registry.npmmirror.com/css-what/-/css-what-6.2.2.tgz package-lock.json:144 Medium External URL 外部 URL
https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz package-lock.json:156 Medium External URL 外部 URL
https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz package-lock.json:173 Medium External URL 外部 URL
https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz package-lock.json:182 Medium External URL 外部 URL
https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz package-lock.json:196 Medium External URL 外部 URL
https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz package-lock.json:208 Medium External URL 外部 URL
https://registry.npmmirror.com/domutils/-/domutils-3.2.2.tgz package-lock.json:223 Medium External URL 外部 URL
https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz package-lock.json:237 Medium External URL 外部 URL
https://registry.npmmirror.com/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz package-lock.json:251 Medium External URL 外部 URL
https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz package-lock.json:264 Medium External URL 外部 URL
https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz package-lock.json:276 Medium External URL 外部 URL
https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz package-lock.json:285 Medium External URL 外部 URL
https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz package-lock.json:294 Medium External URL 外部 URL
https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz package-lock.json:306 Medium External URL 外部 URL
https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz package-lock.json:321 Medium External URL 外部 URL
https://registry.npmmirror.com/form-data/-/form-data-4.0.5.tgz package-lock.json:341 Medium External URL 外部 URL
https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz package-lock.json:357 Medium External URL 外部 URL
https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz package-lock.json:366 Medium External URL 外部 URL
https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz package-lock.json:390 Medium External URL 外部 URL
https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz package-lock.json:403 Medium External URL 外部 URL
https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz package-lock.json:415 Medium External URL 外部 URL
https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz package-lock.json:427 Medium External URL 外部 URL
https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz package-lock.json:442 Medium External URL 外部 URL
https://registry.npmmirror.com/htmlparser2/-/htmlparser2-10.1.0.tgz package-lock.json:454 Medium External URL 外部 URL
https://registry.npmmirror.com/entities/-/entities-7.0.1.tgz package-lock.json:473 Medium External URL 外部 URL
https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz package-lock.json:485 Medium External URL 外部 URL
https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz package-lock.json:498 Medium External URL 外部 URL
https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz package-lock.json:511 Medium External URL 外部 URL
https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz package-lock.json:523 Medium External URL 外部 URL
https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz package-lock.json:532 Medium External URL 外部 URL
https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz package-lock.json:541 Medium External URL 外部 URL
https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz package-lock.json:553 Medium External URL 外部 URL
https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz package-lock.json:559 Medium External URL 外部 URL
https://registry.npmmirror.com/parse5/-/parse5-7.3.0.tgz package-lock.json:571 Medium External URL 外部 URL
https://registry.npmmirror.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz package-lock.json:583 Medium External URL 外部 URL
https://registry.npmmirror.com/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz package-lock.json:596 Medium External URL 外部 URL
https://registry.npmmirror.com/entities/-/entities-6.0.1.tgz package-lock.json:608 Medium External URL 外部 URL
https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz package-lock.json:620 Medium External URL 外部 URL
https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz package-lock.json:629 Medium External URL 外部 URL
https://registry.npmmirror.com/undici/-/undici-7.24.6.tgz package-lock.json:635 Medium External URL 外部 URL
https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz package-lock.json:644 Medium External URL 外部 URL
https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz package-lock.json:657 Medium External URL 外部 URL
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$ scripts/publisher/api_publish.js:71 Medium External URL 外部 URL
https://api.weixin.qq.com/cgi-bin/draft/add?access_token=$ scripts/publisher/api_publish.js:90 Medium External URL 外部 URL
https://api.weixin.qq.com/cgi-bin/draft/update?access_token=$ scripts/publisher/api_publish.js:127 Medium External URL 外部 URL
https://mp.weixin.qq.com/ scripts/publisher/publish_browser.js:40 Medium External URL 外部 URL
https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions scripts/rewriter/rewrite.js:144 Medium External URL 外部 URL
https://search.brave.com/search scripts/search/multi_source_search.js:122 Medium External URL 外部 URL
https://hn.algolia.com/api/v1/search?query=$ scripts/search/multi_source_search.js:277 Medium External URL 外部 URL
https://news.ycombinator.com/item?id=$ scripts/search/multi_source_search.js:283 Medium External URL 外部 URL
http://export.arxiv.org/api/query?search_query=all:$ scripts/search/multi_source_search.js:351 File Tree
18 files · 178.8 KB · 5492 lines JavaScript 12f · 4419L
JSON 4f · 838L
Markdown 2f · 235L
├─
▾
scripts
│ ├─
▾
extractor
│ │ └─
multi_site_bridge.js
JavaScript
│ ├─
▾
image
│ │ └─
generate_cover.js
JavaScript
│ ├─
▾
lib
│ │ ├─
.agent.memory.md
Markdown
│ │ └─
openclaw_env.js
JavaScript
│ ├─
▾
publisher
│ │ ├─
api_publish.js
JavaScript
│ │ ├─
publish_browser.js
JavaScript
│ │ └─
publish_wenyan.js
JavaScript
│ ├─
▾
rewriter
│ │ └─
rewrite.js
JavaScript
│ ├─
▾
search
│ │ ├─
merge_articles.js
JavaScript
│ │ ├─
multi_source_search.js
JavaScript
│ │ └─
search_sources.json
JSON
│ ├─
auto-optimize.js
JavaScript
│ ├─
main.js
JavaScript
│ └─
smart-optimize.js
JavaScript
├─
package-lock.json
JSON
├─
package.json
JSON
├─
skill-config.json
JSON
└─
SKILL.md
Markdown
Dependencies 7 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
axios | ^1.6.0 | npm | No | Version range not pinned — minor version could introduce breaking changes |
cheerio | ^1.2.0 | npm | No | Version range not pinned |
commander | ^11.0.0 | npm | No | Version range not pinned |
http-proxy-agent | ^7.0.2 | npm | No | Version range not pinned |
https-proxy-agent | ^7.0.6 | npm | No | Version range not pinned |
requests | * | pip | No | No version constraint — referenced in SKILL.md for multi-site-extractor but installed separately |
beautifulsoup4 | * | pip | No | No version constraint |
Security Positives
✓ No child_process exec/spawn/fork/eval found — execSync only for documented Python tooling
✓ No base64/atob/decodeURIComponent obfuscation
✓ No .ssh, .aws, or other credential file path access
✓ No curl|bash or wget|sh remote script execution
✓ No hidden HTML comments or steganography
✓ All network destinations are declared and legitimate services
✓ Credential reading is limited to declared env vars (WECHAT_*, DASHSCOPE_*, OPENAI_*) used only for intended service calls
✓ Environment variable loading follows dotenv 'do-not-overwrite' convention — existing shell variables are not clobbered
✓ No data exfiltration or unauthorized outbound connections
✓ Complete SKILL.md documentation covering all major features and dependencies
✓ Dependencies use pinned versions in package-lock.json