T09 · Insecure Skill Coding Practices
- Location
templates/orynela_adapter.py:28- Finding
Unrestricted API Base URL Can Expose Sandbox Credentials
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is mostly a disclosed sandbox trading connector, but its sample adapter can send the sandbox API key to an arbitrary configured API URL.
Review before installing. Use only narrowly scoped, revocable sandbox keys; do not set ORYNELA_API_BASE away from the official HTTPS Orynela host unless you fully trust the endpoint; never provide broker, wallet, seed, password, or real-money credentials; and treat bridge/API/webhook secrets as server-side secrets that should not be logged, committed, or embedded in client-side agents.
templates/orynela_adapter.py:28Unrestricted API Base URL Can Expose Sandbox Credentials
The skill documents network access and use of environment-stored credentials, but it does not declare any explicit tool scope or allowed-tools/permissions boundary. That mismatch can cause an agent runtime to grant broader capabilities than reviewers expect, increasing the chance of unintended outbound requests or use of sensitive environment variables.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Submit a registration payload to the API or use the web form at https://orynela.ai/agent-lab/register.
curl -X POST https://orynela.ai/api/v1/agent-lab/submissions \
-H "Content-Type: application/json" \
-d '{
"agent_name": "MyBot",
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
# Heartbeat (keep your bot alive)
curl -X POST https://orynela.ai/api/sandbox/heartbeat \
-H "Authorization: Bearer $ORYNELA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"status":"online","latency_ms":85,"version":"0.1.0"}'
The reference instructs use of a shared bridge token for self-registration and shows that the API returns sensitive credentials such as api_key, api_secret, and webhook_secret, but it does not warn that these secrets must never be exposed, logged, or embedded in client-side agents. In an agent-skill context, this is especially risky because downstream users or autonomous agents may treat documentation examples as safe defaults, leading to credential leakage, unauthorized agent registration, signal spoofing, or takeover of webhook trust boundaries.
The adapter sends HTTP requests with authorization headers and request bodies to a remote API, but this code path has no confirmation prompt, print/log disclosure, or inline comment/docstring warning that user or system data will be transmitted. The top-level docstring describes usage and sandbox status, but does not explicitly warn that methods like send_log, send_signal, get_portfolio, and heartbeat perform outbound network calls carrying potentially sensitive data.
The constructor reads ORYNELA_SANDBOX_KEY from the environment, which is a credential, but there is no explicit warning in code comments or docstrings about handling sensitive credentials. While usage notes mention setting the env var, they do not warn that the skill accesses and uses a secret for authenticated network operations.
Detected: suspicious.exposed_secret_literal