高风险 — 风险评分 68/100
上次扫描:1 天前 重新扫描
68 /100
kuaidi-query
Query logistics tracking information via Track123 API
This skill contains critical security issues including exposed real API credentials in config.json, undeclared filesystem and network access, and a vulnerable dependency with unpinned axios version.
技能名称kuaidi-query
分析耗时36.8s
引擎pi
不要安装此技能
Remove config.json immediately, add allowed-tools declaration for network:READ and filesystem:READ/WRITE, pin axios version, and do not commit credentials to version control.

安全发现 5 项

严重性 安全发现 位置
严重
Hardcoded API Credentials Exposed 凭证窃取
Real Track123 API credentials are hardcoded in config.json with app_key and api_secret values. These credentials are committed to the repository and publicly visible.
"app_key": "120cb954891a4d9aa1418c7012225afb",
"api_secret": "120cb954891a4d9aa1418c7012225afb"
→ Remove config.json from repository, add it to .gitignore, and use environment variables or a secrets manager for credentials
config.json:2
高危
Undeclared Network Access 权限提升
The skill makes HTTPS requests to api.track123.com but SKILL.md does not declare network:READ capability in allowed-tools mapping
const API_BASE = 'https://api.track123.com/gateway/open-api/tk/v2';
→ Add network:READ to allowed-tools declaration in SKILL.md metadata
scripts/query.js:56
高危
Undeclared Filesystem Access 权限提升
The skill reads config.json and writes .cache.json without declaring filesystem:READ/WRITE capabilities
fs.readFileSync(CONFIG_PATH, 'utf-8')
→ Add filesystem:READ and filesystem:WRITE to allowed-tools declaration
scripts/query.js:37
中危
Unpinned Dependency Version 供应链
axios dependency uses ^1.13.6 which allows automatic updates to higher minor/patch versions that could contain security vulnerabilities
"axios": "^1.13.6"
→ Pin axios to exact version: "axios": "1.13.6" or use a lockfile
package.json:9
低危
API Endpoint Mismatch 文档欺骗
Reference docs show v2.1 API endpoints but code uses v2. Authentication method also differs (app_key in body vs Track123-Api-Secret header)
Docs: /tk/v2.1/track/query-realtime, Code: /tk/v2/track/query
→ Ensure documentation matches implementation
references/track123-api.md vs scripts/query.js
资源类型声明权限推断权限状态证据
网络访问 NONE READ ✗ 越权 scripts/query.js:56 - axios.post to api.track123.com
文件系统 NONE READ ✗ 越权 scripts/query.js:37 - fs.readFileSync(CONFIG_PATH)
文件系统 NONE WRITE ✗ 越权 scripts/query.js:79 - fs.writeFileSync(CACHE_PATH)
28 项发现
🔗
中危 外部 URL 外部 URL
https://www.track123.com/
SKILL.md:155
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz
package-lock.json:17
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/axios/-/axios-1.13.6.tgz
package-lock.json:23
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz
package-lock.json:34
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz
package-lock.json:47
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz
package-lock.json:59
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz
package-lock.json:68
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz
package-lock.json:82
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz
package-lock.json:91
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz
package-lock.json:100
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz
package-lock.json:112
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz
package-lock.json:127
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/form-data/-/form-data-4.0.5.tgz
package-lock.json:147
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz
package-lock.json:163
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz
package-lock.json:172
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz
package-lock.json:196
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz
package-lock.json:209
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz
package-lock.json:221
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz
package-lock.json:233
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz
package-lock.json:248
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz
package-lock.json:260
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz
package-lock.json:269
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz
package-lock.json:278
🔗
中危 外部 URL 外部 URL
https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz
package-lock.json:290
🔗
中危 外部 URL 外部 URL
https://api.track123.com/gateway/open-api/tk/v2.1
references/track123-api.md:5
🔗
中危 外部 URL 外部 URL
https://api.track123.com/gateway/open-api/tk/v2.1/track/query-realtime
references/track123-api.md:47
🔗
中危 外部 URL 外部 URL
https://docs.track123.com/
references/track123-api.md:258
🔗
中危 外部 URL 外部 URL
https://api.track123.com/gateway/open-api/tk/v2
scripts/query.js:21

目录结构

9 文件 · 42.9 KB · 1670 行
Markdown 3f · 820L JavaScript 1f · 525L JSON 5f · 325L
├─ 📁 references
│ ├─ 📝 examples.md Markdown 337L · 6.2 KB
│ └─ 📝 track123-api.md Markdown 260L · 5.5 KB
├─ 📁 scripts
│ └─ 📜 query.js JavaScript 525L · 15.7 KB
├─ 📋 _meta.json JSON 5L · 131 B
├─ 📋 config.example.json JSON 7L · 121 B
├─ 🔑 config.json JSON 8L · 175 B
├─ 📋 package-lock.json JSON 295L · 10.1 KB
├─ 📋 package.json JSON 10L · 222 B
└─ 📝 SKILL.md Markdown 223L · 4.8 KB

依赖分析 1 项

包名版本来源已知漏洞备注
axios ^1.13.6 npm Version not pinned, uses caret range allowing updates

安全亮点

✓ Skill implements basic security practices like input validation for carrier codes
✓ API credentials are validated before use with error messages
✓ Caching mechanism uses timestamps to prevent stale data
✓ No reverse shell, C2 communication, or obvious malicious behavior detected
✓ Uses standard axios library instead of custom network code