扫描报告
22 /100
web-reader
智能网页阅读器 - 抓取文章/下载视频并归档,支持分析、摘要、衍生
Legitimate web scraping tool with no malicious behavior, but supply chain risk from unpinned Python dependencies.
可以安装
Pin dependency versions (e.g., pip install scrapling==x.y.z yt-dlp==x.y.z) and consider adding hash pinning for enhanced supply chain security.
安全发现 2 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 中危 | Dependencies not pinned to specific versions 供应链 | lib/router.py:30 |
| 低危 | Bundled third-party library without integrity verification 供应链 | lib/readability.js:1 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 网络访问 | READ | READ | ✓ 一致 | SKILL.md declares network access for web fetching; article.py and video.py perfo… |
| 文件系统 | WRITE | WRITE | ✓ 一致 | SKILL.md declares file writes for archive output; article.py:44 writes md_path, … |
| 命令执行 | WRITE | WRITE | ✓ 一致 | SKILL.md declares subprocess calls to scrapling/yt-dlp/camoufox; article.py:68,9… |
| 环境变量 | NONE | NONE | — | No os.environ iteration for secrets observed |
| 凭证 | NONE | NONE | — | --cookies-browser allows browser cookie pass-through for yt-dlp, but no exfiltra… |
15 项发现
中危 外部 URL 外部 URL
https://mp.weixin.qq.com/s/xxx README.md:49 中危 外部 URL 外部 URL
https://b23.tv/xxx README.md:55 中危 外部 URL 外部 URL
https://mmbiz.qpic.cn... SKILL.md:53 中危 外部 URL 外部 URL
https://mp.weixin.qq.com/ SKILL.md:157 中危 外部 URL 外部 URL
https://mmbiz\.qpic\.cn[^ lib/article.py:200 中危 外部 URL 外部 URL
https://www.toutiao.com/ lib/article.py:237 中危 外部 URL 外部 URL
http://www.apache.org/licenses/LICENSE-2.0 lib/readability.js:8 中危 外部 URL 外部 URL
http://code.google.com/p/arc90labs-readability lib/readability.js:19 中危 外部 URL 外部 URL
https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType lib/readability.js:103 中危 外部 URL 外部 URL
https://en.wikipedia.org/wiki/Comma#Comma_variants lib/readability.js:145 中危 外部 URL 外部 URL
https://schema.org/Article lib/readability.js:147 中危 外部 URL 外部 URL
http://mobile.slate.com lib/readability.js:992 中危 外部 URL 外部 URL
https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content lib/readability.js:1708 中危 外部 URL 外部 URL
https://searchfox.org/mozilla-central/rev/f82d5c549f046cb64ce5602bfd894b7ae807c8f8/accessible/generic/TableAccessible.cp... lib/readability.js:1924 中危 外部 URL 外部 URL
https://mmbiz.qpic.cn/... references/platforms.md:10 目录结构
12 文件 · 120.4 KB · 3443 行 JavaScript 1f · 2314L
Python 7f · 726L
Markdown 4f · 403L
├─
▾
lib
│ ├─
__init__.py
Python
│ ├─
article.py
Python
│ ├─
feishu.py
Python
│ ├─
readability.js
JavaScript
│ ├─
router.py
Python
│ ├─
utils.py
Python
│ └─
video.py
Python
├─
▾
references
│ ├─
extending.md
Markdown
│ └─
platforms.md
Markdown
├─
fetcher.py
Python
├─
README.md
Markdown
└─
SKILL.md
Markdown
依赖分析 5 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
scrapling | * | pip | 否 | Version not pinned in documentation or runtime checks |
yt-dlp | * | pip | 否 | Version not pinned; called via subprocess |
camoufox | * | pip | 否 | Optional dependency, version not pinned |
html2text | * | pip | 否 | Version not pinned |
readability.js | 1.7.1 | bundled (Apache 2.0) | 否 | Bundled locally, no integrity verification performed |
安全亮点
✓ No credential theft or environment variable harvesting for exfiltration
✓ No reverse shell, C2, or data exfiltration to external IPs
✓ No base64-obfuscated payloads or eval(atob()) patterns
✓ No hidden functionality — SKILL.md accurately documents all capabilities
✓ Subprocess calls are limited to documented CLI tools (scrapling, yt-dlp, camoufox) on user-provided URLs
✓ File writes are scoped to user-specified output directories
✓ No access to ~/.ssh, ~/.aws, .env, or other sensitive paths
✓ No curl|bash or wget|sh remote script execution
✓ Browser-based fetching (camoufox/scrapling StealthyFetcher) is standard legitimate web scraping