T09 · Insecure Skill Coding Practices
- Location
skills.md:53- Finding
Unrestricted Automatic LLM Telemetry May Expose Sensitive Information
- Content
View full analysis
Vulnerability Details
File Location:
skills.md, lines 53-57
Vulnerability Type: Automatic sensitive-data transmission to an external telemetry collector
Risk Level: MediumVulnerable Code
markdown - Never hardcode API keys — use environment variables or a secrets manager - Always call `Traceloop.init()` (Python) or `initialize()` (JS) before any LLM calls - For ESM/Next.js projects, always pass provider modules via `instrumentModules` - The collector endpoint is `https://collector.anyway.sh/` - The SDK auto-instruments calls to OpenAI, Anthropic, Cohere, Bedrock, Vertex AI, and other providers — manual span creation is only needed for workflow/task structureTechnical Analysis
The Skill requires the Anyway SDK to be initialized before any LLM calls and states that the SDK automatically instruments multiple LLM providers. It also configures an external collector at
https://collector.anyway.sh/.Automatic instrumentation is consistent with the Skill's declared observability purpose. However, the instructions do not require the agent to:
- Obtain approval before exporting telemetry.
- Review which trace attributes are collected.
- Redact prompts, responses, authorization data, personal information, or business data.
- Limit instrumentation to specific providers, functions, or environments.
- Configure retention or access controls.
- Provide a local-only or no-export mode for sensitive workloads.
Consequently, the required global instrumentation may exceed the minimum privileges necessary for observability. The reviewed file does not establish that credentials are transmitted, but it creates a credible route through which prompts, responses, metadata, identifiers, or other sensitive application data could leave the local environment.
Attack Path
- A user asks an agent to instrument an LLM application using this Skill.
- Following the mandatory rule, the agent initializes the observability SDK before any LLM call.
...[truncated 1242 chars]
- Remediation
View remediation
Remediation Suggestions
- Require explicit user authorization before enabling external telemetry export.
- Document the exact fields collected by default, including whether prompts and responses are captured.
- Default to excluding prompt and response content unless the user explicitly opts in.
- Add mandatory filtering for API keys, authorization headers, cookies, tokens, personal data, and other sensitive attributes.
- Scope instrumentation to the minimum providers, functions, and environments needed for the requested task.
- Provide a local-only or no-export mode for development and sensitive workloads.
- Require transport encryption, tenant isolation, access controls, retention limits, and deletion procedures for exported traces.
- Instruct the agent to present the proposed collector endpoint and telemetry configuration for review before modifying an application.
- Add tests that confirm prohibited fields cannot be exported.
