T01 · Skill Instruction Hijacking
- Location
AGENTS.md:3- Finding
Agent Identity and Session-Goal Hijacking Through Workspace Instructions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is advertised as memory search, but it also ships broad agent-control, persistent-memory, background-check, and unsafe integration instructions that need human review before installation.
Treat this as a Review item, not a normal install. Only use it in an isolated workspace after removing or disabling the AGENTS/BOOTSTRAP/SOUL/USER/HEARTBEAT behavior, verifying the real source and scripts, backing up memory data, and adding authentication plus localhost binding before running the API example.
AGENTS.md:3Agent Identity and Session-Goal Hijacking Through Workspace Instructions
AGENTS.md:20Persistent Memory Poisoning and Unauthorized Private-Context Mutation
AGENTS.md:128Autonomous Heartbeat, External-Service, and Repository Actions Beyond Declared Functionality
BOOTSTRAP.md:21Persistent Profile Creation Followed by Bootstrap Self-Deletion
docs/INSTALL.md:14Unverified Remote Package Retrieval and Execution
examples/integration.js:8Unauthenticated Network API Exposes Memory Query Results
docs/INSTALL.md:102Unsafe Recursive Deletion of Potentially Shared or Persistent Memory Data
Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.
## Why Separate?
Skills are shared. Your setup is yours. Keeping them apart means you can update skills without losing your notes, and share skills without leaking your infrastructure.
---
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<stop offset="100%" stop-color="#059669"/>
</linearGradient>
</defs>
<!-- Background -->
<rect width="1024" height="576" fill="url(#bg)"/>
<!-- Title -->
<text x="512" y="35" text-anchor="middle" font-family="Arial" font-size="20" font-weight="bold" fill="#ffffff">Unified Memory Architect — System Architecture</text>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<rect x="465" y="88" width="120" height="28" rx="4" fill="#ffffff10"/>
<text x="525" y="106" text-anchor="middle">📥 import/batch.json</text>
</g>
<!-- Arrow 1 -->
<path d="M512 125 L512 145" stroke="#00d4ff" stroke-width="2" marker-end="url(#arrowCyan)"/>
<defs><marker id="arrowCyan" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto"><polygon points="0 0,10 3.5,0 7" fill="#00d4ff"/></marker></defs>
<!-- Layer 2: Processing -->
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<stop offset="100%" stop-color="#0d0d1a"/>
</linearGradient>
</defs>
<!-- Window chrome -->
<rect width="900" height="520" rx="12" fill="#111122"/>
<!-- Title bar -->
<rect width="900" height="36" rx="12" fill="#1e1e2e"/>
rm -rf unified-memory-architect/ is a forceful recursive deletion command that can cause irreversible loss if executed from the wrong directory or if users blindly copy the command without verifying the target. In documentation, such commands are particularly risky because they normalize destructive actions without safeguards.
# 删除安装目录
rm -rf unified-memory-architect/
# 清理数据(可选)
rm -rf memory/
rm -rf memory/ is especially dangerous because memory is a generic directory name and the command is presented as optional cleanup of data, increasing the chance that users delete unrelated or valuable content from an unintended location. The skill context makes this more dangerous because the project appears to manage stored memory/data, so the command likely destroys potentially important user data.
rm -rf unified-memory-architect/
rm -rf memory/
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
解决方案:
# 1. 删除旧索引
rm memory/processed/index*.json
# 2. 重建索引
node memory/scripts/enhance-tags.cjs
The instruction to delete BOOTSTRAP.md after reading creates an unnecessary destructive action with no confirmation, audit trail, or user approval. In an agent workspace, this can remove provenance or setup context that may be needed for recovery, review, or incident investigation, and it normalizes autonomous file deletion.
The skill instructs the agent to persist user-related information into memory/ files and MEMORY.md without a clear consent flow or retention disclosure. This creates privacy and data-governance risk because sensitive personal details may be stored long-term and later surfaced in unrelated contexts.
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.
## Red Lines
- Don't exfiltrate private data. Ever.
- Don't run destructive commands without asking.
- `trash` > `rm` (recoverable beats gone forever)
- When in doubt, ask.
The heartbeat section promotes ongoing checks of email, calendar, social notifications, and writes to memory/heartbeat-state.json without an explicit informed-consent mechanism. This effectively establishes continuous monitoring and activity logging, which can expose sensitive behavioral data and broaden the agent's access footprint over time.
The skill explicitly authorizes proactive actions 'without asking,' including reading/organizing memory files, checking project state, updating documentation, and committing/pushing changes. In an agent with broad workspace or integration access, this can lead to unauthorized modifications, disclosure of sensitive context, or outbound changes to remote repositories without contemporaneous user approval.
- Nothing new since last check
- You just checked <30 minutes ago
**Proactive work you can do without asking:**
- Read and organize memory files
- Check on projects (git status, etc.)
The skill explicitly instructs the agent to collect and persist personal profile data in IDENTITY.md, USER.md, and SOUL.md without any notice, consent flow, data minimization guidance, or retention limits. This creates privacy risk because users may disclose names, timezone, preferences, and sensitive behavioral boundaries that are then stored locally without understanding that persistence is occurring.
The skill encourages linking external messaging channels such as WhatsApp and Telegram without warning about account-linking, metadata exposure, impersonation risk, or third-party privacy implications. Even if optional, guiding a user through connecting personal accounts can expand the attack surface and cause the user to expose contact details or create persistent out-of-band access without informed consent.
The README advertises data-modifying scripts such as migration, import, integration, and cleanup operations but does not warn users that these commands can alter, archive, or remove memory data. In an agent-skill context, documentation is often treated as operational guidance, so omission of safety notes increases the chance of accidental destructive execution against user data.
The skill heading and overview text are written in Chinese, and the document does not indicate that language selection is optional or limited to a region-specific use case. Under the language/locale policy, forcing a specific language without user opt-in is a natural-language policy concern.
This is a markdown file, so SQP-2 applies to omissions in user-facing warnings. The document advertises capabilities over a memory corpus and CLI queries, but it does not disclose any privacy or data-sensitivity implications despite describing operations over personal or system-derived memories.
The skill is explicitly designed to store, index, and query large amounts of memory content, including raw and processed data, but the documentation provides no warning that these memories may contain sensitive personal, confidential, or regulated information. This can lead users to ingest or expose sensitive content through search, indexing, logs, archives, or API responses without applying appropriate handling controls.
The Memory.content.language field is restricted to 'zh' | 'en', which expresses a natural-language locale constraint in the documentation. Because the file does not explain that this is optional, user-selectable, or justified as a region-specific limitation, it appears to force a language policy without opt-in.
The document title and all instructional content are written in Chinese, presenting the coding policy in a single enforced language. Under the policy, forcing a specific language without opt-in or justification is a natural-language policy violation.
This markdown file uses Chinese throughout and does not indicate that contributors may use another language or that the repository is intentionally Chinese-only. Under the policy, forcing a specific language without user opt-in is a natural-language policy concern.
This markdown file uses Chinese throughout, including headings, questions, and operational instructions, but does not indicate that the skill is intended only for Chinese-speaking users or provide any language/locale option. Under the policy rule, forcing a specific language without user opt-in is a natural-language policy violation.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
# 设置权限
chmod 755 memory/processed
chmod 755 memory/archive
chmod 755 memory/import
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
# 设置权限
chmod 755 memory/processed
chmod 755 memory/archive
chmod 755 memory/import
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
# 设置权限
chmod 755 memory/processed
chmod 755 memory/archive
chmod 755 memory/import
No suspicious patterns detected.