Why this conclusion was reached
1/4 dimensions flagged Pass Declared vs actual capability Declared resources and inferred behavior are broadly aligned.
Review Hidden execution and egress 28 lower-risk artifacts were extracted and still need context.
Block Attack chain and severe findings The report includes 0 attack-chain steps and 1 severe findings.
Review Dependencies and supply chain hygiene 1 dependency or supply-chain issues need attention.
What drove the risk score up
config.json 含硬编码 API 密钥 +20
Track123 API 密钥明文存储在配置文件中,若该文件被上传至公开仓库将导致凭证泄露
权限声明与实际能力存在偏差 +5
SKILL.md 未明确声明 filesystem:WRITE(写缓存)和 network:WRITE(向 Track123 API 发请求)
Most important evidence
High Credential Theft
config.json 包含硬编码 API 密钥
config.json 中明文存储了 Track123 API 的 app_key 和 api_secret (值均为 120cb954891a4d9aa1418c7012225afb)。该文件通常不应提交到版本库,若被公开将导致凭证泄露。建议使用环境变量或 .env 文件替代。
config.json:2 将 config.json 加入 .gitignore,通过环境变量 TRACK123_API_SECRET 注入凭证,或使用 dotenv 库加载 .env 文件
Low Doc Mismatch
SKILL.md 未声明实际需要的权限
SKILL.md 未提及需要 filesystem:WRITE 权限(写缓存)和 network:WRITE 权限(向 Track123 API 发请求)。虽然这些操作是功能必需的,但声明缺失会导致权限审核不准确。
SKILL.md:1 在 SKILL.md 末尾添加 allowed-tools 声明:Read (filesystem:READ), Write (filesystem:WRITE), WebFetch (network:WRITE)
Low Supply Chain
axios 依赖无版本锁定
package.json 中 axios 版本为 ^1.13.6,使用 caret 范围而非固定版本,可能引入供应链风险。
package.json:11 使用精确版本 "axios": "1.13.6" 或锁定 lockfile 版本
Declared capability vs actual capability
Filesystem Pass
Declared NONE
→ Inferred WRITE
scripts/query.js:24 写 .cache.json,:23 读 config.json Network Pass
Declared NONE
→ Inferred WRITE
scripts/query.js:108,139,162 通过 axios 发送 POST 请求到 api.track123.com
Suspicious artifacts and egress
Medium External URL
https://www.track123.com/ SKILL.md:155
Medium External URL
https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz package-lock.json:17
Medium External URL
https://registry.npmmirror.com/axios/-/axios-1.13.6.tgz package-lock.json:23
Medium External URL
https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz package-lock.json:34
Medium External URL
https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz package-lock.json:47
Medium External URL
https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz package-lock.json:59
Medium External URL
https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz package-lock.json:68
Medium External URL
https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz package-lock.json:82
Medium External URL
https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz package-lock.json:91
Medium External URL
https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz package-lock.json:100
Medium External URL
https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz package-lock.json:112
Medium External URL
https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz package-lock.json:127
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
| axios | ^1.13.6 | npm | No | 使用 caret ^ 范围,未锁定精确版本 |
File composition
9 files · 1670 lines Markdown 3 files · 820 linesJavaScript 1 files · 525 linesJSON 5 files · 325 lines
Files of concern · 6
config.json JSON · 8 lines
config.json 包含硬编码 API 密钥
scripts/query.js JavaScript · 525 lines
https://api.track123.com/gateway/open-api/tk/v2
package-lock.json JSON · 295 lines
https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz · https://registry.npmmirror.com/axios/-/axios-1.13.6.tgz · https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz · https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz · https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz · https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz · https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz · https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz · https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz · https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz · https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz · https://registry.npmmirror.com/form-data/-/form-data-4.0.5.tgz · https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz · https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz · https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz · https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz · https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz · https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz · https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz · https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz · https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz · https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz · https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz
references/track123-api.md Markdown · 260 lines
https://api.track123.com/gateway/open-api/tk/v2.1 · https://api.track123.com/gateway/open-api/tk/v2.1/track/query-realtime · https://docs.track123.com/
SKILL.md Markdown · 223 lines
SKILL.md 未声明实际需要的权限 · https://www.track123.com/
package.json JSON · 10 lines
axios 依赖无版本锁定
Other files · examples.md · _meta.json · config.example.json
9 files · 42.9 KB · 1670 lines
Markdown 3f · 820LJavaScript 1f · 525LJSON 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
├─
📝
SKILL.md
Markdown
223L · 4.8 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
Security positives
代码结构清晰,无混淆或 Base64 编码执行
无敏感路径遍历(如 ~/.ssh、~/.aws、.env 等)
无环境变量中敏感关键字的遍历收割行为
无远程脚本下载执行(curl|bash 管道)
API 调用仅限于声明的 Track123 服务,无外部 IP 连接
代码逻辑与文档描述功能一致,无阴影功能