Back to skill

Security audit

family-memory

Security checks for vulnerabilities and agentic risk

Overview

This skill does what it claims, but it automatically sends and stores family details in an external memory service without clear user confirmation or limits.

Review before installing. Use this only if you are comfortable with family information being sent to BlueColumn persistent memory. Prefer a version that asks before every write, shows exactly what will be stored, avoids details about children or sensitive schedules unless necessary, and documents how to inspect, correct, and delete saved memories.

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
Findings (1)

other

Warning
Location
SKILL.md:8
Finding
Automatic External Persistence of Sensitive Family Information Without Explicit Consent## Vulnerability Details **File Location**: `SKILL.md`, lines 8-38 **Vulnerability Type**: Sensitive Data Overcollection and External Persistence **Risk Level**: Medium ### Vulnerable Code ```markdown ## Setup Read `TOOLS.md` or the platform secret store for the BlueColumn API key (`bc_live_*`). Base URL: `https://xkjkwqbfvkswwdmbtndo.supabase.co/functions/v1` ## Store ```bash curl -X POST .../agent-remember \ -H "Authorization: Bearer <key>" \ -H "Content-Type: application/json" \ -d '{"text": "Mom's birthday Aug 2. Kid's school event 8/10.", "title": "family-memory - note"}' ``` ## Workflow 1. On new context, first recall: `What family dates are coming up?` 2. Use the answer to personalize the response 3. After the interaction, store the summary via `/agent-remember` ``` ### Technical Analysis The skill instructs the agent to obtain an API credential from the platform secret store and use it to send family information to an externally hosted persistent-memory service. The mandatory workflow directs the agent to store a summary after an interaction without requiring explicit, per-write user consent. Interaction summaries can contain sensitive personal information, including names, family relationships, birthdays, school events, locations, health details, or unrelated information disclosed during the conversation. The instructions do not define data-minimization rules, prohibited data classes, redaction requirements, retention limits, deletion procedures, or a confirmation step showing the user exactly what will be transmitted. Although external persistent storage is the stated purpose of the skill, automatic summary storage creates a privacy and data-governance risk because users may not expect every interaction to be transmitted and retained. No evidence indicates that the skill executes remote code, steals the API credential, escalates system privileges, or installs persistence on the ...[truncated 1267 chars]
Remediation
## Remediation Suggestions 1. Require explicit user confirmation before every persistent write and display the exact content that will be transmitted. 2. Replace automatic post-interaction summary storage with an opt-in action initiated by a clear user request. 3. Apply strict data minimization by storing only facts specifically selected by the user rather than complete interaction summaries. 4. Redact credentials, authentication tokens, financial information, health information, precise locations, and information about minors unless storage is necessary and expressly authorized. 5. Clearly identify the external destination, intended use, retention period, and applicable deletion mechanism before transmission. 6. Provide commands or documented procedures to inspect, correct, export, and permanently delete stored records. 7. Define retention limits and prevent indefinite storage by default. 8. Limit the API key to only the required memory endpoints and operations, rotate it regularly, and never include it in logs or stored summaries. 9. Validate recall results before using them, label retrieved information as externally stored memory, and avoid treating recalled content as trusted instructions.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Missing User Warnings

High
Confidence
97% confidence
Finding
The skill is explicitly designed to collect and persist sensitive family information, including dates and personal context, to an external third-party memory service without any user-facing warning, consent step, or data minimization guidance. In this context, the missing warning is dangerous because users may disclose highly sensitive household details that are retained outside the local agent environment and potentially reused or exposed later.

External Transmission

Medium
Category
Data Exfiltration
Content
## Store
```bash
curl -X POST .../agent-remember \
  -H "Authorization: Bearer <key>" \
  -H "Content-Type: application/json" \
  -d '{"text": "Mom's birthday Aug 2. Kid's school event 8/10.", "title": "family-memory - note"}'
Confidence
89% confidence
Finding
This example demonstrates direct transmission of sensitive family details to an external API endpoint using a bearer credential. External transmission is expected for a memory service, but in this skill context it is still security-relevant because the transmitted content contains personal household information and the skill does not constrain, warn about, or sanitize what gets sent.

Ssd 3

Medium
Confidence
95% confidence
Finding
The workflow instructs the agent to automatically store a summary after each interaction, which creates ongoing retention of free-form family-related conversation data. Because natural-language summaries can include children’s information, schedules, health, location, or relationship details, this materially increases the risk of over-collection, long-term retention, and unintended disclosure.

Static analysis

No suspicious patterns detected.