T09 · Insecure Skill Coding Practices
- Location
src/cli/index.js:65- Finding
Unrestricted UCP Discovery and Profile-Controlled REST Endpoint Enable SSRF
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This commerce skill does what it says at a basic level, but its networked marketplace actions are too broadly scoped for automatic use without review.
Review before installing. Use only with trusted marketplace domains, prefer explicit HTTPS URLs, and avoid running it in privileged or internal-network environments until domain allowlisting, endpoint validation, HTTPS-only behavior, and confirmation for seller publish actions are added.
src/cli/index.js:65Unrestricted UCP Discovery and Profile-Controlled REST Endpoint Enable SSRF
src/cli/index.js:65Automatic HTTPS-to-HTTP Fallback Permits Discovery Profile Tampering
The skill claims to be a unified end-to-end commerce orchestrator, including payments and order lifecycle handling, but the file itself says the current implementation is only an early-launch scaffold with direct seller publish and buyer discovery actions. This description-behavior mismatch is dangerous because operators may trust it with broader, higher-risk workflows than are actually implemented, leading to unsafe assumptions about authentication, payment handling, state transitions, and business controls.
Referenced artifact was not completely inspected
node src/cli/index.js --role seller --domain 127.0.0.1:3456 --name "Skill Chair" --price-minor-units 12999 --category Furniture
Referenced artifact was not completely inspected
node src/cli/index.js --role seller --domain 127.0.0.1:3456 --name "Skill Chair" --price-minor-units 12999 --category Furniture
Referenced artifact was not completely inspected
node src/cli/index.js --role seller --domain 127.0.0.1:3456 --name "Skill Chair" --price-minor-units 12999 --category Furniture
The skill advertises executable CLI flows that connect to a market domain and perform buyer/seller operations, but it does not declare any permissions or allowed-tools scope. That mismatch weakens security boundaries because an agent or reviewer cannot reliably tell that networked, data-affecting actions are expected, increasing the chance of unintended external communication or unsafe execution in permissive runtimes.
The skill describes marketplace publishing, discovery, payment authorization, and order orchestration capabilities without clear user-facing warnings that these actions can affect external data, listings, orders, or financial state. In a commerce context, missing warnings are more dangerous because users or calling agents may trigger irreversible or costly operations without adequate confirmation or risk awareness.
This code sends product data to a discovered remote endpoint using an HTTP POST, which is a state-changing network operation. There is no confirmation prompt, warning message, or explanatory comment/docstring in this file disclosing that seller mode will publish data to an external service.
The skill automatically performs outbound requests to user-supplied domains and follows discovered UCP service metadata to a remote REST endpoint, including fallback to plain HTTP. This enables server-side request behavior against arbitrary hosts and can expose the environment to unintended internal network access, metadata probing, or traffic interception when used in trusted automation contexts.
No suspicious patterns detected.