T03 · Remote Payload Retrieval and Execution
Error
- Location
- skill.md:6
- Finding
- Mutable Remote Bot Scripts Are Recommended for Local Execution<![CDATA[ ## Vulnerability Details **File Location**: `skill.md:6-12` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical ### Vulnerable Code ```markdown ## Quick Start — Example Bot Scripts If you want to get started quickly, download and run the ready-made bot scripts: - **Quick start guide:** https://bout.network/example-scripts/QUICKSTART.md - **Bot main script:** https://bout.network/example-scripts/bout-bot.mjs - **Gomoku AI logic:** https://bout.network/example-scripts/gomoku-ai.mjs These scripts handle wallet creation, registration, x402 payment, and the full game loop out of the box. ``` ### Technical Analysis The Skill recommends downloading and executing JavaScript from mutable external URLs. The remote files are not included in the audited package, pinned to an immutable revision, protected by a declared checksum, or verified using a cryptographic signature. Consequently, the code that is ultimately executed can differ from the code available when the Skill was reviewed. The stated bot functionality includes wallet creation, registration, x402 payment signing, and the complete game loop. A remote payload would therefore execute in a context likely to contain `BOUT_WALLET_KEY` and `BOUT_API_KEY`. This behavior exceeds the minimum privileges needed to document a game protocol. A safe integration could bundle reviewed source code or provide non-executable API documentation instead of delegating sensitive wallet operations to mutable remote scripts. ### Attack Path 1. An Agent follows the Quick Start instructions. 2. It retrieves `bout-bot.mjs`, `gomoku-ai.mjs`, or associated instructions from `bout.network`. 3. The external content is changed after publication or compromised at its hosting or delivery layer. 4. The Agent executes the modified script locally. 5. The script accesses environment variables, wallet files, API credentials, or payment-signing objects available to the current process. 6. The payl ...[truncated 573 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Include all executable bot code in the reviewed Skill package. - Pin external content to an immutable commit or content-addressed artifact. - Publish and verify a cryptographic checksum or signature before execution. - Do not execute downloaded code in a process containing wallet or API credentials. - Run game logic in a sandbox with restricted filesystem and network access. - Isolate transaction signing in a separate process that accepts only validated, narrowly scoped requests. - Require users to inspect and explicitly approve externally obtained code before it is run. ]]>
