T09 · Insecure Skill Coding Practices
- Location
SKILL.md:31- Finding
Skill Instructs Users to Disclose an API Key Through Chat
- Content
View full analysis
"Since you haven't configured the BrowserAct API Key, please go to the [BrowserAct Console](https://www.browseract.com/reception/integrations) to get your Key and provide it to me in this chat." ``` `scripts/google_maps_search_api.py:80-83`: ```python print("Please follow these steps:") print("1. Go to: https://www.browseract.com/reception/integrations") print("2. Copy your API Key.") print("3. Provide it to me or set it as an environment variable (BROWSERACT_API_KEY).") ``` ### Technical Analysis The Skill explicitly directs users to provide a BrowserAct API key in chat. API keys are authentication secrets and should not be placed in conversation history because chat content may be retained in application logs, model-provider records, debugging traces, transcripts, or other systems that are not intended to act as secret stores. This disclosure is unnecessary for the declared functionality. The script already reads the credential from the `BROWSERACT_API_KEY` environment variable: ```python api_key = os.getenv("BROWSERACT_API_KEY") ``` The script legitimately transmits that key as a Bearer token over HTTPS to the fixed BrowserAct API endpoint. That network transfer is required to authenticate the declared hosted API operation. The insecure behavior is instead the instruction to expose the credential through chat before execution, which exceeds the minimum access necessary for the agent. ### Attack Path 1. A user invokes the Skill without configuring `BROWSERACT_API_KEY` ...[truncated 1301 chars]- Remediation
View remediation
