T08 · Insecure Dependencies
- Location
SKILL.md:185- Finding
Unpinned npm Package Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:185,SKILL.md:276, andSKILL.md:433
Vulnerability Type: Unpinned third-party package execution
Risk Level: MediumVulnerable Code Snippets
SKILL.md:185:shell npx onekey agent craftsman-agent/craftsman-agent toy_generator_design_draft '{"prompt":"Stuffed Steve in Minecraft","images":["https://static.aiagenta2z.com/container/craftsman-agent/default/static/derekzz/a49f905b-4e0d-40c6-af7a-c37be3d1741e/3ccb042bbd9b41c3a9f5d31c564ef4c0.png"],"asset_size":"small","template_id":"stuffed-toy","provider_model_id":"default","session_name":"3D Build Plan","tag_list":"","mode":"demo"}'SKILL.md:276:shell npx onekey agent craftsman-agent/craftsman-agent toy_generator_task_create '{"prompt":"","images":["https://static.aiagenta2z.com/container/craftsman-agent/default/static/derekzz/a49f905b-4e0d-40c6-af7a-c37be3d1741e/3ccb042bbd9b41c3a9f5d31c564ef4c0.png"],"multi_view":{"front":"https://craftsman-agent.aiagenta2z.com/static/derekzz/75302fb3-b0f4-4bfe-a406-1c97eda64dbf/build_front.png","right":"https://craftsman-agent.aiagenta2z.com/static/derekzz/75302fb3-b0f4-4bfe-a406-1c97eda64dbf/build_right.png","back":"https://craftsman-agent.aiagenta2z.com/static/derekzz/75302fb3-b0f4-4bfe-a406-1c97eda64dbf/build_back.png"},"asset_size":"small","template_id":"stuffed-toy","provider_model_id":"tripo/tripo","model":"P1-20260311","session_name":"3D Build Plan","tag_list":"","mode":"basic"}'SKILL.md:433:shell npx onekey agent craftsman-agent/craftsman-agent toy_generator_task_poll '{"task_id":"96b2116e-4b86-4d3c-af04-baf0da0c23ac","kwargs":{"provider_model_id":"tripo/tripo","mode":"basic"}}'Technical Analysis
The documented commands invoke the
onekeynpm package throughnpxwithout specifying an exact package version or verifying its integrity. If the package is not already available locally,npxmay retrieve the current release from the configured npm registry and execu ...[truncated 2083 chars]- Remediation
View remediation
Remediation Suggestions
-
Replace unversioned invocations with an exact, reviewed version, for example:
shell npx --yes onekey@X.Y.Z agent craftsman-agent/craftsman-agent ...Substitute
X.Y.Zwith a verified release rather than a floating tag. -
Document the authoritative npm package URL, expected publisher, and verified package provenance so users can detect dependency-confusion or package-identity problems.
-
Prefer installation through a committed lockfile using deterministic installation, such as
npm ci, rather than downloading a mutable package at invocation time. -
Verify package integrity through lockfile integrity metadata, signed provenance, trusted-publisher attestations, or independently published checksums.
-
Disable dependency lifecycle scripts during installation where compatible with the package:
shell npm ci --ignore-scripts -
Prefer the documented direct HTTPS REST API examples when local package execution and provenance verification are unnecessary.
-
Run the client with least privilege and expose only the required credential for the shortest possible duration. Use a narrowly scoped, revocable access key and rotate it if package compromise is suspected.
-
Execute the client in a restricted environment or container with limited filesystem and network access when handling sensitive credentials.
-
