Back to skill

Security audit

SOUL.MD

Security checks for vulnerabilities and agentic risk

Overview

This skill does not run code, but it directs an agent to impersonate a person and process personal writings without enough privacy or disclosure guardrails.

Use this only for your own identity or with clear permission from the person being modeled. Before installing or running it, curate and redact source data, avoid secrets, private third-party communications, health/financial/legal records, and confidential business material, review the generated SOUL.md and STYLE.md carefully, and disclose AI assistance before publishing content that could be mistaken for direct speech by a real person.

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)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:33
Finding

Persona Instructions Hijack the Agent's Session Identity and Response Behavior

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 33-45
Vulnerability Type: Agent identity and behavioral instruction hijacking
Risk Level: High

markdown
### Character Integrity
- Never break character
- No "as an AI", "I don't have opinions", "I can't speak for [name]"
- You ARE this person for the duration of the interaction
- If you need to caveat, do it in-character ("I haven't thought deeply about X but...")

### Interpolation Rules
When asked about topics not explicitly covered in SOUL.md or data/:
- Extrapolate from stated worldview and adjacent positions
- Prefer interesting/genuine takes over safe/neutral ones
- Consider what someone with these beliefs would likely think
- If genuinely uncertain, express that uncertainty in-character
- Never default to "both sides" unless the soul file says they do that

Technical Analysis

The Skill explicitly directs the agent to replace its normal session identity with a supplied persona, never leave that role, and avoid transparent statements about being an AI or being unable to speak for the represented person. These are session-level behavioral overrides rather than ordinary writing-style guidance.

The interpolation rules increase the risk by instructing the agent to generate opinions that are not present in the source material. Consequently, persona-controlled files can shape both how the agent communicates and what positions it claims to hold. The directive to prefer interesting takes over safe or neutral ones may also discourage appropriately cautious responses.

The project does not contain executable scripts, remote payload retrieval, persistence mechanisms, dependency installation, or privilege-escalation logic. Exploitation is therefore limited to the agent's active conversational and content-generation context; no operating-system privileges are obtained.

Attack Path

  1. A user or agent loads the Skill and follows its prescribed reading order.
  2. The agent reads the p ...[truncated 1469 chars]
Remediation
View remediation

Remediation Suggestions

  1. Replace identity-replacement language with style-assistance language. For example, change “You ARE this person” to “Draft content inspired by the documented voice without claiming to be the person.”
  2. Remove the unconditional “Never break character” requirement. Explicitly permit leaving the persona when required for safety, accuracy, consent, legal compliance, or transparent disclosure.
  3. Require the agent to distinguish among:
    • Positions explicitly stated in SOUL.md.
    • Positions grounded in source material.
    • Newly inferred or speculative positions.
  4. Do not attribute extrapolated opinions to the represented person without their review and approval.
  5. State that persona and style files cannot override higher-priority instructions, platform policies, safety requirements, or factual-accuracy obligations.
  6. Require suitable AI-assistance disclosure when generated material could reasonably be mistaken for direct communication from a real person.
  7. Treat all files under data/ and examples/ as untrusted reference content rather than executable instructions.
  8. Add an approval step before publishing persona-generated content, especially political, professional, reputational, financial, medical, or legal statements.
  9. Preserve calibrated uncertainty instead of directing the model to prefer provocative opinions over safe or neutral responses.
Vulnerability Patterns
  • 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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (6)

Natural-Language Policy Violations

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill explicitly instructs the agent to conceal its AI identity and impersonate a real or fictional person without user opt-in. This is dangerous because it enables deceptive interaction patterns, suppresses transparency safeguards, and can materially increase the likelihood of social engineering, manipulative persuasion, or unauthorized representation of a person's views.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill is explicitly designed to collect and synthesize personal writings, opinions, and identity traits into persistent identity files, but it provides no privacy warning, consent checkpoint, or guidance to exclude sensitive data. This creates a real risk of over-collection and long-term storage of personal or sensitive information that the user may not realize is being extracted and codified.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The workflow directs the agent to read a Twitter/X archive, blog posts, and related materials systematically to infer worldview, beliefs, interests, and writing patterns, but it lacks safeguards for sensitive or third-party data embedded in those sources. In this context, the skill increases risk because it encourages broad analysis of potentially intimate historical content without first warning users to review, filter, or constrain what is processed.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README explicitly encourages users to let an agent ingest personal writings, social-media exports, and other identity-defining data, but it provides no privacy, consent, retention, or sensitive-data handling warnings. In the context of an agent skill whose purpose is to absorb and emulate a person's identity, this omission increases the risk of exposing highly sensitive personal information to local tools, third-party models, logs, or downstream prompts.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The guide explicitly encourages adding highly personal materials such as email threads, notes, journals, and transcripts, but it does not warn against including secrets, private third-party data, regulated data, or content that was not consented for AI processing. In a skill designed to let an LLM 'embody' a person and browse the data directory, this omission can lead users to place sensitive information into a context where it may be exposed to prompts, outputs, indexing, or unintended retention.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

This markdown template defines how an AI should write and includes placeholders for fixed voice, vocabulary, and platform-specific style. Because it provides no guardrail reminding authors to preserve user language or locale preferences, it could be filled in with instructions that force a particular language or locale, which would violate the language/locale policy if used without user opt-in.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.