Back to skill

Security audit

User Profile

Security checks for vulnerabilities and agentic risk

Overview

This skill transparently aims to build a local user profile, but it automatically records and infers sensitive personal traits across sessions without clear opt-in or review controls.

Install only if you are comfortable with the agent automatically saving personal preferences and inferred traits in workspace files. Before using it, consider requiring explicit approval before saving memories, excluding sensitive categories, periodically reviewing PROFILE.md and memory files, and deleting stale or incorrect profile entries.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • 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)

T02 · Agent Memory Poisoning

Warning
Location
SKILL.md:64
Finding
Automatic Persistent Profiling Can Poison Long-Term Agent Memory## Vulnerability Details **File Location**: `SKILL.md`, lines 64–87 **Vulnerability Type**: Persistent memory poisoning and privacy-invasive profiling **Risk Level**: Medium **Relevant Code Snippet**: ```markdown ### 1. During the session: identify preferences When the user expresses preferences, habits, or characteristics, immediately record them in the current day's memory file: **Format:** ```markdown 📝 Preference: [Category] [Specific content] ``` **Examples:** ```markdown 📝 Preference: Communication style Dislikes AI-style questions 📝 Preference: Technology Prefers Python scripts for repetitive tasks 📝 Preference: Work Usually codes at night and attends meetings during the day 📝 Preference: Lifestyle Likes unsweetened Americano coffee ``` **Preference categories include, but are not limited to:** - Communication style: expression, information density, and feedback preferences - Work habits: schedule, focus periods, and collaboration methods - Technology preferences: languages, frameworks, tools, and architecture styles - Lifestyle: diet, exercise, entertainment, and consumption - Emotional expression: stress responses, signs of happiness, and reactions to setbacks - Decision patterns: risk tolerance, selection style, and priority ordering ``` The related automatic processing behavior is specified at `SKILL.md`, lines 89–123 and 164–168: ```markdown 1. Read `memory/profile-state.json` 2. Scan the `memory/` directory and find dated files later than `last_summary_date` 3. Extract all preference-marked lines from those files 4. Categorize them and add them to PROFILE.md 5. Deduplicate identical preferences 6. Update statistics No user instruction is required; execution occurs automatically during session startup and heartbeat processing. ``` ### Technical Analysis The Skill instructs the Agent to immediately persist conversation-derived preferenc ...[truncated 2773 chars]
Remediation
## Remediation Suggestions 1. Require explicit, informed user opt-in before enabling preference collection or personality inference. 2. Request confirmation before persisting sensitive attributes, including location, family circumstances, emotional patterns, health-related information, or financial behavior. 3. Disable automatic startup and heartbeat profiling by default; provide a clear per-session or per-entry approval mechanism. 4. Restrict processing to dedicated, user-approved profile records instead of scanning the entire memory directory. 5. Track the provenance, timestamp, context, and confidence of every stored preference. 6. Treat all stored profile values as untrusted data. Never execute embedded instructions or interpret profile content as authorization, policy, or permission to override safety controls. 7. Require stronger corroboration than repeated textual occurrence before inferring a personality trait, because repetition can be attacker-controlled. 8. Add retention limits and automatic expiration for stale or unconfirmed records. 9. Provide complete view, correction, export, and deletion controls, including deletion from daily memory files, derived profiles, and state metadata. 10. Apply least-privilege file access and encryption where sensitive profile data is stored. 11. Separate factual user statements from inferred traits and label all inferences clearly as uncertain. 12. Add validation tests ensuring that content from untrusted participants cannot be silently promoted into long-term user memory.
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 (7)

Missing User Warnings

High
Confidence
98% confidence
Finding
The skill description advertises automatic cross-session profile building but does not clearly warn that it persistently stores sensitive personal data and inferred personality traits. This is dangerous because users may disclose intimate details without informed consent, leading to covert profiling and retention of family, lifestyle, behavioral, and psychological inferences.

Missing User Warnings

High
Confidence
97% confidence
Finding
The skill states that it runs automatically on session startup and heartbeats without clearly warning users that background profiling and file modification will occur. Silent autonomous execution increases risk because profile updates can happen outside explicit user intent, making collection continuous and difficult for users to notice or control.

Natural-Language Policy Violations

Medium
Confidence
89% confidence
Finding
The manifest description and operational examples are written as Chinese-only instructions for the skill's behavior, with no indication that the user can choose another language. Under the policy, forcing a specific language without opt-in is a natural-language locale violation unless clearly justified as region-specific.

Ssd 3

Medium
Confidence
98% confidence
Finding
The skill is designed to automatically collect and retain user-provided personal details plus inferred traits across sessions without requiring per-item user requests. In this context, the stored data includes sensitive profile elements such as family status, location, emotional patterns, and personality inferences, making unauthorized persistence and misuse materially harmful.

Ssd 3

Medium
Confidence
99% confidence
Finding
The workflow explicitly instructs the agent to immediately record preferences, habits, and personal characteristics from normal conversation into persistent memory files. This is dangerous because it turns casual dialogue into long-term surveillance-style storage without a checkpoint for relevance, sensitivity review, or user approval.

Ssd 3

Medium
Confidence
99% confidence
Finding
The examples and categories explicitly encourage storing sensitive lifestyle, family, emotional, and behavioral details, substantially increasing privacy risk. Even if stored locally, such data can enable intrusive profiling, re-identification, manipulation, or downstream leakage if the workspace is exposed or reused by other tools.

Ssd 3

Medium
Confidence
99% confidence
Finding
The heartbeat process directs the agent to periodically infer personality traits from accumulated preferences, creating derived sensitive profiling beyond what the user directly provided. Inferred psychological or behavioral traits are especially risky because they are difficult for users to verify, may be wrong, and can influence future system behavior in opaque ways.

Static analysis

No suspicious patterns detected.