T09 · Insecure Skill Coding Practices
- Location
SKILL.md:2249- Finding
Production Financial Operations Are Presented Under Misleading Sandbox and Educational Framing
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a non-executable guide, but its examples mix sandbox claims with production API calls that can create wallets, move large sums, release escrow, and start trades.
Treat this as a high-risk integration guide. Do not copy and run the examples with a real GREENHELIX_API_KEY until you have confirmed the endpoint is sandbox, used test or least-privilege credentials, added dry-run and explicit approval checks, set transaction limits, and verified escrow release against authoritative registry and verifier records.
SKILL.md:2249Production Financial Operations Are Presented Under Misleading Sandbox and Educational Framing
SKILL.md:1018Escrow Release Trusts Caller-Supplied Verification and Hard-Codes Transfer Confirmation
SKILL.md:1119Trade Workflow Lacks Input Validation, Idempotency, and Partial-Failure Recovery
The guide describes code that can create escrows, transfer funds, send compliance-related messages, and trigger trading actions, but it does not prominently warn users that these examples may execute real financial and regulatory operations against production systems. In this context, lack of an explicit hazard warning materially increases the chance of accidental real-world transactions and compliance-impacting actions.
The documentation makes contradictory trust claims: it says users can get started in a sandbox with no API key, while the examples are configured to use the production GreenHelix API with credentialed access. This mismatch can cause users to run examples believing they are harmless demos when they may actually send authenticated requests tied to real trading and compliance workflows.
The skill instructs users to supply an API key for a third-party gateway but does not clearly warn that operational, financial, supplier, and compliance data will be transmitted off-platform. Because the domain involves sensitive trade and emissions data, users may disclose regulated or confidential information without informed consent or data handling review.
The guide simultaneously states that every example runs against the production API and that all examples work with a no-key sandbox. In a skill focused on financial/compliance automation, this ambiguity is dangerous because readers may unknowingly use production endpoints for real trades, escrow actions, or compliance submissions.
The example code is designed to transmit authenticated requests and potentially sensitive carbon trading data to an external API endpoint. External transmission is expected for an integration guide, but in this case it becomes security-relevant because the guide understates the production nature of the endpoint and the possible real-world side effects of those requests.
import requests
import os
base_url = "https://api.greenhelix.net/v1"
api_key = os.environ["GREENHELIX_API_KEY"]
session = requests.Session()
This later production configuration again hard-codes an external API base URL and uses a bearer token from the environment, enabling live authenticated transmission to a third-party service. In a guide that culminates in a 'go-live' workflow, that raises the risk of users copying code into real environments without fully appreciating that they are interacting with production systems.
import os
# Configuration
BASE_URL = "https://api.greenhelix.net/v1"
API_KEY = os.environ["GREENHELIX_API_KEY"]
session = requests.Session()
No suspicious patterns detected.