kuaidi-query
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.
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.
config.json:2 Why this conclusion was reached
2/4 dimensions flagged3 undeclared or violating capabilities were inferred.
28 lower-risk artifacts were extracted and still need context.
The report includes 0 attack-chain steps and 3 severe findings.
1 dependency or supply-chain issues need attention.
What drove the risk score up
Real Track123 API keys hardcoded and committed to repository
Makes HTTPS requests to api.track123.com without declaring network:READ
Reads config.json and writes .cache.json without filesystem capability declaration
axios uses ^1.13.6 allowing updates to potentially vulnerable versions
Most important evidence
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.
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
scripts/query.js:56 Undeclared Filesystem Access
The skill reads config.json and writes .cache.json without declaring filesystem:READ/WRITE capabilities
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
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)
references/track123-api.md vs scripts/query.js Declared capability vs actual capability
scripts/query.js:56 - axios.post to api.track123.com scripts/query.js:37 - fs.readFileSync(CONFIG_PATH) scripts/query.js:79 - fs.writeFileSync(CACHE_PATH) Suspicious artifacts and egress
https://www.track123.com/ SKILL.md:155
https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz package-lock.json:17
https://registry.npmmirror.com/axios/-/axios-1.13.6.tgz package-lock.json:23
https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz package-lock.json:34
https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz package-lock.json:47
https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz package-lock.json:59
https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz package-lock.json:68
https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz package-lock.json:82
https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz package-lock.json:91
https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz package-lock.json:100
https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz package-lock.json:112
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 | Version not pinned, uses caret range allowing updates |
File composition
config.json scripts/query.js package-lock.json references/track123-api.md SKILL.md package.json