T08 · Insecure Dependencies
- Location
apps/openclaw-integration/dist/index.js:6- Finding
Unverifiable External Security Modules Create a Supply-Chain Trust Boundary
- Content
View full analysis
Vulnerability Details
File Location:
apps/openclaw-integration/dist/index.js:6-10
Vulnerability Type: Unpinned and unauditable runtime dependencies
Risk Level: HighComplete Code Snippet:
js import { createCore, closeCore, } from '@shieldclaw/core'; import ScanPlugin from '@shieldclaw/scan'; import GuardPlugin from '@shieldclaw/guard'; import AuditPlugin from '@shieldclaw/audit'; import VaultPlugin from '@shieldclaw/vault';The equivalent imports also appear in
dist/index.js:4-8.Technical Analysis
The integration delegates its principal security functionality to four external
@shieldclaw/*packages. The audited artifact does not contain their implementations, a package manifest identifying exact versions, a lockfile, or integrity metadata.These modules are loaded and activated during application initialization. They receive access to the ShieldClaw core, event bus, hook framework, notifications, dialogs, and command registration interfaces. Consequently, their actual filesystem, network, logging, encryption, and sensitive-data behavior cannot be validated from this artifact.
This is a supply-chain risk rather than proof that the named packages are malicious. Exploitation requires an attacker to compromise package distribution, influence module resolution, substitute a package, or publish a malicious package under a resolvable namespace.
Attack Path
- An attacker compromises a dependency release, registry account, installation source, or local module-resolution path.
- The application resolves one of the imported
@shieldclaw/*modules to attacker-controlled code. OpenClawApp.initialize()automatically loads and activates the substituted module.- The malicious module executes within the application process.
- It abuses the granted storage, filesystem, or network capabilities to access or transmit data, modify security decisions, or interfere with audit record ...[truncated 403 chars]
- Remediation
View remediation
Remediation Suggestions
- Include a package manifest and lockfile with exact dependency versions.
- Enforce package integrity hashes and verified registry provenance during installation.
- Bundle or publish auditable source for all
@shieldclaw/*runtime modules. - Generate and distribute an SBOM covering direct and transitive dependencies.
- Use trusted publishing, signed releases, protected package-owner accounts, and reproducible builds.
- Prevent loading dependencies from uncontrolled search paths.
- Give each plugin only the specific capabilities required for its function instead of sharing a broadly privileged core interface.
- Add automated dependency scanning and review dependency changes before release.
