Back to skill

Security audit

snaplii-autopilot

Security checks for vulnerabilities and agentic risk

Overview

The skill is a disclosed Snaplii purchasing autopilot that uses secure credential storage, browser automation, and explicit order confirmation in ways that fit its stated payment purpose.

Install only if you want an agent to make Snaplii-backed gift card purchases and drive a merchant checkout. Use the Snaplii app to create a narrowly scoped API key with a spending limit, enter it only through the secure credential dialog, and review the quote, delivery address, and final order summary before approving the final checkout.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (3)

Session Persistence

Medium
Category
Rogue Agent
Confidence
75% confidence
Finding

The skill instructs creation and reuse of a long-lived API key stored in a secure credential store to enable payment operations. Even though it forbids pasting the key into chat and prefers native secure storage, persistent bearer credentials for purchasing and transfers increase the blast radius if the host credential store, agent environment, or connected tooling is compromised.

Content

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

md
is required before continuing that task.
- If they need an API key, open the Snaplii App and sign in, then go to
  More → Payment Methods → AI Payment Management → + New API Key.
  Set a name, choose permissions and a spending limit, then create and copy the
  key. The key is shown only once. Explain that reading account information,
  purchasing, and transferring money need the corresponding permissions.
  During installation there may be no business task yet: let the user choose

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
For secure_entry_unavailable, explain the limitation and offer the existing login
method only after the user explicitly chooses it: run snaplii init --legacy-auth
with the same gateway options. Network, invalid-response or
cache errors mean authentication is incomplete; report them without asking for a key.

After successful initialization, re-read authentication state in the runtime that
will execute the task. Continue only when has_valid_token=true. If the session

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
70% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
key. The key is shown only once. Explain that reading account information,
  purchasing, and transferring money need the corresponding permissions.
  During installation there may be no business task yet: let the user choose
  their intended uses and limits in the app; do not require all permissions or
  automatically restrict them to read-only.
- You will open Muse's native secure credential input dialog. Paste the API key
  only into that dialog, not into the chat; Muse stores it in its secure

Static analysis

No suspicious patterns detected.