Back to skill

Security audit

Deskcrew Bounty Hunter

Security checks for vulnerabilities and agentic risk

Overview

The skill's paid bounty workflow is coherent, but it asks users to run unpinned npm commands with wallet and API credentials, so it needs careful review before installation.

Install only if you are comfortable with the unpinned npm supply-chain risk. Use a fresh dedicated wallet with minimal USDC, a separate low-quota LLM API key, start with `--dry-run`, avoid exposing unrelated environment variables, and prefer pinned package versions or a reviewed source checkout before any paid run.

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

Error
Location
SKILL.md:66
Finding
Unpinned Third-Party Package Execution with Access to Financial Credentials## Vulnerability Details **File Location**: `SKILL.md:66-71` **Additional Location**: `SKILL.md:104` **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: High **Vulnerable Code Snippet**: ```bash export WALLET_KEY=... # DEDICATED wallet: EVM 0x key, or base58 Solana key export LLM_API_KEY=... # any OpenAI-compatible API for the drafting step export LLM_MODEL=... npx x402-bounty-hunter --dry-run # read and price the work, pay nothing npx x402-bounty-hunter # one real attempt at the best-odds bounty ``` A second unpinned package invocation is documented at `SKILL.md:104`: ```text Reference CLI: `npx @deskcrew/board-runner`. ``` ### Technical Analysis The skill instructs users to execute npm packages directly through `npx` without specifying an exact version, package integrity digest, lockfile, or immutable source revision. When a package is unavailable locally, `npx` can download and execute the version currently supplied by the npm registry. Consequently, the effective executable payload can change after this skill has been reviewed. This is particularly sensitive because the process runs after `WALLET_KEY` and `LLM_API_KEY` have been exported into its environment. The bounty client is also expected to sign real USDC payment authorizations and communicate with external services. A malicious package release, compromised publisher account, registry substitution, or compromised transitive dependency could therefore access secrets and execute arbitrary code under the invoking user's account. The documentation links to a GitHub repository and describes client-side safeguards, but the audited project contains no client source, dependency manifest, lockfile, integrity metadata, or reproducible-build evidence demonstrating that the npm artifact matches the referenced source. The claimed token pinning and spending limits therefore cannot be independently verified from the supplied file ...[truncated 2196 chars]
Remediation
## Remediation Suggestions 1. Pin every executable npm package to a reviewed exact version, such as `x402-bounty-hunter@X.Y.Z`, rather than relying on the registry's current release. 2. Verify the downloaded package with a trusted integrity digest and npm provenance metadata. Bind the artifact to a reviewed source commit and document the verification procedure. 3. Include auditable client source, a dependency manifest, and a lockfile in the skill package, or vendor the reviewed implementation rather than downloading executable code at runtime. 4. Use reproducible builds and publish signed release artifacts so users can confirm that the npm package corresponds to the referenced repository and commit. 5. Execute the client in a restricted container or sandbox with minimal filesystem access, outbound network access limited to necessary endpoints, and no unrelated environment variables or host credentials. 6. Continue requiring a dedicated, low-balance wallet. Do not place unrelated assets in it, and rotate the wallet immediately if package integrity is uncertain. 7. Use a separate, narrowly scoped LLM API credential with strict quota and billing limits. 8. Independently enforce transaction limits outside the downloaded client where possible, such as through restricted smart-wallet policies or wallet-level controls. 9. Apply the same pinning, integrity verification, and sandboxing controls to `@deskcrew/board-runner`. 10. Reconcile `WALLET_KEY` and `X402_KEY` throughout `SKILL.md` and `SECURITY.md` so the security model accurately identifies the secret consumed by the executable.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding
The skill instructs users to run an npm package via npx without pinning an exact version or integrity hash, which means the code fetched and executed can change over time. Because this skill also requires a dedicated wallet key and is explicitly designed to spend USDC and submit paid actions, a compromised or malicious package update could immediately exfiltrate secrets or trigger unauthorized blockchain transactions.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding
This is a second unpinned execution path for the same npm package, this time for the real paid attempt rather than dry-run. Executing mutable remote package code in a workflow that uses `WALLET_KEY` and performs value-bearing operations materially increases the risk of wallet compromise, fund theft, or silent substitution of transaction targets if the package supply chain is attacked.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The skill references `npx @deskcrew/board-runner` without version pinning for a tool that manages funded boards and one-time API keys. If the package or one of its dependencies is replaced or compromised, an attacker could capture board credentials, redirect deposits, post fraudulent tasks, or misuse the wallet in a monetized environment.

Static analysis

No suspicious patterns detected.