T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:5
- Finding
- Unpinned Third-Party CLI Installation Creates a Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, lines 5–13 **Vulnerability Type**: Unpinned executable dependency from mutable upstream sources **Risk Level**: Medium ### Vulnerable Code ```yaml metadata: {"openclaw":{"emoji":"📝","requires":{"bins":["porteden"],"env":["PE_API_KEY"]},"primaryEnv":"PE_API_KEY","install":[{"id":"brew","kind":"brew","formula":"porteden/tap/porteden","bins":["porteden"],"label":"Install porteden (brew)"},{"id":"go","kind":"go","module":"github.com/porteden/cli/cmd/porteden@latest","bins":["porteden"],"label":"Install porteden (go)"}]}} ``` ```markdown If `porteden` is not installed: `brew install porteden/tap/porteden` (or `go install github.com/porteden/cli/cmd/porteden@latest`). ``` ### Technical Analysis The skill directs users or agents to install and execute the `porteden` CLI from mutable third-party sources. In particular, the Go installation uses `@latest`, which resolves to whichever upstream version is current at installation time rather than a version reviewed during this audit. The custom Homebrew tap is also installed without a pinned version, commit, checksum, or signature-verification procedure. This creates a time-of-check/time-of-use supply-chain gap: the code executed by a future user may differ from the dependency available when the skill was reviewed. This dependency is security-sensitive because the skill requires `PE_API_KEY`, supports authentication tokens stored in the system keyring, and uses the installed CLI to access connected Google Drive resources. No evidence establishes that the current upstream dependency is malicious. The vulnerability is the unsafe, mutable dependency-installation mechanism and the absence of integrity controls. ### Attack Path 1. An attacker compromises the upstream Go repository, release process, PortEden Homebrew tap, or an authorized publisher account. 2. The attacker publishes a malicious version that beco ...[truncated 1552 chars]
- Remediation
- ## Remediation Suggestions 1. Replace `github.com/porteden/cli/cmd/porteden@latest` with a specific, reviewed release version. 2. Where practical, pin the dependency to an immutable source commit rather than a mutable tag. 3. Pin the Homebrew installation to a reviewed release and avoid silently tracking the current tap formula. 4. Publish cryptographic checksums for supported binaries and require checksum verification before execution. 5. Use signed releases or artifact attestations and document how users must verify the publisher signature. 6. Maintain a documented dependency-update process that includes source review, security testing, and explicit version changes in `SKILL.md`. 7. Run the CLI with least-privilege Drive scopes and narrowly scoped PortEden tokens to reduce the impact of a compromised dependency. 8. Avoid exposing unrelated secrets to the CLI process; use a restricted environment containing only the variables required for the logging workflow.
