Scan Report
20 /100
baoyu-post-to-weibo
Posts text, images, videos, and long-form Markdown articles to Weibo via real Chrome browser (bypasses anti-bot detection).
A legitimate Weibo posting skill with declared browser automation and clipboard access; primary concern is a hardcoded IP address in vendor code with no active network usage.
Safe to install
Replace the hardcoded IP address 138.112.25.25 in vendor code with a domain name or remove it. Ensure the skill is only installed from trusted sources.
Findings 5 items
| Severity | Finding | Location |
|---|---|---|
| High | Hardcoded IP address in vendor code | scripts/vendor/baoyu-md/src/extensions/alert.ts:157 |
| Low | subprocess execution via npx -y bun | scripts/weibo-utils.ts:72 |
| Info | Chrome automation with anti-detection flags | scripts/weibo-utils.ts:101 |
| Info | Chrome profile persistence | scripts/vendor/baoyu-chrome-cdp/src/index.ts:136 |
| Info | EXTEND.md custom config support | SKILL.md:7 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Shell | WRITE | WRITE | ✓ Aligned | SKILL.md:1 — '${BUN_X} {baseDir}/scripts/...' subprocess invocation declared |
| Browser | WRITE | WRITE | ✓ Aligned | SKILL.md — Chrome CDP browser automation declared for Weibo posting |
| Clipboard | WRITE | WRITE | ✓ Aligned | SKILL.md — copy-to-clipboard.ts and paste-from-clipboard.ts declared as part of … |
| Filesystem | READ | READ | ✓ Aligned | SKILL.md — reads markdown files, images, videos from user-provided paths |
| Network | READ | READ | ✓ Aligned | SKILL.md — connects to weibo.com and card.weibo.com for posting |
1 High 22 findings
High IP Address 硬编码 IP 地址
138.112.25.25 scripts/vendor/baoyu-md/src/extensions/alert.ts:157 Medium External URL 外部 URL
https://card.weibo.com/article/v3/editor SKILL.md:104 Medium External URL 外部 URL
https://gemini.google.com/app scripts/vendor/baoyu-chrome-cdp/src/index.test.ts:242 Medium External URL 外部 URL
https://softonit.ru/ scripts/vendor/baoyu-md/src/code-themes/1c-light.min.css:6 Medium External URL 外部 URL
https://highlightjs.org/ scripts/vendor/baoyu-md/src/code-themes/default.min.css:6 Medium External URL 外部 URL
https://creativecommons.org/licenses/by-sa/4.0 scripts/vendor/baoyu-md/src/code-themes/nnfx-dark.min.css:6 Medium External URL 外部 URL
http://www.w3.org/2000/svg scripts/vendor/baoyu-md/src/constants.ts:79 Medium External URL 外部 URL
https://marked.js.org/ scripts/vendor/baoyu-md/src/extensions/alert.ts:23 Medium External URL 外部 URL
https://groups.google.com/g/mathjax-users/c/zThKffrrCvE?pli=1 scripts/vendor/baoyu-md/src/extensions/katex.ts:26 Medium External URL 外部 URL
https://www.plantuml.com/plantuml scripts/vendor/baoyu-md/src/extensions/plantuml.ts:7 Medium External URL 外部 URL
https://plantuml.com/text-encoding scripts/vendor/baoyu-md/src/extensions/plantuml.ts:35 Medium External URL 外部 URL
https://talk.commonmark.org/t/proper-ruby-text-rb-syntax-support-in-markdown/2279 scripts/vendor/baoyu-md/src/extensions/ruby.ts:5 Medium External URL 外部 URL
https://www.w3.org/TR/ruby/ scripts/vendor/baoyu-md/src/extensions/ruby.ts:6 Medium External URL 外部 URL
https://cdn-doocs.oss-cn-shenzhen.aliyuncs.com/npm/highlightjs/$ scripts/vendor/baoyu-md/src/utils/languages.ts:80 Medium External URL 外部 URL
https://weibo.com/ scripts/weibo-post.ts:16 Info Email 邮箱地址
[email protected] scripts/vendor/baoyu-md/src/code-themes/1c-light.min.css:4 Info Email 邮箱地址
[email protected] scripts/vendor/baoyu-md/src/code-themes/agate.min.css:3 Info Email 邮箱地址
[email protected] scripts/vendor/baoyu-md/src/code-themes/an-old-hope.min.css:3 Info Email 邮箱地址
[email protected] scripts/vendor/baoyu-md/src/code-themes/default.min.css:4 Info Email 邮箱地址
[email protected] scripts/vendor/baoyu-md/src/code-themes/felipec.min.css:3 Info Email 邮箱地址
[email protected] scripts/vendor/baoyu-md/src/code-themes/nnfx-dark.min.css:4 Info Email 邮箱地址
[email protected] scripts/vendor/baoyu-md/src/code-themes/tokyo-night-dark.min.css:5 File Tree
118 files · 325.1 KB · 8210 lines TypeScript 36f · 6601L
CSS 78f · 1408L
Markdown 1f · 162L
JSON 3f · 39L
├─
▾
scripts
│ ├─
▾
vendor
│ │ ├─
▾
baoyu-chrome-cdp
│ │ │ ├─
▾
src
│ │ │ │ ├─
index.test.ts
TypeScript
│ │ │ │ └─
index.ts
TypeScript
│ │ │ └─
package.json
JSON
│ │ └─
▾
baoyu-md
│ │ ├─
▾
src
│ │ │ ├─
▾
code-themes
│ │ │ │ ├─
1c-light.min.css
CSS
│ │ │ │ ├─
a11y-dark.min.css
CSS
│ │ │ │ ├─
a11y-light.min.css
CSS
│ │ │ │ ├─
agate.min.css
CSS
│ │ │ │ ├─
an-old-hope.min.css
CSS
│ │ │ │ ├─
androidstudio.min.css
CSS
│ │ │ │ ├─
arduino-light.min.css
CSS
│ │ │ │ ├─
arta.min.css
CSS
│ │ │ │ ├─
ascetic.min.css
CSS
│ │ │ │ ├─
atom-one-dark-reasonable.min.css
CSS
│ │ │ │ ├─
atom-one-dark.min.css
CSS
│ │ │ │ ├─
atom-one-light.min.css
CSS
│ │ │ │ ├─
brown-paper.min.css
CSS
│ │ │ │ ├─
codepen-embed.min.css
CSS
│ │ │ │ ├─
color-brewer.min.css
CSS
│ │ │ │ ├─
dark.min.css
CSS
│ │ │ │ ├─
default.min.css
CSS
│ │ │ │ ├─
devibeans.min.css
CSS
│ │ │ │ ├─
docco.min.css
CSS
│ │ │ │ ├─
far.min.css
CSS
│ │ │ │ ├─
felipec.min.css
CSS
│ │ │ │ ├─
foundation.min.css
CSS
│ │ │ │ ├─
github-dark-dimmed.min.css
CSS
│ │ │ │ ├─
github-dark.min.css
CSS
│ │ │ │ ├─
github.min.css
CSS
│ │ │ │ ├─
gml.min.css
CSS
│ │ │ │ ├─
googlecode.min.css
CSS
│ │ │ │ ├─
gradient-dark.min.css
CSS
│ │ │ │ ├─
gradient-light.min.css
CSS
│ │ │ │ ├─
grayscale.min.css
CSS
│ │ │ │ ├─
hybrid.min.css
CSS
│ │ │ │ ├─
idea.min.css
CSS
│ │ │ │ ├─
intellij-light.min.css
CSS
│ │ │ │ ├─
ir-black.min.css
CSS
│ │ │ │ ├─
isbl-editor-dark.min.css
CSS
│ │ │ │ ├─
isbl-editor-light.min.css
CSS
│ │ │ │ ├─
kimbie-dark.min.css
CSS
│ │ │ │ ├─
kimbie-light.min.css
CSS
│ │ │ │ ├─
lightfair.min.css
CSS
│ │ │ │ ├─
lioshi.min.css
CSS
│ │ │ │ ├─
magula.min.css
CSS
│ │ │ │ ├─
mono-blue.min.css
CSS
│ │ │ │ ├─
monokai-sublime.min.css
CSS
│ │ │ │ ├─
monokai.min.css
CSS
│ │ │ │ ├─
night-owl.min.css
CSS
│ │ │ │ ├─
nnfx-dark.min.css
CSS
│ │ │ │ ├─
nnfx-light.min.css
CSS
│ │ │ │ ├─
nord.min.css
CSS
│ │ │ │ ├─
obsidian.min.css
CSS
│ │ │ │ ├─
panda-syntax-dark.min.css
CSS
│ │ │ │ ├─
panda-syntax-light.min.css
CSS
│ │ │ │ ├─
paraiso-dark.min.css
CSS
│ │ │ │ ├─
paraiso-light.min.css
CSS
│ │ │ │ ├─
pojoaque.min.css
CSS
│ │ │ │ ├─
purebasic.min.css
CSS
│ │ │ │ ├─
qtcreator-dark.min.css
CSS
│ │ │ │ ├─
qtcreator-light.min.css
CSS
│ │ │ │ ├─
rainbow.min.css
CSS
│ │ │ │ ├─
routeros.min.css
CSS
│ │ │ │ ├─
school-book.min.css
CSS
│ │ │ │ ├─
shades-of-purple.min.css
CSS
│ │ │ │ ├─
srcery.min.css
CSS
│ │ │ │ ├─
stackoverflow-dark.min.css
CSS
│ │ │ │ ├─
stackoverflow-light.min.css
CSS
│ │ │ │ ├─
sunburst.min.css
CSS
│ │ │ │ ├─
tokyo-night-dark.min.css
CSS
│ │ │ │ ├─
tokyo-night-light.min.css
CSS
│ │ │ │ ├─
tomorrow-night-blue.min.css
CSS
│ │ │ │ ├─
tomorrow-night-bright.min.css
CSS
│ │ │ │ ├─
vs.min.css
CSS
│ │ │ │ ├─
vs2015.min.css
CSS
│ │ │ │ ├─
xcode.min.css
CSS
│ │ │ │ └─
xt256.min.css
CSS
│ │ │ ├─
▾
extensions
│ │ │ │ ├─
alert.ts
TypeScript
│ │ │ │ ├─
footnotes.ts
TypeScript
│ │ │ │ ├─
index.ts
TypeScript
│ │ │ │ ├─
infographic.ts
TypeScript
│ │ │ │ ├─
katex.ts
TypeScript
│ │ │ │ ├─
markup.ts
TypeScript
│ │ │ │ ├─
plantuml.ts
TypeScript
│ │ │ │ ├─
ruby.ts
TypeScript
│ │ │ │ ├─
slider.ts
TypeScript
│ │ │ │ └─
toc.ts
TypeScript
│ │ │ ├─
▾
themes
│ │ │ │ ├─
base.css
CSS
│ │ │ │ ├─
default.css
CSS
│ │ │ │ ├─
grace.css
CSS
│ │ │ │ ├─
modern.css
CSS
│ │ │ │ └─
simple.css
CSS
│ │ │ ├─
▾
utils
│ │ │ │ └─
languages.ts
TypeScript
│ │ │ ├─
cli.ts
TypeScript
│ │ │ ├─
constants.ts
TypeScript
│ │ │ ├─
content.test.ts
TypeScript
│ │ │ ├─
content.ts
TypeScript
│ │ │ ├─
document.test.ts
TypeScript
│ │ │ ├─
document.ts
TypeScript
│ │ │ ├─
extend-config.ts
TypeScript
│ │ │ ├─
html-builder.test.ts
TypeScript
│ │ │ ├─
html-builder.ts
TypeScript
│ │ │ ├─
images.test.ts
TypeScript
│ │ │ ├─
images.ts
TypeScript
│ │ │ ├─
index.ts
TypeScript
│ │ │ ├─
render.ts
TypeScript
│ │ │ ├─
renderer.test.ts
TypeScript
│ │ │ ├─
renderer.ts
TypeScript
│ │ │ ├─
themes.ts
TypeScript
│ │ │ └─
types.ts
TypeScript
│ │ └─
package.json
JSON
│ ├─
copy-to-clipboard.ts
TypeScript
│ ├─
md-to-html.ts
TypeScript
│ ├─
package.json
JSON
│ ├─
paste-from-clipboard.ts
TypeScript
│ ├─
weibo-article.ts
TypeScript
│ ├─
weibo-post.ts
TypeScript
│ └─
weibo-utils.ts
TypeScript
└─
SKILL.md
Markdown
Dependencies 3 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
bun | unpinned | runtime | No | Runtime dependency; npx -y bun used as fallback. Version not pinned in package.json |
baoyu-chrome-cdp | file:./vendor/baoyu-chrome-cdp | local vendor | No | Local vendor library for Chrome CDP automation |
baoyu-md | file:./vendor/baoyu-md | local vendor | No | Local vendor library for markdown rendering; contains hardcoded IP 138.112.25.25 |
Security Positives
✓ No credential harvesting — skill only accesses environment variables for configuration (WEIBO_BROWSER_CHROME_PATH, BAOYU_CHROME_PROFILE_DIR), not for credential theft
✓ No data exfiltration — all network connections are to legitimate Weibo domains (weibo.com, card.weibo.com)
✓ User-review-required publishing — scripts explicitly leave browser open for manual review before publishing
✓ No base64-encoded commands or eval patterns — all code is readable TypeScript
✓ Subprocess and clipboard access are documented in SKILL.md
✓ Chrome session data stays local — stored in user-specific profile directories
✓ All vendor code (baoyu-chrome-cdp, baoyu-md) appears to be legitimate open-source libraries for markdown rendering and Chrome CDP automation
✓ No curl|bash or wget|sh remote script execution patterns