Back to skill

Security audit

Sniplink

Security checks for vulnerabilities and agentic risk

Overview

SnipLink is a coherent URL-saving skill, but it needs review because it writes persistent notes to a hardcoded Google Drive-backed Obsidian path and uses external services without enough user-controlled scoping.

Review this before installing. Configure your own storage location instead of the hardcoded Google Drive path, require confirmation of the exact destination and final filename before saving, and avoid the FxTwitter path unless you are comfortable sharing the tweet URL with that third party. Treat metadata from saved pages as untrusted until the skill adds strict filename and Markdown/YAML sanitization.

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 (3)

other

Warning
Location
SKILL.md:78
Finding

Undisclosed Third-Party Disclosure of X/Twitter URLs

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:166
Finding

Hardcoded Personal Google Drive Vault Path

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:173
Finding

Untrusted Page Metadata Used in Filenames and Obsidian Note Content Without Required Sanitization

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger section includes phrases like "save this," "remember this," and broad conditions such as asking "what tools do I have for X," which are common conversational requests and not specific to this skill. The file does not provide exclusion conditions or tighter scope boundaries to reduce accidental invocation.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The manifest describes a low-friction URL saving skill that categorizes, tags, and stores links the user provides. Adding a separate capability to search the web for social profiles, and later to suggest tools by tag/category, expands the skill into discovery/recommendation behavior that is not necessary to save a submitted link.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill sends user-provided tweet URLs and derived tweet content to external services such as fxtwitter, and may also perform web searches for enrichment, without a clear privacy disclosure. Users may share links expecting local processing, but the workflow transmits data to third parties, creating privacy, logging, and compliance risks.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
91% confidence
Finding

The skill explicitly transmits tweet identifiers and requests extracted tweet content from an external API endpoint. Even if the content is public, this is still an external data flow that can expose user activity, be logged by the third party, and surprise users if not transparently disclosed and consented to.

Content

Scanner excerpt · SKILL.md (reported line 77)May include surrounding context.

md
**Trigger:** User shares an `x.com` or `twitter.com` URL and wants it saved.

**Step 1: Extract tweet content (use fxtwitter API first)**
- Primary method: `curl -sL "https://api.fxtwitter.com/{user}/status/{id}"`
  - Returns JSON with `tweet.text`, `tweet.author`, `tweet.media`, `tweet.raw_text.facets` (links inside tweet)
  - Works without browser, no login, no CAPTCHA — fast and reliable
- Extract username and ID from URL patterns: `x.com/{user}/status/{id}` or `twitter.com/{user}/status/{id}` or `x.com/i/status/{id}`

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill writes files into the user's Obsidian vault and updates an index, but this side effect is not clearly disclosed up front in the user-facing description. That can lead to unintended persistent writes in a sensitive knowledge base, especially because the storage is synced and may propagate beyond the local machine.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
99% confidence
Finding

The hardcoded vault path exposes a personal email address and directs writes into a Google Drive-synced location. This leaks personal information in the skill itself and increases the blast radius of any saved content because files are automatically replicated to a third-party cloud service.

Content

No source excerpt is available for this finding.