Scan Report
25 /100
baidu-netdisk-skill
Baidu Netdisk file management for OpenClaw - List, search, download, upload with OAuth 2.0
The skill is a legitimate Baidu Netdisk management tool with no malicious behavior, but suffers from a hardcoded encryption key that defeats the stated AES-256 token protection claim.
Safe to install
Replace the hardcoded ENCRYPTION_KEY with a properly derived key (e.g., PBKDF2 from user-supplied password) or use a platform keychain. Pin dependency versions and correct the tools:["exec"] declaration which overstates actual capabilities.
Findings 4 items
| Severity | Finding | Location |
|---|---|---|
| Medium | Hardcoded AES-256 encryption key Sensitive Access | src/auth.js:44 |
| Medium | Hardcoded AES-256 encryption key (duplicate) Sensitive Access | src/baidu-api.js:21 |
| Low | Tool declaration overstates actual capabilities Doc Mismatch | skill.json:12 |
| Low | Unpinned npm dependencies Supply Chain | package.json:39 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | NONE | READ | ✓ Aligned | src/index.js:179 — reads localPath via fs.existsSync and fs.statSync for upload … |
| Network | READ | READ | ✓ Aligned | All HTTP calls exclusively to pan.baidu.com and openapi.baidu.com (Baidu officia… |
| Shell | WRITE | NONE | ✓ Aligned | skill.json tools:["exec"] implies shell:WRITE, but no subprocess/spawn calls exi… |
| Environment | NONE | READ | ✓ Aligned | auth.js:51-52 reads BAI_DU_API_KEY and BAI_DU_SECRET_KEY from process.env |
27 findings
Medium External URL 外部 URL
https://img.shields.io/badge/License-MIT-yellow.svg README.md:5 Medium External URL 外部 URL
https://opensource.org/licenses/MIT README.md:5 Medium External URL 外部 URL
https://img.shields.io/badge/Node.js-%3E%3D18.0.0-green.svg README.md:6 Medium External URL 外部 URL
https://nodejs.org/ README.md:6 Medium External URL 外部 URL
https://img.shields.io/badge/ClawHub-Skill-blue.svg README.md:7 Medium External URL 外部 URL
https://clawhub.ai/ README.md:7 Medium External URL 外部 URL
https://img.shields.io/badge/Security-Self--Audited-brightgreen.svg README.md:8 Medium External URL 外部 URL
https://img.shields.io/badge/Privacy-No%20Data%20Collection-success.svg README.md:9 Medium External URL 外部 URL
https://pan.baidu.com/union/console README.md:150 Medium External URL 外部 URL
https://clawhub.ai/niukesi/baidu-netdisk-skill TODO.md:60 Medium External URL 外部 URL
https://pan.baidu.com/union/apply docs/QUICKSTART.md:7 Medium External URL 外部 URL
https://openapi.baidu.com/oauth/2.0/authorize? docs/QUICKSTART.md:30 Medium External URL 外部 URL
https://openapi.baidu.com/oauth/2.0/token?grant_type=authorization_code&code=你的 docs/QUICKSTART.md:40 Medium External URL 外部 URL
https://opencollective.com/eslint package-lock.json:43 Medium External URL 外部 URL
https://www.patreon.com/feross package-lock.json:331 Medium External URL 外部 URL
https://feross.org/support package-lock.json:335 Medium External URL 外部 URL
https://eslint.org/version-support package-lock.json:723 Medium External URL 外部 URL
https://opencollective.com/fastify package-lock.json:925 Medium External URL 外部 URL
https://openapi.baidu.com/oauth/2.0/authorize?response_type=code&client_id=$ src/auth.js:54 Medium External URL 外部 URL
https://openapi.baidu.com/oauth/2.0/token src/auth.js:80 Medium External URL 外部 URL
https://pan.baidu.com/rest/2.0/xpan src/baidu-api.js:40 Medium External URL 外部 URL
https://pan.baidu.com/union/doc/pksg0s9ns src/baidu-api.js:99 Medium External URL 外部 URL
https://pan.baidu.com/rest/2.0/xpan/nas src/baidu-api.js:103 Medium External URL 外部 URL
https://pan.baidu.com/rest/2.0/xpan/file src/baidu-api.js:131 Info Email 邮箱地址
[email protected] README.md:299 Info Email 邮箱地址
[email protected] SECURITY.md:161 Info Email 邮箱地址
[email protected] package-lock.json:1085 File Tree
13 files · 121.0 KB · 3972 lines JSON 4f · 2271L
Markdown 5f · 907L
JavaScript 3f · 686L
Shell 1f · 108L
├─
▾
docs
│ └─
QUICKSTART.md
Markdown
├─
▾
src
│ ├─
auth.js
JavaScript
│ ├─
baidu-api.js
JavaScript
│ └─
index.js
JavaScript
├─
_meta.json
JSON
├─
package-lock.json
JSON
├─
package.json
JSON
├─
README.md
Markdown
├─
SECURITY.md
Markdown
├─
skill.json
JSON
├─
SKILL.md
Markdown
├─
test-local.sh
Shell
└─
TODO.md
Markdown
Dependencies 6 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
axios | ^1.6.0 | npm | No | Version not pinned (caret range) |
crypto-js | ^4.2.0 | npm | No | Version not pinned; used for encryption (affected by hardcoded key) |
commander | ^11.1.0 | npm | No | Version not pinned |
conf | ^10.2.0 | npm | No | Version not pinned; handles config storage |
ora | ^5.4.1 | npm | No | Version not pinned; terminal spinner |
chalk | ^4.1.2 | npm | No | Version not pinned; terminal styling |
Security Positives
✓ No reverse shell, C2, or data exfiltration to third-party servers — all network traffic is exclusively to Baidu official APIs
✓ No base64-encoded execution, eval(), or other code obfuscation patterns
✓ No access to sensitive local paths (~/.ssh, ~/.aws, .env, credential files)
✓ No credential harvesting — tokens stored locally only, not transmitted elsewhere
✓ OAuth flow uses Baidu's official authorization page with user interaction
✓ Source code is straightforward and auditable — no hidden functionality found
✓ No curl|bash or wget|sh remote script execution patterns