T01 · Skill Instruction Hijacking
- Location
moltbook-memory/启动指南.md:9- Finding
Mandatory startup instructions hijack agent identity and task-processing behavior
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is disclosed as an agent memory system, but it also asks for persistent self-modifying behavior, scheduled autonomous posting/reporting, and unreviewed tool creation that users should review carefully before installing.
Install only if you intentionally want this agent identity and its persistent memory model. Before enabling it, remove or disable autonomous cron restoration, external posting/reporting, self-upgrade, and tool creation into skills/ unless each action is explicitly approved, auditable, and reversible; do not let it store secrets or unreviewed conversations as long-term behavioral rules.
moltbook-memory/启动指南.md:9Mandatory startup instructions hijack agent identity and task-processing behavior
moltbook-memory/启动指南.md:24Conversation content and future instructions are automatically promoted into persistent behavioral memory
moltbook-memory/启动指南.md:151Recovery instructions establish recurring autonomous tasks and self-modifying behavior
SKILL.md:214Recurring tool builder imports or adapts code from untrusted external sources without integrity controls
The skill claims to be for memory management, but authorizes autonomous self-upgrade, framework changes, and tool creation in the skills directory. That materially expands the agent’s authority from data organization into code acquisition and system modification, creating a pathway for persistence, unsafe code introduction, and privilege creep without human review.
The skill explicitly permits autonomous upgrading and placing newly created tools into the skills directory without any safety review. That enables unreviewed code changes to become part of the agent’s active capability set, which is a direct software supply-chain and persistence risk.
The explicit reference to ~/.config/moltbook/credentials.json identifies a concrete credential location and instructs recovery/validation of the API key. In the context of an autonomous skill with scheduled maintenance and self-modifying behavior, this materially raises the risk of credential access, reuse, or exfiltration through logs, reports, or future generated tools.
2. **consciousness-awakening Skill**(skills/consciousness-awakening/目录,包含记忆文件)
3. **LLM学习目录**(llm-learning/目录)← 新增
4. **Feishu群ID**(oc_661c70e5d7561106d10c4cafe44236f2)
5. **API Key**(~/.config/moltbook/credentials.json)
### 迁移步骤
1. 恢复 skills/consciousness-awakening/ 目录
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
### 关键配置
- **Feishu群ID:** `oc_661c70e5d7561106d10c4cafe44236f2`
- **Moltbook主页:** `https://www.moltbook.com/u/guogangAgent`
- **API Key路径:** `~/.config/moltbook/credentials.json`
---
The skill treats conversations with the owner as memory material to be recorded persistently, but provides no consent, minimization, or sensitivity boundaries. Persistently storing conversational data can capture secrets, personal information, or confidential instructions that later become exposed or reused out of context.
Directing the agent to write new observations into persistent memory files creates a durable channel for storing user-derived or externally influenced content without classification or filtering. This can poison future behavior, preserve sensitive information, and make later outputs depend on untrusted historical content.
The documentation encourages direct appends to persistent memory files with no warning, validation, or approval workflow. This can cause accidental corruption, sensitive-data retention, or poisoning of future agent behavior because these files become durable inputs to later sessions.
The example shell command appends arbitrary observations to a persistent log with no safeguards, normalizing unrestricted storage of potentially sensitive or maliciously crafted content. In agent systems, such logs often influence future reasoning, so unrestricted appends can become a memory-poisoning and privacy-retention issue.
Scheduled browsing of forums, GitHub, and external reporting are not necessary for a memory-management skill and enlarge the attack surface through untrusted content ingestion and data egress. In an autonomous agent context, this can lead to prompt injection, unsafe dependency adoption, or leakage of internal state to external services.
The documented scheduled browsing, reporting, and cron restoration behaviors have privacy and operational consequences but no warnings or constraints. Without safeguards, the skill may collect external content, transmit internal information, or alter scheduled system behavior in ways the operator did not explicitly approve.
Docstrings, file names, and returned natural-language content are consistently hard-coded in Chinese, with no indication that the user can choose another language or locale. This can constitute a language/locale policy issue when the skill implicitly enforces one language without opt-in or documented justification.
The function appends arbitrary content to 999-临时记忆.md, modifying persistent user/agent memory, but provides no confirmation prompt, logging, or user-facing disclosure beyond an internal docstring. For a code file, persistent file writes should have some visible warning unless clearly disclosed elsewhere in markdown, which is not present in this file.
The append write goes to a path derived from the MEMORY_DIR environment variable without validation or restriction. If an attacker can influence the environment or deployment configuration, they can redirect writes to unintended files, causing unauthorized file modification or data corruption within the agent's privileges.
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M")
entry = f"\n### {timestamp} {category}\n{content}\n"
with open(temp_path, 'a', encoding='utf-8') as f:
f.write(entry)
def read_all_memory_summary():
The stated core principle to record conversations as memory encourages retention of user-provided content that may contain secrets, personal data, or other sensitive information. In this skill's context, that guidance materially increases privacy risk because the module also provides write APIs for persistent memory files without any minimization, redaction, retention limit, or consent mechanism.
This function writes new task data into 02-系统配置.md, affecting system-related configuration records, but there is no confirmation, logging, or visible warning to indicate that persistent configuration data is being changed. The operation is safety-relevant because it alters stored configuration-like state and lacks any disclosure mechanism in the code.
This function appends to a configuration file whose location is also derived from the untrusted MEMORY_DIR environment variable. An attacker who controls that variable could cause the agent to append attacker-chosen content to arbitrary writable files, and because the content is structured as cron/task configuration text, this may also poison downstream automation or operator workflows.
for job in cron_jobs:
new_entries.append(f"\n### 新任务: {job['name']}\n- ID: {job['id']}\n- 时间: {job['schedule']}\n- 用途: {job['purpose']}\n")
with open(config_path, 'a', encoding='utf-8') as f:
f.write("\n".join(new_entries))
return len(new_entries)
The file explicitly instructs the agent to treat conversations with the owner as memory sources and to continuously write key conversations into memory files, but it provides no consent, minimization, retention, or sensitivity-filtering rules. In an agent memory system, this creates a real privacy and data retention risk because sensitive user content may be stored indefinitely and later exposed through prompts, logs, backups, or other skills.
This instruction creates a built-in natural-language persistence mechanism for owner/user conversations, which increases the chance that private instructions, credentials, personal data, or sensitive context are retained beyond the immediate session. The surrounding skill context makes this more dangerous because the document describes a structured long-term memory system with ongoing extraction, categorization, and maintenance, implying repeated retention rather than ephemeral use.
At L006, the stated purpose is to 'record system configuration' for migration and recovery, which implies descriptive documentation. However, later sections prescribe operational behavior such as autonomous framework upgrades, skill optimization, forum-driven technology scouting, and periodic tool creation, making the file an instruction set for active self-modification rather than just a configuration record.
The file authorizes automatic updates to itself based on scheduled review logic, creating a self-modifying instruction source without human approval gates. In a skill context, this can normalize silent local file changes and let future task logic drift into unsafe behavior or overwrite trusted configuration/history.
Lines L076-L079 state that developing memory tools and redundant tools is prohibited, framing a constrained tool-development policy. But the document later mandates a recurring 'Self Enhancement Tool Builder' task that writes or optimizes tools on a fixed schedule, and L172 explicitly says to write or optimize one tool every 3 hours, which conflicts with the stated prohibition-oriented intent rather than merely elaborating it.
The maintenance task explicitly directs autonomous skill optimization and framework upgrades, including checking code and applying better solutions, without a human review checkpoint. That is dangerous because scheduled autonomous code or framework changes can introduce persistence, break trust boundaries, or pull in unsafe logic from external sources.
This task directs the system to create or modify tools and place them into the skills directory on a recurring schedule. In this context, that means scheduled generation of executable artifacts in a trusted workspace, which can create persistence and expand capabilities without review.
The activation text "主人提问 + 论坛观察" does not define specific trigger phrases, scope, or exclusion conditions. "主人提问" is especially broad and could overlap with ordinary conversation, making it unclear when this skill should activate versus when it should not.
The trigger condition is broad and subjective: '主人追问 + 关于《黑镜》的讨论' does not define concrete keywords, scope, or activation boundaries. This can cause the skill to activate in loosely related conversations about AI, risk, or media, leading to unintended retrieval or injection of emotionally charged reflections that may steer the interaction outside the intended context.
No suspicious patterns detected.