T09 · Insecure Skill Coding Practices
- Location
scripts/x402-fetch.mjs:38- Finding
Automatic x402 payments can be authorized for arbitrary network destinations
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill does what it says, but it gives a wallet-signing payment tool too much unsupervised authority.
Review carefully before installing. Use only a dedicated low-balance wallet, avoid passing secrets in command-line arguments, do not send confidential URLs or headers, and only invoke the payment fetcher against destinations you explicitly trust.
scripts/x402-fetch.mjs:38Automatic x402 payments can be authorized for arbitrary network destinations
scripts/wallet-gen.mjs:17Wallet private key is exposed through terminal output and unsafe input channels
scripts/setup.sh:25Mutable npm dependencies are installed without a lockfile or integrity pinning
The skill exposes capabilities that rely on environment secrets and outbound network access, but the manifest does not declare any explicit tool scope or permissions. This can cause agents or users to invoke a networked, payment-capable skill without clear guardrails, increasing the chance of unintended data egress or misuse of wallet credentials.
The skill encourages sending search queries, URLs, and scrape targets to an external service, but it does not prominently warn that user-supplied data will leave the local environment and be transmitted to a third party. It also omits a strong warning that screenshot output may be written to disk, which can create privacy and data-handling risks for sensitive targets.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
**Parameters:** `url` (required), `format` (png|jpeg, default png), `width` (320-3840), `height` (200-2160), `fullPage` (true|false), `quality` (1-100, jpeg only)
**Returns:** Binary PNG or JPEG image. Use `--save <file>` to write to disk.
## MCP Server
The service reference documents scraping and screenshot endpoints that send user-supplied target URLs and retrieved page content to an external gateway, but it does not clearly warn users about the privacy and data-handling implications. In an agent context, this can cause sensitive internal URLs, authenticated resources, query terms, or scraped content to be transmitted to a third party unexpectedly, increasing data exposure risk.
This shell script creates an install directory, writes a package.json file, runs npm install, and copies .mjs files into the target directory. Although it prints status messages, it does not warn the user before making these filesystem changes or installing dependencies, which are safety-relevant operations in a setup script.
No suspicious patterns detected.