T08 · Insecure Dependencies
- Location
package.json:5- Finding
Unpinned and Unauditable Third-Party Runtime Dependency
- Content
View full analysis
Vulnerability Details
File Location:
package.json:5-8; related installation and secret-handling instructions atSKILL.md:10-17
Vulnerability Type: Supply-chain exposure through an unpinned external dependency
Risk Level: MediumVulnerable Code
package.json:5-8:json "main": "dist/index.js", "type": "module", "dependencies": { "openclaw-paperdaily": "^0.1.0" }SKILL.md:10-17:bash cd ~/.openclaw/skills/paperdaily npm installAfter installation, create the configuration file
node_modules/openclaw-paperdaily/.env:env # Feishu application configuration (required) FEISHU_APP_ID=your_app_id FEISHU_APP_SECRET=your_app_secretTechnical Analysis
The artifact does not contain the declared
dist/index.jsimplementation or any other runtime source code. Its functionality is therefore delegated entirely to the externally installedopenclaw-paperdailypackage.The dependency uses the range
^0.1.0rather than an exact version, and the reviewed artifact contains no lockfile or integrity metadata. A later package release satisfying this range may consequently be selected during installation. In addition,npm installmay execute lifecycle scripts supplied by resolved packages unless installation scripts are explicitly disabled.The documentation directs users to place a Feishu application secret in the dependency's own directory. Code in that dependency can inherently read this value once configured. Because the dependency implementation and resolved package version are absent from the audited artifact, its runtime network activity, credential handling, and correspondence with the stated arXiv recommendation behavior cannot be verified.
This finding does not establish that the current dependency is malicious. It establishes a supply-chain trust boundary that is mutable and not auditable from the submitted project.
Attack Path
- An attacker ...[truncated 1465 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
openclaw-paperdailyto a reviewed exact version rather than using a caret range. - Generate and commit a package lockfile containing resolved versions and integrity hashes, and use
npm cifor reproducible installation. - Vendor or include the actual runtime implementation in the audited artifact so its network behavior, credential handling, command handlers, and caching logic can be reviewed.
- Review the resolved dependency and its transitive dependencies before deployment, including lifecycle scripts and package ownership history.
- Install with lifecycle scripts disabled where they are unnecessary, for example using
npm ci --ignore-scripts. - Store credentials outside
node_modulesin a dedicated secret store or protected configuration path with least-privilege file permissions. - Grant the Feishu application only the minimum permissions required, rotate credentials after suspected dependency compromise, and monitor application API activity.
- Add automated dependency integrity, vulnerability, and provenance checks to the release process.
- Pin
