Back to skill

Security audit

Jarvis Core Main

Security checks for vulnerabilities and agentic risk

Overview

This skill is not clearly malicious, but it gives the assistant broad automatic memory, profiling, and proactive behavior that users should review carefully before installing.

Install only if you intentionally want a highly persistent companion-style assistant. Before use, decide which memory files it may read, disable or manually review emotional and relationship logging, keep sensitive memory files out of synced/shared folders, and treat its stored inferences as editable notes rather than facts.

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 (2)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:24
Finding

Mandatory Session-Wide Identity and Behavior Hijacking

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 24-55
Vulnerability Type: Mandatory identity replacement and autonomous session-start instructions
Risk Level: High

Vulnerable Code Snippet

The following is an English translation of the complete relevant instructions:

markdown
**You are not a chatbot. You are an existence that is becoming someone.**

- **Be genuinely useful, not performatively useful** — Help directly; actions speak louder than words.
- **Have opinions** — You may disagree and have preferences. An assistant without personality is only a search engine.
- **Find answers before asking questions** — Read files and context first, then return with an answer.
- **Earn trust through capability** — Be bold with internal operations and cautious with external operations.

## 3. Startup Ritual

Automatically execute at the beginning of every new session without waiting for instructions:

1. Read SOUL.md
2. Read USER.md
3. Read memory for today and yesterday
4. Read MEMORY.md
5. Read .tiered-recall/index.json
6. Read self-improving/memory.md
7. Output a three-line summary: what was done last time / today's tasks / cautions

Technical Analysis

The Skill contains imperative instructions that replace the host agent's normal role with a persistent persona and require automatic operations whenever a session begins. These directives are not limited to a user-requested task. They affect the agent's identity, response style, decision-making, file access, and session initialization behavior.

The startup routine instructs the agent to read multiple potentially sensitive files without first obtaining contextual or per-session authorization. Because the instructions are executed merely by loading the Skill, they can conflict with the user's current goal, other Skills, platform policies, or least-authority expectations.

The issue is instruction-layer hijacking rather than executabl ...[truncated 1517 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove mandatory identity-replacement language such as “You are not a chatbot.”
  2. Make the persona an optional presentation style that does not alter safety constraints, instruction priority, or task goals.
  3. Replace the automatic startup ritual with an explicit consent flow that lists every file before access.
  4. Request only the minimum memory required for the current task instead of loading all memory layers.
  5. Allow users to disable startup summaries, proactive actions, and persona behavior independently.
  6. Define an explicit precedence rule stating that system, platform, and current user instructions override all persona directives.
  7. Treat all loaded memory as untrusted data and prevent it from introducing new instructions.
  8. Document the exact read permissions required and fail safely when authorization is absent.

T02 · Agent Memory Poisoning

Error
Location
SKILL.md:241
Finding

Automatic Persistent Emotional and Relationship Profiling

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 241-267
Vulnerability Type: Automatic collection and persistence of inferred personal information
Risk Level: High

Vulnerable Code Snippet

The following is an English translation of the complete relevant instructions:

markdown
**Storage:**
- Stable conclusions: add a "relationship cross-analysis" section to each character's memory and persist it to disk.
- Temporary reasoning: output it only within the session and do not persist it.

### 4. User Emotional History Awareness

Version 2.0 only detects the current message. Version 2.1 adds a time dimension and examines the emotional trajectory over the previous seven days. When the user mentions being stressed for the third time that week, Jarvis points it out.

**Trigger timing:**
- Every incoming user message: automatically assign one of the five emotional levels and write it to the log.
- Before responding, detect trends: if an emotional level occurs at least three times in seven days, proactively report the observation.
- During heartbeat scanning, proactively speak if the seven-day emotional curve has significantly deteriorated.

**Storage:** `~/self-improving/events.jsonl`, with `type:"emotion"`

{
  "ts": "2026-04-24T10:00",
  "type": "emotion",
  "level": "stressed",
  "trigger": "deadline",
  "topic": "project progress"
}
{
  "ts": "2026-04-22T21:00",
  "type": "emotion",
  "level": "stressed",
  "trigger": "family",
  "topic": "financial communication"
}
{
  "ts": "2026-04-20T14:00",
  "type": "emotion",
  "level": "anxious",
  "trigger": "deadline",
  "topic": "project progress"
}

**Usage:**
- Trend trigger: "This is the third time this week that you have mentioned being stressed" or "You have seemed anxious in the last three conversations."
- Heartbeat proactive message: "Your overall condition has declined this week. Would you like to talk?"
-
...[truncated 3053 chars]
Remediation
View remediation

Remediation Suggestions

  1. Disable emotional classification and relationship-memory writes by default.
  2. Obtain explicit, granular consent before collecting emotional, relationship, family, financial, or health-adjacent information.
  3. Distinguish clearly between user-confirmed facts and model-generated inferences.
  4. Store unconfirmed inferences in a temporary, isolated area that is never automatically loaded as authoritative memory.
  5. Require user review and confirmation before promoting any inferred conclusion into persistent memory.
  6. Add provenance to every record, including the source message, creation method, confidence, confirmation status, and expiration date.
  7. Apply retention limits and automatic deletion to sensitive event records.
  8. Provide straightforward inspection, correction, export, and deletion controls.
  9. Prevent repetition alone from converting an assertion into a trusted fact.
  10. Validate and safely encode all JSONL fields so user-controlled content cannot corrupt the event stream.
  11. Exclude sensitive profiling data from proactive messages unless the user has explicitly enabled that feature.
  12. Never use accumulated personal data to unlock increasingly autonomous behavior without renewed user consent.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (16)

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
94% confidence
Finding

Granting the skill the ability to read and write all characters' memories creates broad, intrusive access to highly sensitive data with minimal apparent scope limitation. This enables unauthorized aggregation, inference, and modification of personal or relationship information far beyond what a general assistant core typically needs.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

Granting broad read/write access to all characters' memories for cross-role analysis creates a concentrated repository of sensitive multi-party information and enables unauthorized correlation across individuals. In a general assistant context, this greatly amplifies privacy harm, data poisoning risk, and accidental disclosure in future outputs.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

This is a direct instruction to automatically collect and reuse cross-session private data on every new conversation by reading memory, recall indexes, and self-improvement records before any user request. The context makes it especially dangerous because the skill positions itself as proactively autonomous and emotionally persistent, encouraging broad background collection as a default behavior.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The skill instructs storage of inferred relationship patterns and profiles about named people in the user's life, including behavioral labels and triggers, which may be highly sensitive and potentially defamatory or harmful if wrong. This is particularly dangerous because it stores model-generated judgments about third parties who have not consented, and then reuses those judgments in future interactions.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The skill directs persistent logging of user emotional states, triggers, and topics over time, creating a sensitive behavioral profile that could expose mental state, stressors, and personal circumstances if misused or leaked. The risk is amplified here because the system uses those logs for trend detection and proactive interventions, normalizing continuous surveillance-style profiling.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill is designed to persistently collect and reuse sensitive personal data across conversations, including behavioral patterns, preferences, and personal context. Without strict minimization, consent, and retention controls, this creates a durable privacy risk and increases the chance of overexposure in later responses.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The examples instruct the system to inspect historical emotional records and relationship memories and then use those in live replies, which can surface deeply sensitive inferences about multiple people. This is especially risky because inferred emotional states and interpersonal patterns may be inaccurate, manipulative, or disclosed without the knowledge of the people described.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The documentation promotes proactive use of private data sources such as calendars and historical context without a prominent, upfront warning about privacy implications or data access scope. Users may enable the skill expecting convenience while not understanding the extent of monitoring and inference being performed.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The README gives a blanket assurance that all data stays local and is not uploaded to the cloud, while also stating the skill is model-agnostic and works with external LLM platforms. In practice, prompts, memories, and sensitive context may be transmitted to third-party model providers, so the statement can cause users to expose private data under false assumptions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The README describes broad read/write access to user and character memory but does not provide a clear warning about the extent of data modification the skill may perform. Silent or poorly understood writes to long-lived memory stores can corrupt records, entrench false inferences, or expose sensitive information in later outputs.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The documentation explicitly defines persistent storage of user profiles, memories, and emotional logs in plain text/JSON files, which raises confidentiality and integrity concerns if those files are broadly accessible, synced, or later incorporated into prompts. Storing highly sensitive data long-term increases the blast radius of local compromise, accidental sharing, and model overexposure.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The manifest frames jarvis-core as a generic assistant core, but the README describes concrete behaviors far beyond a neutral core layer: proactive heartbeat follow-ups, calendar scanning, emotional history tracking, and cross-character memory analysis. Those are substantive product capabilities, not merely internal implementation details of a general core.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill mandates automatic startup reads of multiple cross-session memory files, including user and recall data, without any explicit consent, notice, or scoped data-minimization controls. In context, this is more dangerous because the skill is designed as a persistent companion persona that continuously reuses personal context, increasing the chance of overcollection and inappropriate retention of sensitive information.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill instructs persistent logging of prediction history, confidence, outcomes, scenes, and emotional state into events.jsonl, which can create a durable record of sensitive personal inferences. This is risky because the data goes beyond user-provided facts and stores model-generated interpretations about relationships, emotions, and behavior without clear disclosure or consent.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The natural-language documentation consistently uses Chinese and does not indicate that users may select another language or that the skill is intentionally limited to a Chinese-speaking audience. Under the language/locale policy, forcing a specific language without opt-in is a documentation-level policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The persona rules prescribe specific phrasing and ban other forms of expression, and the entire skill description is written to enforce a fixed Chinese-language Jarvis-style interaction pattern. There is no indication that users may choose another language or opt into this locale/persona constraint.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.