Back to skill

Security audit

Onchain CLI

Security checks for vulnerabilities and agentic risk

Overview

This skill is coherent for crypto tracking, but it asks users to run an unpinned external npm CLI that handles financial API keys and wallet/account data.

Review this carefully before installing. Use a pinned, reviewed package version where possible, avoid `npx` for sensitive workflows, and configure only read-only or least-privilege API keys. Treat wallet addresses, transaction hashes, balances, and exchange history as sensitive financial data that may be sent to third-party providers.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
README.md:6
Finding

Unpinned Third-Party npm Package Is Downloaded and Executed Without Verifiable Source

Content
View full analysis

Vulnerability Details

File Location: README.md:6-11
Vulnerability Type: Unverified and unpinned third-party dependency execution
Risk Level: Medium

bash
npm install -g @cyberdrk/onchain

Or run directly with npx:

bash
npx @cyberdrk/onchain price btc

Technical Analysis

The documented installation methods download and execute the current registry release of @cyberdrk/onchain without specifying an exact version or verifying an integrity hash. The supplied project contains only documentation and does not include the CLI source code, package.json, a lockfile, checksums, or other materials needed to audit the installed package.

npm install -g can execute npm lifecycle scripts and persist a globally available executable. The npx alternative can retrieve and immediately execute package code. Consequently, the code executed by users or agents can differ from the content reviewed in this project and may change whenever a new package version is published.

The exposure is particularly sensitive because SKILL.md:8-18 instructs users to configure credentials for Coinbase, Binance, DeBank, and Helius. Once configured, the unaudited executable may be able to access those credentials and make authenticated requests using the permissions assigned to them.

Attack Path

  1. A user or AI agent follows the installation instructions in README.md.
  2. npm resolves the latest available release of @cyberdrk/onchain rather than a fixed, previously reviewed artifact.
  3. The downloaded package and any applicable lifecycle scripts execute with the permissions of the invoking user.
  4. The user follows the setup instructions and supplies exchange or provider API credentials.
  5. If the npm publisher account, registry artifact, dependency tree, or future package release is compromised, malicious code can read accessible configuration and environment data.
  6. The malicious package can transmit expos ...[truncated 897 chars]
Remediation
View remediation

Remediation Suggestions

  1. Include the CLI source code and complete package metadata in the reviewed project so its behavior can be audited.
  2. Pin installation instructions to an exact, security-reviewed package version instead of allowing npm to resolve the latest release.
  3. Publish and document a cryptographic integrity value for the reviewed package artifact, and require verification before execution.
  4. Commit a lockfile and use reproducible release procedures to constrain transitive dependencies.
  5. Avoid recommending automatic npx execution of an unverified remote package. Prefer a locally verified artifact or a controlled installation process.
  6. Review and minimize npm lifecycle scripts. Where operationally feasible, install with lifecycle scripts disabled and explicitly execute only required build steps.
  7. Store credentials using an operating-system credential manager or similarly protected secret store rather than an ordinary plaintext configuration file.
  8. Require least-privilege API credentials. Exchange keys should be read-only, with trading, transfer, and withdrawal permissions disabled unless strictly necessary.
  9. Document package provenance, release signing, maintainer controls, and a process for responding to compromised npm releases.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (4)

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The README recommends running the package via npx @cyberdrk/onchain without pinning a specific version. This causes users and agents to fetch and execute whatever code is currently published under that package name, increasing supply-chain risk if a malicious or compromised release is published later. Because this skill is explicitly designed for AI agent integration, automated systems may execute the command with little review, making the exposure more dangerous.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The README advertises wallet balance, transaction history, portfolio, and exchange-history commands but does not clearly warn that these operations transmit wallet addresses and potentially account-linked financial data to third-party providers such as DeBank, Helius, Coinbase, and Binance. This omission can mislead users and agents into sending sensitive financial metadata off-box without informed consent, creating privacy, compliance, and data-handling risks. In the context of a crypto/portfolio skill, this is especially relevant because blockchain addresses and exchange activity can be highly identifying and financially sensitive.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill explicitly supports wallet balances, portfolio views, transaction history, and CEX account access via user-configured API keys, but it does not warn users that these actions involve privacy-sensitive financial data. In an agent context, users may not realize that invoking these commands can expose holdings, trading history, and linked exchange account data to the local tool and upstream third-party providers, increasing the risk of unintended disclosure.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The transaction lookup feature accepts wallet-linked transaction hashes and explorer URLs and states that the CLI queries Etherscan/Solscan APIs directly, but it does not clearly warn users that these identifiers will be transmitted to third-party services. Because transaction hashes, addresses, and explorer URLs can reveal sensitive financial activity or identity-linked onchain behavior, omission of this warning can lead to privacy-impacting disclosure without informed consent.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.