T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Third-Party CLI Receives Wallet Private Key Access
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 5-5
Vulnerability Type: Unpinned third-party dependency with access to sensitive wallet credentials
Risk Level: HighVulnerable Code
yaml metadata: { "openclaw": { "requires": { "bins": ["outsmart"], "env": ["PRIVATE_KEY", "MAINNET_ENDPOINT"] }, "install": [{ "id": "node", "kind": "node", "package": "outsmart", "bins": ["outsmart"], "label": "Install outsmart CLI (npm)" }] } }The installed CLI is subsequently instructed to perform wallet-backed mainnet operations:
bash outsmart create-coin --name "Token Name" --symbol "TICKER" --metadata-uri "https://arweave.net/..."bash outsmart create-pool --dex meteora-damm-v2 --token MINT \ --base-amount 1000000 --quote-amount 0.5 \ --max-fee 9900 --min-fee 200 --duration 86400 --periods 100 outsmart add-liq --dex meteora-dlmm --pool POOL --sol 0.5 --strategy spot --bins 50Technical Analysis
The Skill installs the npm package
outsmartwithout specifying an exact version, lockfile integrity value, artifact digest, or verifiable package provenance. The executable is therefore resolved from mutable third-party registry state at installation time.At the same time, the Skill declares
PRIVATE_KEYandMAINNET_ENDPOINTas required environment variables. The installed executable can consequently inherit or otherwise access a private signing key while carrying out token creation and liquidity operations. The referenced GitHub homepage does not cryptographically establish that the npm artifact installed at runtime corresponds to reviewed source code.No direct malicious implementation was found in
SKILL.md; the risk arises from delegating sensitive mainnet operations to an unpinned and unaudited dependency.Attack Path
- An attacker compromises the npm publisher account, package distribution process, or a future release of
outsmart. - The Skill installs the package without a version pin or integrity ve ...[truncated 1205 chars]
- An attacker compromises the npm publisher account, package distribution process, or a future release of
- Remediation
View remediation
Remediation Suggestions
- Pin
outsmartto a specific, audited version rather than resolving an unspecified registry release. - Enforce lockfile integrity hashes or an equivalent immutable artifact digest during installation.
- Verify npm publisher identity, package provenance, release signatures, and correspondence between the published artifact and reviewed repository source.
- Vendor and review the executable source where practical, and build it through a controlled, reproducible process.
- Do not expose a raw wallet private key to the CLI. Prefer a hardware wallet, external signer, isolated signing service, or narrowly scoped transaction-approval interface.
- Use a dedicated low-value burner wallet with only the funds required for the intended transaction.
- Decode and display the complete transaction—including programs, accounts, recipients, amounts, and authorities—before requesting explicit user approval and signing.
- Restrict network egress and runtime permissions so the CLI cannot transmit credentials to unrelated endpoints.
- Rotate the wallet key immediately if it has already been exposed to an untrusted or unverifiable package release.
- Pin
