Back to skill

Security audit

LighterLoad

Security checks for vulnerabilities and agentic risk

Overview

This instruction-only skill is coherent with its family-reminder purpose, but users should understand it stores sensitive household notes locally.

Install only if you are comfortable letting the agent keep local notes about family, friends, children, dates, preferences, and reminders. Keep the memory directory out of Git, shared folders, and cloud sync unless you understand the exposure; avoid storing school names, detailed health history, financial details, addresses, or full birth dates, and delete memory/people/ if you stop using it.

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
references/onboarding-flow.md:56
Finding
Plaintext Persistence of Sensitive Household Profiles<![CDATA[ ## Vulnerability Details **File Location**: `references/onboarding-flow.md:12-17`, `references/onboarding-flow.md:56-76`, `SKILL.md:124-157` **Vulnerability Type**: Plaintext storage of sensitive personal and household information **Risk Level**: Medium ### Vulnerable Code Snippets `references/onboarding-flow.md:12-17`: ```markdown 1. **Partner** — name, how long together, anniversary 2. **Children** — names, ages, schools/daycare 3. **Parents** — names, how often in contact, any health considerations 4. **Siblings** — names, where they live, closeness level ``` `references/onboarding-flow.md:56-76`: ```markdown ## Data Storage Store in `memory/people/` directory: ``` memory/people/ ├── index.md (summary of all people + relationships) ├── partner.md (detailed: partner name, preferences, history) ├── children/ │ ├── child1.md │ └── child2.md ├── parents/ │ ├── mum.md │ └── dad.md ├── extended/ │ └── [name].md └── friends/ └── [name].md ``` Each person file includes: - Name, nickname, age/Date and month of birth if known - Relationship to user - Key dates (birthday, anniversary, etc.) - Current life context - Last meaningful interaction - Interests/preferences - Notes (updated over time) ``` `SKILL.md:124-157`: ```markdown ## Privacy & Data Safety This skill stores personal information about real people. Handle with care. ### You are the privacy filter When the user shares information, actively strip identifying details before writing to files. Don't wait for them to self-censor — that's adding to their mental load. **Store this way:** - "Mum, 72" — NOT "Margaret Smith, DOB 15/03/1954" - "Birthday: 15 Mar" — NOT "DOB: 15/03/1954" (day+month only, never year) - "3 years to next milestone" — all the agent needs is proximity to the next decade birthday. If the user gives a birth year, convert to this format and discard the year. - "Lives interstate" — NOT "42 Elm St, Brunswick VIC 3056" - "Works in healthcare" — NO ...[truncated 3798 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Replace general-purpose plaintext Markdown storage with a host-platform private storage facility that enforces per-skill access controls and restrictive filesystem permissions. 2. Request granular consent before persisting higher-risk categories, particularly children’s schools, health considerations, financial-provider names, and interaction history. 3. Make sensitive fields optional and collect only information strictly necessary for a specific reminder or care function. 4. Avoid storing school or daycare names. Prefer generalized descriptions such as “primary-school child” unless an exact institution is essential and separately approved. 5. Minimize health records to non-diagnostic reminder context and avoid retaining medical narratives or conditions by default. 6. Present a review and confirmation step showing exactly what will be written before creating or updating a profile. 7. Define automatic retention periods and periodically ask the user whether stale information should be updated or deleted. 8. Apply restrictive permissions when files are created, such as owner-only read and write access where the host environment supports it. 9. Detect whether the memory directory is inside a Git repository, shared folder, backup target, or cloud-synchronized location. Warn the user and decline persistence until exposure is acknowledged or mitigated. 10. Add generated storage paths to appropriate ignore files where possible, while clarifying that ignore rules do not protect existing commits, backups, or cloud synchronization. 11. Provide an inventory and deletion command that removes individual records or all skill data and verifies that deletion succeeded. 12. Document the host platform’s encryption-at-rest and access-control requirements rather than relying solely on the assumption that the local machine is a sufficient security boundary. ]]>
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
### Immediate: Holidays & Leave Calendar

Before or during onboarding, populate the user's memory with local public holidays, school term dates (if they have kids), and annual leave optimisation strategies. This is public information — no approval needed. See [references/holidays-and-leave.md](references/holidays-and-leave.md) for the full approach.

### First Use: Onboarding
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.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The file describes ongoing monitoring and proactive assistance across highly sensitive personal domains including relationships, health, finances, parenting, and social history, but provides no privacy guardrails, consent requirements, data minimization rules, or restrictions on retention/sharing. In this skill context, the absence of explicit handling guidance is risky because the assistant is intended to accumulate intimate household knowledge over time, increasing the chance of over-collection, inappropriate inference, or unsafe prompting around sensitive data.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The onboarding flow explicitly instructs collecting and storing sensitive personal and household data about the user and third parties, including names, ages, relationships, health considerations, life context, financial renewal timing, and interaction history, but it provides no explicit privacy warning, consent guidance, retention limits, or access controls. In this skill context, the danger is elevated because the assistant is designed to accumulate longitudinal dossiers on family and social contacts over time, increasing the risk of privacy harm, unauthorized profiling, and exposure of people who may never have consented to being recorded.

Static analysis

No suspicious patterns detected.