T08 · Insecure Dependencies
- Location
package.json:37- Finding
Unpinned Dependencies and Missing Lockfile Create Supply-Chain Exposure
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a local reading-note formatter with no artifact-backed evidence of data theft, persistence, or unsafe hidden behavior, though its dependency documentation should be clearer.
Before installing, understand that the note processing code appears local-only, but a source install using npm will resolve third-party packages dynamically unless the publisher adds a lockfile or pins versions. Prefer installing through a trusted ClawHub release path or in a low-privilege environment, and treat the 'No External Dependencies' claim as meaning no external note-processing APIs, not no npm dependencies.
package.json:37Unpinned Dependencies and Missing Lockfile Create Supply-Chain Exposure
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
`What are the limitations or counterarguments to consider?`,
`How does this fit into a broader context or system?`
];
return prompts.slice(0, 5); // Return top 5 prompts
}
/**
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
`What are the limitations or counterarguments to consider?`,
`How does this fit into a broader context or system?`
];
return prompts.slice(0, 5); // Return top 5 prompts
}
/**
The runtime dependency on openclaw is specified with a caret range, allowing newer compatible releases to be installed over time. This weakens build reproducibility and can silently introduce vulnerable or malicious upstream changes into the skill, which matters more for a framework package that executes the skill.
},
"homepage": "https://github.com/harrylabs0913/openclaw-skill-reading-notes#readme",
"dependencies": {
"openclaw": "^2026.3.0"
},
"devDependencies": {
"@types/node": "^20.10.0",
The manifest uses an unpinned openclaw version while the package has multiple known advisories, making it impossible to verify whether installed builds are affected. Because openclaw is the primary runtime framework for the skill, a vulnerable resolved version could materially affect execution security despite the skill claiming to be 'local only' and 'safe'.
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
"openclaw": "^2026.3.0"
},
"devDependencies": {
"@types/node": "^20.10.0",
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser": "^6.13.2",
"esbuild": "^0.19.8",
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
},
"devDependencies": {
"@types/node": "^20.10.0",
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser": "^6.13.2",
"esbuild": "^0.19.8",
"eslint": "^8.55.0",
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
"devDependencies": {
"@types/node": "^20.10.0",
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser": "^6.13.2",
"esbuild": "^0.19.8",
"eslint": "^8.55.0",
"jest": "^29.7.0",
esbuild is unpinned and has known security history; allowing version drift in a build tool increases supply-chain exposure during local development and publishing. Although this is not part of normal runtime behavior, compromised build-time tooling can taint produced artifacts.
"@types/node": "^20.10.0",
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser": "^6.13.2",
"esbuild": "^0.19.8",
"eslint": "^8.55.0",
"jest": "^29.7.0",
"prettier": "^3.1.0",
esbuild has known advisories and is not pinned, so the build environment may resolve to an affected release. In this skill context it is less dangerous than a runtime library because it is used for bundling, but compromised build tooling can still expose developers or poison generated artifacts.
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser": "^6.13.2",
"esbuild": "^0.19.8",
"eslint": "^8.55.0",
"jest": "^29.7.0",
"prettier": "^3.1.0",
"ts-jest": "^29.1.1",
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
"@typescript-eslint/parser": "^6.13.2",
"esbuild": "^0.19.8",
"eslint": "^8.55.0",
"jest": "^29.7.0",
"prettier": "^3.1.0",
"ts-jest": "^29.1.1",
"typescript": "^5.3.2"
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
"esbuild": "^0.19.8",
"eslint": "^8.55.0",
"jest": "^29.7.0",
"prettier": "^3.1.0",
"ts-jest": "^29.1.1",
"typescript": "^5.3.2"
},
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
"eslint": "^8.55.0",
"jest": "^29.7.0",
"prettier": "^3.1.0",
"ts-jest": "^29.1.1",
"typescript": "^5.3.2"
},
"engines": {
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
"jest": "^29.7.0",
"prettier": "^3.1.0",
"ts-jest": "^29.1.1",
"typescript": "^5.3.2"
},
"engines": {
"node": ">=18.0.0"
No suspicious patterns detected.