T09 · Insecure Skill Coding Practices
- Location
SKILL.md:168- Finding
API Credential Disclosure Through an Unvalidated Configurable Endpoint
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This non-executing GreenHelix guide is mostly purpose-aligned, but its reusable examples handle real API keys and payment actions with unsafe endpoint and CI secret patterns that need review before use.
Install only if you want a GreenHelix agent-commerce testing guide and are prepared to review the copied templates. Before using the examples with real credentials, restrict base_url to trusted GreenHelix hosts, avoid session-wide bearer headers across configurable origins, pass CI secrets through environment variables rather than inline source, pin dependencies, and redact or disable raw transaction input capture in production traces.
SKILL.md:168API Credential Disclosure Through an Unvalidated Configurable Endpoint
SKILL.md:2083Unpinned Third-Party Dependencies Installed in CI
SKILL.md:2192GitHub Actions Secret Interpolated Directly into Shell-Executed Python Source
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
tracer = AgentTracer(
api_key="...",
agent_id="production-buyer-01",
base_url="https://api.greenhelix.net/v1",
)
# Wrap an existing AgentCommerce or harness
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
tracer = AgentTracer(
api_key="...",
agent_id="production-buyer-01",
base_url="https://api.greenhelix.net/v1",
)
# Wrap an existing AgentCommerce or harness
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
tracer = AgentTracer(
api_key="...",
agent_id="production-buyer-01",
base_url="https://api.greenhelix.net/v1",
)
# Wrap an existing AgentCommerce or harness
The guide explicitly recommends redacting sensitive inputs in production, but the AgentTracer implementation persists full input_data for every call in memory. In an agent-commerce context, inputs can include wallet amounts, agent identifiers, webhook URLs, and potentially secrets or PII, so this creates a real risk of sensitive-data exposure through logs, memory dumps, telemetry exports, or downstream debugging tooling.
The comment at L1956-L1963 states that HealthChecker delegates to the harness in test mode, but the actual HealthChecker class uses its own requests.Session and _timed_execute() posts directly to the network at L1836-L1846. This is a direct contradiction in the guide's inline documentation about how the class behaves under test.
Detected: suspicious.exposed_secret_literal