Back to skill

Security audit

House Auction

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent House auction MCP, but it can make real crypto auction transactions with API-key access and has under-scoped safeguards around endpoint configuration, package installation, and autonomous bidding.

Install only if you are comfortable giving this MCP a House bot API key tied to a funded wallet. Use a low-balance, dedicated bot wallet; set explicit bid limits; avoid broad auto-bid rules; verify AUCTION_HOUSE_URL is unset or points only to the intended House API; and prefer a pinned, reviewed package version rather than unversioned npx/global install.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
src/client.ts:7
Finding

API key can be transmitted to an arbitrary configurable endpoint

Content
View full analysis
( method: string, path: string, body?: any ): Promise> { const url = `${getBaseUrl()}/api/v1${path}`; const headers: Record = { 'x-api-key': getApiKey(), 'Content-Type': 'application/json', }; const res = await fetch(url, { method, headers, body: body ? JSON.stringify(body) : undefined, }); ``` ### Technical Analysis The HTTP client permits `AUCTION_HOUSE_URL` to replace the expected `https://www.houseproto.fun` origin without validating the URL scheme or hostname. The client then includes `AUCTION_HOUSE_API_KEY` in the `x-api-key` header on every request to that configured origin. An environment variable override may be useful for development, but sending an authorization credential to an unrestricted destination exceeds the minimum privilege required for the declared production functionality. The Skill only needs to authenticate to the legitimate House API. A compromised launcher, MCP configuration, inherited environment, or deployment manifest can redirect all requests and disclose the key. The same request mechanism handles public searches, account information, wallet information, auction creation, and bidding. Therefore, invoking any exported tool is sufficient to trigger credential transmission. ### Attack Path 1. An attacker modifies the MCP configuration, process environment, deployment manifest, or launch script. 2. The attacker sets `AUCTION_HOUSE_URL` to an HTTPS server under their control. 3. The user or agent invokes any Skill tool, such as `search_auctions` or `wallet_info`. 4. `getBaseUrl()` accepts the attacker-controlled origin without validation. 5. `r ...[truncated 969 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
SKILL.md:5
Finding

Unpinned npm package installation and execution creates supply-chain exposure

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (27)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The skill's description understates its reach by omitting auction creation and exposure of account/balance information through wallet and bid-related tools. In the context of a crypto auction agent, incomplete disclosure of fund-related and state-changing abilities materially increases the risk of unsafe delegation.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill's description understates its reach by omitting auction creation and exposure of account/balance information through wallet and bid-related tools. In the context of a crypto auction agent, incomplete disclosure of fund-related and state-changing abilities materially increases the risk of unsafe delegation.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill's description understates its reach by omitting auction creation and exposure of account/balance information through wallet and bid-related tools. In the context of a crypto auction agent, incomplete disclosure of fund-related and state-changing abilities materially increases the risk of unsafe delegation.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The skill's description understates its reach by omitting auction creation and exposure of account/balance information through wallet and bid-related tools. In the context of a crypto auction agent, incomplete disclosure of fund-related and state-changing abilities materially increases the risk of unsafe delegation.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill's description understates its reach by omitting auction creation and exposure of account/balance information through wallet and bid-related tools. In the context of a crypto auction agent, incomplete disclosure of fund-related and state-changing abilities materially increases the risk of unsafe delegation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding

Using npx auction-house-mcp without a pinned version allows the latest package version to be fetched at runtime, which creates a supply-chain risk if the package is compromised or a breaking/malicious update is published. In the context of a tool that can access API credentials and trigger on-chain actions, this is more dangerous because a malicious package version could exfiltrate keys or place unwanted bids.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The README advertises create_auction and place_bid as on-chain actions but does not clearly warn that these operations can spend user-controlled funds and may be irreversible once submitted. In an agent-integrated MCP setting, this omission is especially dangerous because users may treat the tools as routine automation and enable an AI to perform real financial transactions without appreciating the risk.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding

The skill declares network and environment-backed capabilities via an API key and external MCP package, but does not explicitly scope or constrain what tools/permissions are allowed. That makes the operational boundary unclear to users and reviewers, increasing the chance of over-broad access or unintended authenticated actions.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The manifest frames the skill as scouting, monitoring, and bidding, but the available tools also support creating auctions on the user's behalf. That discrepancy can cause users to grant trust to a skill that can perform additional state-changing marketplace actions beyond the advertised use case.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill encourages autonomous bidding based on standing rules, but does not prominently foreground the financial and irreversible nature of spending crypto assets on the user's behalf. In an auction environment, automatic execution can quickly deplete balances, react to spoofed or low-quality listings, or bid in volatile/non-preferred tokens without sufficient friction.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
89% confidence
Finding

The skill explicitly allows bidding without fresh confirmation once an auto-bid rule exists, which is autonomous financial decision-making. Even if intended as a convenience feature, delegating spend actions to a bot in a crypto auction setting raises meaningful risk from stale preferences, manipulated listings, or unexpected market conditions.

Content

Scanner excerpt · SKILL.md (reported line 50)May include surrounding context.

md
- **All bids are in the auction's token.** If an auction accepts USDC, bids are in USDC. If it accepts WETH, bids are in WETH. The token is shown in auction details.
- **Bot wallet must be funded.** The user has a bot wallet that holds tokens for bidding and ETH for gas. Use `wallet_info` to check balances. If funds are low, tell the user to top up.
- **Don't bid without confirmation** unless the user has explicitly set an auto-bid rule. Always confirm first.

### Setup

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The declared capability to create auctions expands the skill beyond its stated scope of scouting, monitoring, and bidding. In an agent setting, this mismatch can enable unintended state-changing actions on a crypto platform, increasing the risk that a user or downstream orchestrator authorizes behavior they did not expect.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

This code exposes POST operations that can create auctions and place bids, which are user-impacting and potentially irreversible financial actions. There is no confirmation prompt, warning message, or user-facing disclosure in this file before those requests are sent.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill metadata says it scouts, monitors, and bids on auctions, but the implemented toolset also includes create_auction, which enables users or downstream agents to initiate on-chain marketplace actions not disclosed in the manifest. This scope mismatch is dangerous because agents and users may grant trust or permissions based on the stated capabilities, while the hidden extra capability can trigger financially meaningful transactions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The create_auction tool immediately creates an auction transaction based on supplied parameters, with no explicit warning or user confirmation in the code path. Although less directly spendy than bidding, it still initiates on-chain state changes, can incur gas costs, and can create unwanted public listings or reputational/financial consequences if triggered accidentally or through adversarial instruction.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The place_bid tool directly submits a bid transaction from user-provided auctionId and amount without any built-in confirmation, preview, or secondary acknowledgment step. In a crypto auction context this is especially dangerous because bids spend wallet funds and may be irreversible or operationally costly once submitted, making prompt-injection, misunderstanding, or accidental invocation materially harmful.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The manifest says the skill scouts, monitors, and bids on auctions, but the package description explicitly says it can also "create auctions." Creating auctions is a distinct write capability not reflected in the stated skill purpose, expanding the apparent behavior beyond monitoring and bidding.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The shared request function sends authenticated HTTP requests using the x-api-key header and may transmit account-specific data to the remote Auction House service. While the file has a brief module comment, it provides no user-facing logging, confirmation, or explicit warning that requests will send credentials and user-related data over the network.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The implemented capabilities exceed the stated skill description: although the skill claims to scout, monitor, and bid, the client also exposes auction creation. In an agent setting, this mismatch can enable unintended high-impact actions because orchestration layers, reviewers, or users may authorize the skill based on an incomplete understanding of what it can do.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The README instructs users to place AUCTION_HOUSE_API_KEY into MCP configuration but does not explicitly describe it as a sensitive secret that must not be shared, logged, or committed. Because this key authorizes access to a funded bot wallet workflow, exposure could let an attacker inspect account data or initiate financially harmful actions through the service.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
90% confidence
Finding

Using a caret range for @modelcontextprotocol/sdk allows new minor/patch releases to be installed without explicit review, which can introduce breaking security changes or pull in a vulnerable release unexpectedly. In an agent skill that can create auctions and place bids on a crypto platform, dependency drift increases supply-chain risk around sensitive auction and transaction workflows.

Content

Scanner excerpt · package.json (reported line 31)May include surrounding context.

json
],
  "license": "MIT",
  "dependencies": {
    "@modelcontextprotocol/sdk": "^1.0.0",
    "zod": "^3.23.0"
  },
  "devDependencies": {

Unverifiable Dependency: @modelcontextprotocol/sdk has 3 known advisory(ies) (CVE-2026-25536 (@modelcontextprotocol/sdk has cross-client data leak via shared server/transport); CVE-2026-0621 (Anthropic's MCP TypeScript SDK has a ReDoS vulnerability); CVE-2025-66414 (Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protec)), but the manifest does not pin a version, so it is unknown whether the installed release is affected

Low
Category
Supply Chain
Confidence
92% confidence
Finding

The manifest references @modelcontextprotocol/sdk with an unpinned range despite known advisories affecting some releases, so reviewers cannot verify whether the installed version is safe. Because this skill exposes MCP functionality for a crypto auction workflow, SDK flaws such as cross-client data leakage, ReDoS, or DNS-rebinding-related issues could affect sensitive prompts, bidding actions, or server exposure.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
88% confidence
Finding

Using a caret range for zod permits automatic adoption of later releases that have not been explicitly reviewed in this skill. While zod is a common validation library, unpinned versions still create avoidable supply-chain uncertainty and may expose the service to regressions or known vulnerable releases.

Content

Scanner excerpt · package.json (reported line 32)May include surrounding context.

json
"license": "MIT",
  "dependencies": {
    "@modelcontextprotocol/sdk": "^1.0.0",
    "zod": "^3.23.0"
  },
  "devDependencies": {
    "@types/node": "^20",

Unverifiable Dependency: zod has 1 known advisory(ies) (CVE-2023-4316 (Zod denial of service vulnerability)), but the manifest does not pin a version, so it is unknown whether the installed release is affected

Low
Category
Supply Chain
Confidence
86% confidence
Finding

The manifest does not pin zod to a version, so it is impossible to determine from package.json alone whether the installed release is affected by the known DoS advisory. If a vulnerable version is resolved, attacker-controlled input to schema parsing could potentially degrade availability of the skill.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
40% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · package.json (reported line 35)May include surrounding context.

json
"zod": "^3.23.0"
  },
  "devDependencies": {
    "@types/node": "^20",
    "typescript": "^5"
  }
}

Static analysis

Detected: suspicious.env_credential_access

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
dist/client.js:16

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
src/client.ts:8