T08 · Insecure Dependencies
Warning
- Location
- package.json:5
- Finding
- Unpinned and Unauditable Third-Party Runtime Dependency## Vulnerability Details **File Location**: `package.json:5-8`; related installation and secret-handling instructions at `SKILL.md:10-17` **Vulnerability Type**: Supply-chain exposure through an unpinned external dependency **Risk Level**: Medium ### Vulnerable 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 install ``` After 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_secret ``` ### Technical Analysis The artifact does not contain the declared `dist/index.js` implementation or any other runtime source code. Its functionality is therefore delegated entirely to the externally installed `openclaw-paperdaily` package. The dependency uses the range `^0.1.0` rather 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 install` may 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 1. An attacker ...[truncated 1465 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `openclaw-paperdaily` to a reviewed exact version rather than using a caret range. 2. Generate and commit a package lockfile containing resolved versions and integrity hashes, and use `npm ci` for reproducible installation. 3. 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. 4. Review the resolved dependency and its transitive dependencies before deployment, including lifecycle scripts and package ownership history. 5. Install with lifecycle scripts disabled where they are unnecessary, for example using `npm ci --ignore-scripts`. 6. Store credentials outside `node_modules` in a dedicated secret store or protected configuration path with least-privilege file permissions. 7. Grant the Feishu application only the minimum permissions required, rotate credentials after suspected dependency compromise, and monitor application API activity. 8. Add automated dependency integrity, vulnerability, and provenance checks to the release process.
