扫描报告
5 /100
bilibili-all-in-one
Comprehensive Bilibili toolkit integrating hot trending monitoring, video downloading, subtitle downloading, playback/danmaku, and video publishing capabilities
A legitimate Bilibili API toolkit with well-documented credential handling and network endpoints; the pre-scan hardcoded-IP flag is a false positive — all URLs use HTTPS domain names. No malicious patterns detected.
可以安装
Safe to use. Ensure users provide credentials via environment variables rather than files, and use a test account since SESSDATA/bili_jct are full session cookies.
安全发现 4 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | Pre-scan hardcoded-IP flag is a false positive | src/utils.py:55 |
| 提示 | Subprocess (ffmpeg) not declared in SKILL.md | src/downloader.py:373 |
| 提示 | Browser opens local captcha page not declared as capability | src/publisher.py:702 |
| 提示 | Filesystem WRITE not fully declared in capability matrix | src/downloader.py, src/subtitle.py, src/auth.py |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 网络访问 | READ | READ | ✓ 一致 | SKILL.md declares HTTPS to Bilibili APIs only; code uses httpx/aiohttp to api.bi… |
| 文件系统 | READ | WRITE | ✓ 一致 | SKILL.md lists 'Read' for filesystem but code writes downloaded videos (download… |
| 环境变量 | READ | READ | ✓ 一致 | auth.py reads BILIBILI_SESSDATA, BILIBILI_BILI_JCT, BILIBILI_BUVID3 from os.envi… |
| 命令执行 | NONE | WRITE | ✓ 一致 | downloader.py:373 calls asyncio.create_subprocess_exec('ffmpeg') for video/audio… |
| 技能调用 | NONE | NONE | — | No skill_invoke usage detected |
| 剪贴板 | NONE | NONE | — | No clipboard access detected |
| 浏览器 | NONE | WRITE | ✓ 一致 | publisher.py:delete_with_captcha opens user browser via webbrowser.open() to htt… |
| 数据库 | NONE | NONE | — | No database access detected |
1 高危 29 项发现
高危 IP 地址 硬编码 IP 地址
120.0.0.0 src/utils.py:55 中危 外部 URL 外部 URL
https://img.shields.io/badge/python-%3E%3D3.8-blue?logo=python&logoColor=white README.md:8 中危 外部 URL 外部 URL
https://img.shields.io/badge/license-MIT-green README.md:9 中危 外部 URL 外部 URL
https://img.shields.io/badge/version-1.0.9-orange README.md:10 中危 外部 URL 外部 URL
https://img.shields.io/badge/platform-Bilibili-pink README.md:11 中危 外部 URL 外部 URL
https://www.bilibili.com README.md:98 中危 外部 URL 外部 URL
https://www.bilibili.com/video/BVxxxxxx README.md:211 中危 外部 URL 外部 URL
https://clawhub.ai/Jacobzwj/bilibili-hot-monitor README.md:442 中危 外部 URL 外部 URL
https://clawhub.ai/caiyundc880518/bililidownloader README.md:443 中危 外部 URL 外部 URL
https://clawhub.ai/donnycui/bilibili-youtube-watcher README.md:444 中危 外部 URL 外部 URL
https://clawhub.ai/DavinciEvans/bilibili-subtitle-download-skill README.md:445 中危 外部 URL 外部 URL
https://clawhub.ai/e421083458/bilibili-player README.md:446 中危 外部 URL 外部 URL
https://clawhub.ai/Johnnyxu820/bilibili-video-publish README.md:447 中危 外部 URL 外部 URL
https://www.bilibili.com/video/BV1xx411c7mD skill.json:137 中危 外部 URL 外部 URL
https://www.bilibili.com/video/ src/downloader.py:102 中危 外部 URL 外部 URL
https://member.bilibili.com/preupload src/publisher.py:19 中危 外部 URL 外部 URL
https://upos-sz-upcdnbda2.bilivideo.com src/publisher.py:20 中危 外部 URL 外部 URL
https://member.bilibili.com src/publisher.py:21 中危 外部 URL 外部 URL
https://passport.bilibili.com/x/passport-login/captcha src/publisher.py:27 中危 外部 URL 外部 URL
https://static.geetest.com/static/js/gt.0.4.9.js src/publisher.py:73 中危 外部 URL 外部 URL
https://member.bilibili.com/ src/publisher.py:640 中危 外部 URL 外部 URL
http://127.0.0.1: src/publisher.py:702 中危 外部 URL 外部 URL
https://upos-sz-upcdnbda2.bilivideo.com/ src/publisher.py:821 中危 外部 URL 外部 URL
https://api.bilibili.com src/utils.py:13 中危 外部 URL 外部 URL
https://b23.tv/BV1xx411c7mD tests/test_comprehensive.py:143 中危 外部 URL 外部 URL
https://www.bilibili.com/video/av12345 tests/test_comprehensive.py:160 中危 外部 URL 外部 URL
https://www.example.com/video tests/test_comprehensive.py:228 中危 外部 URL 外部 URL
http://cover.jpg tests/test_comprehensive.py:447 中危 外部 URL 外部 URL
http://face.jpg tests/test_comprehensive.py:448 目录结构
18 文件 · 270.0 KB · 7607 行 Python 13f · 6123L
Markdown 3f · 1106L
JSON 1f · 372L
Text 1f · 6L
├─
▾
src
│ ├─
__init__.py
Python
│ ├─
auth.py
Python
│ ├─
downloader.py
Python
│ ├─
hot_monitor.py
Python
│ ├─
player.py
Python
│ ├─
publisher.py
Python
│ ├─
subtitle.py
Python
│ ├─
utils.py
Python
│ └─
watcher.py
Python
├─
▾
tests
│ ├─
__init__.py
Python
│ ├─
test_all_skill_examples.py
Python
│ └─
test_comprehensive.py
Python
├─
main.py
Python
├─
README.md
Markdown
├─
requirements.txt
Text
├─
skill.json
JSON
├─
skill.md
Markdown
└─
STRUCTURE.md
Markdown
依赖分析 6 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
httpx | >=0.24.0 | pip | 否 | Version range, not pinned |
bilibili-api-python | >=16.0.0 | pip | 否 | Version range, not pinned |
aiohttp | >=3.8.0 | pip | 否 | Version range, not pinned |
beautifulsoup4 | >=4.12.0 | pip | 否 | Version range, not pinned |
lxml | >=4.9.0 | pip | 否 | Version range, not pinned |
requests | >=2.31.0 | pip | 否 | Version range, not pinned |
安全亮点
✓ All network requests go to documented Bilibili official API domains over HTTPS (api.bilibili.com, member.bilibili.com, upos-sz-upcdnbda2.bilivideo.com)
✓ No base64-encoded payloads, reverse shells, or code injection patterns found
✓ No credential exfiltration — credentials are only sent to Bilibili's own APIs
✓ SKILL.md provides comprehensive security documentation including credential scope, best practices, and network endpoint list
✓ Credentials are not persisted to disk by default (requires explicit save_to_file() call)
✓ Saved credential files use restrictive 0600 permissions
✓ Subprocess (ffmpeg) is used only for legitimate video merging and is documented
✓ No sensitive path access (no ~/.ssh, ~/.aws, .env scanning)
✓ The pre-scan hardcoded-IP flag (120.0.0.0) is confirmed as a false positive — no IP literals in code
✓ All imports are standard PyPI packages with no known malicious indicators
✓ Strong input sanitization: sanitize_filename() removes invalid characters and limits filename length to 200 chars
✓ Local HTTP server for captcha only binds to 127.0.0.1 (not exposed externally) and auto-closes after verification