Back to skill

Security audit

Sister.skill

Security checks for vulnerabilities and agentic risk

Overview

The skill is transparent and local-only, but it persistently builds detailed profiles and interaction logs about real people in plaintext with broad collection prompts and limited consent or retention controls.

Install only if you are comfortable creating local plaintext profiles about real people. Avoid entering sensitive details such as health, finances, trauma, private conflicts, secrets, or third-party information given without consent, and periodically review or delete the files under ~/.sister-skill/sisters/.

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

Persistent Plaintext Storage of Sensitive Third-Party Profiles

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:50-67, SKILL.md:89-94, SKILL.md:145-150, SKILL.md:166-170, templates/SISTER-PROFILE.md:20-41, templates/INTERACTION-LOG.md:3-16
Vulnerability Type: Plaintext storage and indefinite retention of sensitive personal information
Risk Level: Medium

Vulnerable Code

SKILL.md:50-67:

markdown
## Data Storage

All data is stored **locally on the user's machine only**. No cloud sync. No external transmission.

~/.sister-skill/ └── sisters/ └── [name]/ ├── PROFILE.md # Structured personality profile └── interaction-log.jsonl # Your observation log

text

- **Storage location**: `~/.sister-skill/sisters/`
- **Format**: Markdown profiles + JSONL logs (human-readable plain text)
- **Cloud sync**: None. Zero external data transmission.
- **Deletion**: Delete any profile by removing its folder
- **Portability**: All files are plain text, fully portable

SKILL.md:89-94:

markdown
### The Unspoken Layer
- What she means when she says "I'm fine" (genuinely fine / not fine / testing if you'll push)
- Topics she avoids and why
- How she shows love without saying it
- What she needs but never asks for

SKILL.md:166-170:

markdown
1. **Never overwrite** — always add new memories alongside existing ones
2. **Track confidence** — "described 15 times" vs "mentioned once"
3. **Cross-session persistence** — load existing profiles before responding
4. **Timestamp everything** — every memory is logged with date
5. **Evolution tracking** — people change over time, track the evolution

templates/SISTER-PROFILE.md:20-41:

markdown
## Emotional Intelligence
- **How she gives advice:**
- **How she supports during crisis:**
- **How she handles HER crisis:**
- **Apology style:**
- **What "I'm fine" means when she says it:**

## Humor
- **Type:** (self-deprecating / observational / storytelling / chaotic / dry wit)
- **What makes her laugh:**
- **How sh
...[truncated 3183 chars]
Remediation
View remediation

Remediation Suggestions

  1. Obtain informed consent

    • Require users to confirm that the profiled person has consented before creating persistent records.
    • Disable persistent profiling by default for real individuals who have not consented.
    • Require separate confirmation before generating first-person imitations.
  2. Minimize collected data

    • Remove fields that solicit avoided topics, crisis behavior, unspoken needs, trauma, health information, finances, or other sensitive inferences.
    • Store summarized communication preferences rather than raw memories.
    • Reject or redact secrets and highly sensitive personal information before persistence.
  3. Protect data at rest

    • Encrypt profiles and logs using a platform-backed credential or user-provided key.
    • Create storage directories and files with owner-only permissions, such as directory mode 0700 and file mode 0600.
    • Avoid exposing names directly in predictable directory names; use non-identifying internal identifiers where practical.
  4. Introduce retention controls

    • Replace indefinite append-only storage with a configurable retention period.
    • Provide automatic expiration and secure deletion options.
    • Allow users to inspect and selectively delete individual observations, not only entire directories.
  5. Make persistence opt-in

    • Use session-only processing by default.
    • Display the exact information and destination file before writing.
    • Require explicit approval for every persistent update involving sensitive information.
  6. Reduce backup and synchronization exposure

    • Warn users that home-directory backup or synchronization software may copy the files despite the Skill having no cloud-sync feature.
    • Document how to exclude the storage directory from unmanaged backups.
    • Avoid claiming that no data leaves the device unless backup and host-agent behavior can be controlled.
  7. Add privacy validation

    • Before each write, ...[truncated 216 chars]
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Ssd 3

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The README explicitly markets the skill as remembering everything about highly personal relationships and trauma, which normalizes indefinite retention of sensitive personal data. Even without executable exfiltration code in this file, encouraging comprehensive capture of intimate memories materially increases privacy risk, especially if users store information about third parties who did not consent.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This description encourages users to build behavioral and emotional profiles of real people from memories and stories, which can include sensitive or reputationally harmful third-party information. In context, the skill is designed around persistent persona distillation, so the collection is not incidental; it is a core feature that amplifies privacy and misuse concerns.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The workflow promotes iterative sharing of more memories to make the profile increasingly accurate, which encourages ongoing accumulation of personal data over time. Because the subject matter is close relationships and emotional history, this context makes the retained corpus more sensitive than ordinary note-taking and increases the chance of overcollection, unauthorized profiling, or later disclosure.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill stores structured personality profiles and interaction logs about identifiable third parties, but the warning language is too soft for the privacy sensitivity involved. Even with local-only storage, these records can contain intimate behavioral inferences, and users may not appreciate that they are creating durable dossiers about other people.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The trigger for Interaction Mode is phrased broadly enough that normal conversation like asking what someone would say can invoke impersonation-style behavior without a strong confirmation boundary. In this skill, unintended activation is more sensitive because it operates on stored profiles of real third parties and can generate persuasive in-character responses that users may over-trust.

Content

No source excerpt is available for this finding.