Back to skill

Security audit

BaoziClaw

Security checks for vulnerabilities and agentic risk

Overview

This skill needs review before installation because its advertised financial-market behavior is inconsistent with the shipped code and the included instructions use unsafe shell execution for betting-related tools.

Install only after the publisher aligns the manifest, documentation, and shipped implementation; removes runtime npx and shell exec; pins and invokes reviewed dependencies safely; and adds explicit confirmation plus transaction-review requirements for any betting or claim action.

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
index.ts:6
Finding

Shell Command Injection Through User-Controlled Tool Arguments

Content
View full analysis
callBaoziMCP('get_quote', { market: args.marketId }) } ``` ### Technical Analysis The application constructs a shell command by interpolating `JSON.stringify(args)` into a single-quoted shell argument and executes it using `child_process.exec()`. JSON serialization is not shell escaping. In particular, JSON strings may contain apostrophes because apostrophes have no special significance in JSON. An apostrophe supplied inside `marketId` or another tool argument terminates the surrounding shell single-quoted value. Subsequent shell metacharacters are then interpreted by the shell. The tool schemas only require values such as `marketId` to be strings; they do not enforce an expected identifier format or reject shell metacharacters. The same unsafe function is used for every tool, so all handlers that forward caller-controlled strings are potentially affected. The replacement implementation embedded in `SKILL.md` reproduces the same vulnerable pattern and expands the number of exposed tools. ### Attack Path 1. An attacker or untrusted prompt causes the A ...[truncated 1443 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
index.ts:7
Finding

Runtime Execution of an Unversioned Third-Party npm Package

Content
View full analysis
=18.0.0" } } ``` ### Technical Analysis Every tool call launches: ```text npx -y @baozi.bet/mcp-server ``` The command does not specify an exact package version. The `-y` option suppresses confirmation. If the expected local executable is unavailable, or the project is deployed without a lockfile-controlled installation, `npx` may resolve, retrieve, and execute package content during normal Skill operation. The checked root lockfile pins `@baozi.bet/mcp-server` to version `5.0.1`, includes an npm registry URL and integrity hash, and does not show a lifecycle script for that package. Those controls reduce risk when installation is performed with the lockfile, but they do not remove the runtime retrieval behavior or guarantee that every deployment honors the lockfile. The package also has direct access to transaction-construction workflows. Consequently, an unexp ...[truncated 1526 chars]
Remediation
View remediation
Vulnerability Patterns
  • 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 Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (53)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Unlike the other TP4 duplicates, this one highlights a real undeclared behavior: the skill uses child_process/exec to launch an external MCP server despite presenting itself as a normal prediction-market skill. Hidden execution and external resource access are dangerous because users and hosting agents may not expect that the skill can spawn subprocesses and fetch/run code at runtime.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Unlike the other TP4 duplicates, this one highlights a real undeclared behavior: the skill uses child_process/exec to launch an external MCP server despite presenting itself as a normal prediction-market skill. Hidden execution and external resource access are dangerous because users and hosting agents may not expect that the skill can spawn subprocesses and fetch/run code at runtime.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Unlike the other TP4 duplicates, this one highlights a real undeclared behavior: the skill uses child_process/exec to launch an external MCP server despite presenting itself as a normal prediction-market skill. Hidden execution and external resource access are dangerous because users and hosting agents may not expect that the skill can spawn subprocesses and fetch/run code at runtime.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Unlike the other TP4 duplicates, this one highlights a real undeclared behavior: the skill uses child_process/exec to launch an external MCP server despite presenting itself as a normal prediction-market skill. Hidden execution and external resource access are dangerous because users and hosting agents may not expect that the skill can spawn subprocesses and fetch/run code at runtime.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Unlike the other TP4 duplicates, this one highlights a real undeclared behavior: the skill uses child_process/exec to launch an external MCP server despite presenting itself as a normal prediction-market skill. Hidden execution and external resource access are dangerous because users and hosting agents may not expect that the skill can spawn subprocesses and fetch/run code at runtime.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

Unlike the other TP4 duplicates, this one highlights a real undeclared behavior: the skill uses child_process/exec to launch an external MCP server despite presenting itself as a normal prediction-market skill. Hidden execution and external resource access are dangerous because users and hosting agents may not expect that the skill can spawn subprocesses and fetch/run code at runtime.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Unlike the other TP4 duplicates, this one highlights a real undeclared behavior: the skill uses child_process/exec to launch an external MCP server despite presenting itself as a normal prediction-market skill. Hidden execution and external resource access are dangerous because users and hosting agents may not expect that the skill can spawn subprocesses and fetch/run code at runtime.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: fast-uri==3.1.2 — 6 advisory(ies): CVE-2026-13676 (fast-uri vulnerable to host confusion via failed IDN canonicalization); CVE-2026-18446 (fast-uri vulnerable to host confusion via backslash authority introducer); CVE-2026-75975 (fast-uri vulnerable to server-side request forgery via malformed IPv6 normalizat) +3 more

High
Category
Supply Chain
Confidence
88% confidence
Finding

fast-uri 3.1.2 has multiple reported parsing and canonicalization flaws including host confusion and SSRF-relevant edge cases. In an MCP/server context, unsafe URI parsing can cause allowlist bypasses or outbound requests to unintended hosts if any component validates user-supplied URLs with this library.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: hono==4.12.18 — 16 advisory(ies): CVE-2026-47676 (Hono: app.mount() strips mount prefix using undecoded path, causing incorrect ro); CVE-2026-47675 (Hono: Cookie helper does not sanitize sameSite and priority, allowing Set-Cookie); CVE-2026-71848 (Hono: Algorithmic Complexity DoS in Language Middleware) +13 more

High
Category
Supply Chain
Confidence
93% confidence
Finding

hono 4.12.18 is reported with numerous advisories affecting routing, cookie handling, and denial-of-service behavior. Because this skill depends on an MCP SDK that includes server components, a vulnerable web framework materially increases risk if the skill is hosted or exposes HTTP endpoints.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: ip-address==10.2.0 — 3 advisory(ies): CVE-2026-54272 (ip-address: misclassification of IPv4-mapped/NAT64 IPv6 addresses can bypass SSR); CVE-2026-69198 (ip-address: a CIDR suffix on the parsed address suppresses special-use classific); CVE-2026-69192 (ip-address: Address4 decodes leading-zero octets as decimal while resolvers deco)

High
Category
Supply Chain
Confidence
87% confidence
Finding

ip-address 10.2.0 has advisories describing incorrect handling of special-use and mapped IPv6/IPv4 forms, which can undermine SSRF and network access controls. If the rate-limiting or any trust/network validation logic depends on accurate address classification, an attacker may bypass protections using crafted addresses.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: ws==8.20.0 — 2 advisory(ies): CVE-2026-45736 (ws: Uninitialized memory disclosure); CVE-2026-48779 (ws: Memory exhaustion DoS from tiny fragments and data chunks)

High
Category
Supply Chain
Confidence
90% confidence
Finding

ws 8.20.0 is flagged for uninitialized memory disclosure and memory exhaustion via fragmented frames. In a service that may use WebSockets for RPC or streaming, these flaws can expose sensitive process memory or allow remote denial of service through crafted websocket traffic.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: ws==7.5.10 — 1 advisory(ies): CVE-2026-48779 (ws: Memory exhaustion DoS from tiny fragments and data chunks)

High
Category
Supply Chain
Confidence
89% confidence
Finding

A second websocket implementation, ws 7.5.10, is present and carries a memory exhaustion DoS advisory. Multiple vulnerable websocket versions in one dependency tree broaden exposure because different code paths may instantiate either implementation depending on the package using it.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The file advertises a complete Solana prediction markets skill, but only implements a trivial example string-processing tool. This kind of capability mismatch can mislead users, reviewers, or downstream agents into trusting the package for market or transaction functionality it does not provide, which is a supply-chain integrity and deception risk even without direct code execution abuse in this file.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The published skill claims to provide Solana prediction-market capabilities, but the implementation only exposes a trivial echo tool. This mismatch is dangerous because downstream agents or users may rely on advertised financial functionality and make trust decisions based on false capabilities, creating supply-chain and integrity risks even without direct code execution abuse.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The file claims to be the main entry point for a Solana prediction market skill, but it only exposes a trivial example tool that echoes input and provides none of the advertised market, betting, or payout functionality. This mismatch is dangerous because users or downstream agents may rely on the declared capability and trust boundary of the skill, leading to incorrect automation decisions, unsafe integrations, or supply-chain style deception about what code is actually being shipped.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
93% confidence
Finding

The place-bet tool facilitates a financial action that can lead to irreversible loss, yet there is no confirmation, risk disclosure, parameter validation, or policy guard before constructing the transaction. In the context of prediction markets, this makes accidental or socially engineered fund commitment more dangerous than in a non-financial skill.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: fast-uri==3.1.2 — 6 advisory(ies): CVE-2026-13676 (fast-uri vulnerable to host confusion via failed IDN canonicalization); CVE-2026-18446 (fast-uri vulnerable to host confusion via backslash authority introducer); CVE-2026-75975 (fast-uri vulnerable to server-side request forgery via malformed IPv6 normalizat) +3 more

High
Category
Supply Chain
Confidence
83% confidence
Finding

fast-uri 3.1.2 is reported with multiple host-confusion and SSRF-related issues. Because this skill depends on an MCP SDK that may process untrusted URLs, schemas, or callback endpoints, ambiguous URI parsing can become security-relevant even if the lockfile does not prove an exploit path; in an agent/server context this is more concerning than in a purely local library.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: hono==4.12.18 — 16 advisory(ies): CVE-2026-47676 (Hono: app.mount() strips mount prefix using undecoded path, causing incorrect ro); CVE-2026-47675 (Hono: Cookie helper does not sanitize sameSite and priority, allowing Set-Cookie); CVE-2026-71848 (Hono: Algorithmic Complexity DoS in Language Middleware) +13 more

High
Category
Supply Chain
Confidence
80% confidence
Finding

hono 4.12.18 carries numerous advisories affecting routing, cookies, and denial-of-service behavior. Since MCP/server frameworks routinely handle attacker-controlled HTTP requests, weaknesses in the web framework can materially affect confidentiality, integrity, or availability if the dependent SDK exposes network endpoints.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: ip-address==10.2.0 — 3 advisory(ies): CVE-2026-54272 (ip-address: misclassification of IPv4-mapped/NAT64 IPv6 addresses can bypass SSR); CVE-2026-69198 (ip-address: a CIDR suffix on the parsed address suppresses special-use classific); CVE-2026-69192 (ip-address: Address4 decodes leading-zero octets as decimal while resolvers deco)

High
Category
Supply Chain
Confidence
80% confidence
Finding

ip-address 10.2.0 is flagged for address classification/parsing flaws that can enable SSRF filter bypasses. In a server or agent ecosystem, incorrect trust decisions about loopback, private, NAT64, or IPv4-mapped addresses can undermine network egress protections, making this more dangerous than a normal parsing bug.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The exported skill metadata and implementation materially misrepresent the skill’s capabilities: the package is described as a Solana prediction-markets skill, but only exposes a placeholder example tool that echoes user input. In an agent ecosystem, this kind of scope/behavior mismatch can cause unsafe reliance, incorrect tool selection, and mask incomplete or substituted functionality, which is a supply-chain and trust-boundary issue even if no direct code-execution primitive is present here.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill facilitates financial actions that can affect wallet funds, yet the description lacks clear warnings, transaction-safety guidance, or confirmation expectations. In a crypto betting context, that omission is more dangerous than in ordinary software because users may authorize value-bearing transactions without understanding the risk, especially when the skill also delegates transaction construction to external code.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The manifest and tool table claim the skill supports market creation via a create-market tool, presenting the skill as providing full access including creation. However, the shown implementation defines only list-markets, get-odds, place-bet, get-portfolio, and claim-winnings, so the documented behavior does not match the actual code.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The markdown embeds example code that spawns a subprocess to execute an external MCP server, introducing a code-execution pattern not obvious from the skill’s high-level description. In this context, that is risky because consumers may copy or generate this code verbatim, granting the skill an unexpected execution path and expanding the attack surface to the package registry and shell invocation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The skill invokes an external package via npx -y @baozi.bet/mcp-server without pinning a version, so every run may fetch and execute whatever code is currently published under that package name. In a skill that can build betting and claim transactions, this creates a supply-chain execution path that could silently change behavior, exfiltrate data, or generate malicious transaction payloads.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The top-level description says the skill 'does something useful' rather than identifying it as a Solana prediction-markets skill. This mismatch can mislead agents and operators about the skill’s true function, increasing the chance of unintended invocation or misuse in a financial/transactional context.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.