T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:20
- Finding
- Unpinned External Trading CLI Creates a Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md:20-37`; also referenced in `README.md:25` **Vulnerability Type**: T08: Insecure Dependencies **Risk Level**: Medium ### Vulnerable Code `SKILL.md:20-37`: ```bash ## Installation ### macOS / Linux (Homebrew) ```bash brew install 6missedcalls/tap/kalshi-cli ``` ### Go Install (requires Go 1.25+) ```bash go install github.com/6missedcalls/kalshi-cli/cmd/kalshi-cli@latest ``` ### Build from Source ```bash git clone https://github.com/6missedcalls/kalshi-cli.git cd kalshi-cli go build -o kalshi-cli ./cmd/kalshi-cli ``` ``` `README.md:25`: ```bash brew install 6missedcalls/tap/kalshi-cli ``` ### Technical Analysis The Skill delegates authentication, account-data access, and financial trading operations to the externally installed `kalshi-cli` executable. The documented installation methods use mutable or insufficiently pinned sources: - A third-party Homebrew tap without a documented package checksum or signature. - Go installation using the mutable `@latest` selector. - A Git clone of the repository's default branch without a pinned commit or release tag. The audited project does not include the CLI source and does not specify a verified release version, commit hash, cryptographic checksum, or trusted signature. Consequently, the executable installed by a user can differ from the executable reviewed when the Skill was published. This risk is particularly significant because the CLI is instructed to receive Kalshi API credentials, access balances and positions, and submit, amend, or cancel orders. The Skill also documents production mode and non-interactive confirmation bypasses. No evidence shows that the current upstream dependency is malicious; the vulnerability is the absence of reproducible and integrity-verified dependency resolution. ### Attack Path 1. An attacker compromises the upstream GitHub repository, Homebrew tap, rel ...[truncated 1730 chars]
- Remediation
- ## Remediation Suggestions 1. Replace `@latest` with an explicitly audited semantic version: ```bash go install github.com/6missedcalls/kalshi-cli/cmd/kalshi-cli@vX.Y.Z ``` 2. Pin source builds to a reviewed commit or signed release tag: ```bash git clone --branch vX.Y.Z --depth 1 https://github.com/6missedcalls/kalshi-cli.git cd kalshi-cli git verify-tag vX.Y.Z ``` 3. Publish expected SHA-256 checksums for supported binaries and require verification before execution. 4. Prefer signed release artifacts and document how users can validate the publisher's signing identity. 5. Pin the Homebrew formula to an audited release whose source URL and checksum are immutable. Document the exact expected formula version. 6. Add the audited CLI version and commit hash to `_meta.json` or a dependency lock manifest so Skill releases are reproducible. 7. Validate the pinned dependency in demo mode before permitting production use. 8. Recommend narrowly scoped API credentials where supported. Users should rotate or revoke credentials immediately if dependency integrity is uncertain. 9. Avoid passing private-key material directly through command-line arguments. Prefer protected key files or operating-system keyrings with restrictive permissions. 10. Preserve the existing requirement for explicit confirmation before production trading, and do not use `--yes` for real-money operations unless the user has explicitly authorized a separately reviewed automation workflow.
