Back to skill

Security audit

Groupon

Security checks for vulnerabilities and agentic risk

Overview

This Groupon skill is a deal-checking assistant with disclosed local notes and approval boundaries, but users should be aware that its third-party browsing disclosure is inconsistent.

Reasonable to install if you want a Groupon deal-screening workflow and are comfortable with local notes under ~/groupon/. Before using it for travel, booking, merchant disputes, or sensitive locations, assume the agent may visit merchant, review, booking, or marketplace sites and share ordinary browsing context unless you explicitly restrict that behavior.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:104
Finding
Incomplete Disclosure of Third-Party Network Access<![CDATA[ ## Vulnerability Details **File Locations**: - `SKILL.md:99` - `SKILL.md:104-110` - `SKILL.md:114-116` - `SKILL.md:129` - `category-playbook.md:7` - `category-playbook.md:23` - `merchant-checks.md:57` **Vulnerability Type**: Inaccurate external-endpoint and data-disclosure configuration **Risk Level**: Medium ### Vulnerable Code Snippets `SKILL.md:104-110` declares that only Groupon endpoints receive data: ```markdown ## External Endpoints | Endpoint | Data Sent | Purpose | |----------|-----------|---------| | `https://www.groupon.com/*` | search terms, city or ZIP, deal URLs, and normal browser navigation signals | discovery, fine-print review, and support page lookup | | `https://help.groupon.com/*` | issue categories, deal type references, and support navigation | refund, booking, and policy verification | No other data is sent externally. ``` However, other instructions require or encourage access to unspecified merchant, review, booking, property, and marketplace services: `SKILL.md:99`: ```markdown | Recommending merchants with stale or weak signals | Closed, overloaded, or badly rated merchants create support pain | Use recent reviews and direct booking clues, not score alone | ``` `category-playbook.md:7`: ```markdown - Compare against the merchant's current menu or recent public pricing if available. ``` `category-playbook.md:23`: ```markdown - Validate the same property, dates, and fees outside Groupon before trusting the claimed savings. ``` `merchant-checks.md:57`: ```markdown - Validate the same property or package outside Groupon to test the claimed savings. ``` The trust statement also acknowledges merchant disclosure that is absent from the endpoint table. `SKILL.md:129` states: ```markdown By using this skill, deal-search context may be sent to Groupon and, when the user chooses to proceed, to the merchant tied to a specific offer. ``` ### Technical Analysis The skill presents an explicit external-endpoint allowlist ...[truncated 2411 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Replace the absolute statement `No other data is sent externally` with a precise disclosure covering conditional third-party browsing. 2. Document all relevant endpoint classes, including: - Merchant websites - Review platforms - Direct-booking services - Hotel and property websites - Retail and marketplace comparison services 3. Describe the data potentially sent to each class, such as search terms, location, dates, deal identifiers, and normal browser metadata. 4. Require explicit user confirmation before opening a previously undisclosed third-party domain or transmitting detailed personal context. 5. Minimize transmitted data: - Use merchant names without user-identifying details. - Avoid including exact addresses unless required. - Separate pricing searches from personal scheduling information. - Remove voucher identifiers and support evidence from general web searches. 6. Maintain a strict allowlist for automatic navigation. Treat all other domains as confirmation-gated. 7. Align the `External Endpoints`, `Security and Privacy`, and `Trust` sections so they describe the same network behavior. 8. Add a rule prohibiting transmission of login secrets, full voucher codes, payment information, screenshots, or support evidence to third parties unless the user explicitly approves the specific destination and submission. ]]>
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (1)

Vague Triggers

Medium
Confidence
94% confidence
Finding
The setup text defines very broad activation triggers such as any mention of Groupon, vouchers, local deals, or budget activities, but does not establish clear exclusions or require sufficient user intent before the skill engages. This can cause the agent to activate in loosely related conversations, collect/store user preferences unnecessarily, or steer the interaction into commerce-oriented behavior without an explicit request.

Static analysis

No suspicious patterns detected.