Back to skill

Security audit

Pitch Follow-Up Tracker

Security checks for vulnerabilities and agentic risk

Overview

This skill has a legitimate outreach-follow-up purpose, but it asks for broader Gmail and memory/context access than users are likely to expect.

Install only if you are comfortable letting the agent inspect your Gmail, pitch tracker, and potentially broader local or remembered context. Before use, constrain it to a specific tracker, account, date range, and thread or contact; do not allow broad domain-wide mailbox searches or memory-file searches unless you explicitly approve them. Review every generated draft before creation or sending, and install gog from a trusted, pinned source rather than an unpinned global npm command.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (3)

T05 · Unauthorized Access and Privilege Escalation

Error
Location
SKILL.md:76
Finding

Overbroad Gmail Searches and Full-Thread Access Violate Least Privilege

Content
View full analysis
" --max 10 --account ``` Brands often respond from a different person at the same company. Check for ANY email from that domain since the pitch date. **Check 3: Search sent folder for user follow-ups** ```bash gog gmail search "to: OR to:@" --max 10 --account ``` Check if the user already sent a response, follow-up, or forwarded the thread. **Check 6: Read full email threads** For any matching threads, read the FULL thread content — not just the latest message. Context changes mid-thread. ```bash gog gmail get --account ``` ``` ### Technical Analysis The Skill instructs the Agent to search incoming and outgoing email using an entire contact domain and then read the complete contents of matching threads. This access is broader than necessary to determine whether a specific tracked pitch received a reply. A company domain can appear in messages involving unrelated employees, contracts, legal discussions, invoices, credentials, personal information, or other confidential business activity. Domain-level matching therefore does not reliably constrain the search to the pitch being reviewed. Reading every matched thread further increases exposure by loading complete conversations into the Agent context rather than only the relevant reply metadata or pitch thread. The use of `--max 10` limits the number of returned search results but does not establish an authorization boundary or guarantee that those results concern the tracked pitch. ### Attack Path 1. A pitch tracker contains a contact whose email uses a shared corporate domain. 2. The Skill derives the domain and performs `from:@
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Error
Location
SKILL.md:104
Finding

Unbounded Access to Conversation History and Persistent Agent Memory

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
SKILL.md:244
Finding

Unpinned Global Installation of a Third-Party CLI

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (4)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The README advertises access to Gmail, web search, and a Google Sheet or local markdown tracker without clearly warning users that the skill may process email contents, contact data, and local files. This creates a real privacy and data-handling risk because users may enable broad access without understanding what information is read, searched, or retained, especially given the combination of inbox access and local file access.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger language is broad enough to activate on general outreach-management requests, which can cause the skill to run in contexts the user did not specifically intend. Because the skill touches Gmail, local files, and potentially Sheets, overbroad invocation raises the risk of unnecessary access to sensitive communications and business data.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly directs the agent to inspect conversation history, daily memory files, and other-channel context that go beyond the declared data sources of the tracker and Gmail. This expands access into unrelated personal or business context, creating unnecessary privacy exposure and increasing the chance the agent uses sensitive data from outside the user’s intended workflow.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The workflow adds open-web research for drafting follow-ups even though that behavior is not disclosed in the manifest. While lower severity than direct data overreach, it can still cause unexpected outbound data exposure through search queries and broaden the skill’s behavior beyond user expectations.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.