T09 · Insecure Skill Coding Practices
- Location
SKILL.md:31- Finding
API Credential Requested 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_news_api.py:69-74`: ```python if not api_key: print("\n[!] ERROR: BrowserAct API Key is missing.") 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 instructs users to provide a BrowserAct API key through the chat interface. API keys are authentication secrets and should not be entered into conversational channels because chat transcripts may be retained in conversation history, telemetry, debugging records, backups, or shared logs. The script already supports retrieving the credential from the `BROWSERACT_API_KEY` environment variable. Consequently, requesting disclosure through chat is not necessary for the declared Google News collection functionality and exceeds minimum safe credential-handling requirements. The script legitimately sends the key to the declared BrowserAct HTTPS endpoint as a Bearer token. No evidence was found that it sends the credential to an unrelated destination. The vulnerability is the unnecessary chat-based acquisition method, not the authenticated API request itself. ### Attack Path 1. A user invokes the Skill without setting `BROWSERACT_API_KEY`. 2. The Skill instructs the user to paste the API key into the chat. 3. The user discloses the key in the conversation. 4. The key is retained in a transcript, telemetry ...[truncated 783 chars]- Remediation
View remediation
