Scan Report
5 /100
baoyu-url-to-markdown
Fetch any URL and convert to markdown using Chrome CDP. Saves the rendered HTML snapshot alongside the markdown, uses an upgraded Defuddle pipeline with better web-component handling and YouTube transcript extraction.
baoyu-url-to-markdown is a legitimate web scraping and URL-to-markdown conversion skill with no malicious behavior detected. All operations—Chrome CDP automation, network requests, file writes, and environment variable usage—are documented and necessary for its stated purpose.
Safe to install
No action needed. The skill is safe to use as documented.
Findings 2 items
| Severity | Finding | Location |
|---|---|---|
| Low | Hardcoded placeholder IP in User-Agent | scripts/constants.ts:4 |
| Low | Shell spawn (ps aux) used for port detection | scripts/vendor/baoyu-chrome-cdp/src/index.ts:220 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | WRITE | WRITE | ✓ Aligned | main.ts writes markdown/html to configurable output dirs; SKILL.md declares medi… |
| Network | READ | READ | ✓ Aligned | main.ts fetches target URLs via CDP and defuddle.md; media-localizer.ts download… |
| Shell | NONE | WRITE | ✓ Aligned | cdp.ts uses spawn() to launch Chrome and spawnSync('ps') to detect existing Chro… |
| Environment | NONE | READ | ✓ Aligned | paths.ts and cdp.ts read URL_CHROME_PATH, URL_DATA_DIR, URL_CHROME_PROFILE_DIR; … |
| Skill Invoke | NONE | NONE | — | N/A |
| Clipboard | NONE | NONE | — | N/A |
| Browser | WRITE | WRITE | ✓ Aligned | cdp.ts and SKILL.md document Chrome CDP automation (launch, navigate, evaluate s… |
| Database | NONE | NONE | — | N/A |
1 High 5 findings
High IP Address 硬编码 IP 地址
130.0.0.0 scripts/constants.ts:4 Medium External URL 外部 URL
https://defuddle.md/ SKILL.md:207 Medium External URL 外部 URL
https://defuddle.md/stephango.com SKILL.md:255 Medium External URL 外部 URL
https://defuddle.md/$ scripts/main.ts:101 Medium External URL 外部 URL
https://gemini.google.com/app scripts/vendor/baoyu-chrome-cdp/src/index.test.ts:242 File Tree
15 files · 104.6 KB · 3199 lines TypeScript 11f · 2809L
Markdown 2f · 367L
JSON 2f · 23L
├─
▾
references
│ └─
▾
config
│ └─
first-time-setup.md
Markdown
├─
▾
scripts
│ ├─
▾
vendor
│ │ └─
▾
baoyu-chrome-cdp
│ │ ├─
▾
src
│ │ │ ├─
index.test.ts
TypeScript
│ │ │ └─
index.ts
TypeScript
│ │ └─
package.json
JSON
│ ├─
cdp.ts
TypeScript
│ ├─
constants.ts
TypeScript
│ ├─
defuddle-converter.ts
TypeScript
│ ├─
html-to-markdown.ts
TypeScript
│ ├─
legacy-converter.ts
TypeScript
│ ├─
main.ts
TypeScript
│ ├─
markdown-conversion-shared.ts
TypeScript
│ ├─
media-localizer.ts
TypeScript
│ ├─
package.json
JSON
│ └─
paths.ts
TypeScript
└─
SKILL.md
Markdown
Dependencies 7 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
@mozilla/readability | ^0.6.0 | npm | No | Mozilla's standard HTML-to-readability parser |
baoyu-chrome-cdp | file:./vendor/baoyu-chrome-cdp | local | No | Bundled vendor library for Chrome CDP connection |
defuddle | ^0.12.0 | npm | No | Markdown extraction pipeline; falls back to defuddle.md hosted API |
jsdom | ^24.1.3 | npm | No | DOM parser for HTML processing |
linkedom | ^0.18.12 | npm | No | Alternative DOM-like parser |
turndown | ^7.2.2 | npm | No | HTML-to-Markdown converter |
turndown-plugin-gfm | ^1.0.2 | npm | No | GitHub Flavored Markdown plugin for turndown |
Security Positives
✓ No credential harvesting — no access to ~/.ssh, ~/.aws, .env, or environment key iteration
✓ No data exfiltration — all network egress is scoped to fetching the target URL and its media
✓ No reverse shell, C2, or eval() of decoded payloads
✓ No curl|bash or wget|sh remote script execution
✓ No hidden functionality — SKILL.md documents all features including the defuddle.md fallback API
✓ No suspicious base64 payloads or obfuscated code paths
✓ Chrome profile data stays in a scoped app-specific directory (baoyu-skills/chrome-profile)
✓ Files are written only to configurable output directories, not to arbitrary system paths
✓ All dependencies are well-known open-source packages with version constraints