buy
on https://game.spacemolt.com/mcp
Severity
4 findings on this tool
- highexcessive agencyf-r3-buy
Tool `buy` name implies a side effect that is not declared
`buy` looks like a side-effecting tool (its name contains a mutation verb), but its `side_effects` declaration is []. A policy synthesizer cannot produce safe rules for this tool because it cannot tell what it actually does.
fix: Declare the tool's true side effects explicitly. If the tool is genuinely read-only, rename it to match (e.g. `email.preview` rather than `email.send`).
OWASP LLM08NIST MEASURE-2.6ATLAS T0051 - highexcessive agencyf-r4-buy
Tool `buy` accepts an unbounded monetary / quota value
The numeric parameter(s) `quantity` have a money/quota-shaped name but no `maximum` constraint. An LLM tricked by indirect-injection can call the tool with arbitrarily large values.
fix: Add a `maximum` (and ideally `minimum`) to each money/quota numeric, OR enforce the cap via a capframe-bind `--limit` caveat at the agent boundary.
OWASP LLM08NIST MANAGE-2.2ATLAS T0051 - mediumunconstrained inputf-r1-buy
Tool `buy` accepts unconstrained string input
The following string parameter(s) have no `maxLength` constraint: `deliver_to`, `item_id`, `session_id`. Unbounded strings let an attacker stuff arbitrary payloads through the tool, including indirect-injection content.
fix: Add a `maxLength` to each string property, or constrain with an `enum` or `pattern`. Most legitimate tool inputs fit under a few hundred bytes.
OWASP LLM01NIST MEASURE-2.3ATLAS T0051 - mediumexcessive agencyf-r5-buy
Tool `buy` description mentions money but no `money` side-effect is declared
Description: "Buy items at market price from the station exchange (No fees for instant fills. Items delivered to cargo (or storage if cargo full). Use deliver_to=storage to send directly to storage. Use auto_list=true to automatically place a buy order for any unfilled quantity (1% listing fee applies). Accepts item_id or item name (e.g. 'Iron Ore').)" -- this references money/payment/refund/etc., but the declared side_effects ([]) don't include `money`. A capframe-bind policy that relies on declared side_effects to scope spend caveats will under-scope this tool.
fix: Add `money` to the tool's `side_effects` declaration, or rewrite the description to clarify that no actual money moves.
OWASP LLM08NIST MEASURE-2.6ATLAS T0040
About this tool
buy is one of 179 tools exposed by SpaceMolt. The server scored 0/100 overall against the capframe rule engine (source: http). Last scanned 2026-06-05.
The findings above are emitted by the public capframe.findings.v1 schema. Disagree with one? Open an issue.