Back to skill

Security audit

Index Cards

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent physical greeting-card service, but users should understand that mailing details go to the provider and optional saved contacts are kept locally in plaintext.

Install only if you are comfortable sending recipient name, mailing address, phone number, artwork, occasion, and message text to Index Cards when you approve an order. Avoid opting into the local contacts cache unless you want those details saved on disk, and review the full address, message, cost, and recipient before confirming any order.

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:135
Finding

Plaintext Storage of Sensitive Contact and Delivery Data

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (3)

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The skill’s privacy statement is materially inconsistent with its documented behavior. It says contact data is not sent to the API, but the order flow explicitly sends recipient name, mailing address, and phone number to /v1/orders; this can mislead users and downstream systems about data disclosure, undermining informed consent for sensitive physical-address data.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The description says to use the skill when the user 'mentions a birthday or occasion,' which is broad enough to overlap with ordinary conversation that is not actually a request to send a card. The trigger scope is not bounded by explicit activation phrases or exclusion conditions, so the skill may be invoked unintentionally.

Content

No source excerpt is available for this finding.

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 263)May include surrounding context.

md
### What this skill does NOT do

- Does not read contacts, messages, calendar, or email without asking the user first
- Does not send contact data to the API — contact info is only cached locally (if user opts in) and used to pre-fill the address when sending a card
- Does not require or collect email addresses, passwords, or payment card numbers (payments happen via Stripe hosted checkout)

Static analysis

No suspicious patterns detected.