Back to skill

Security audit

日记

Security checks for vulnerabilities and agentic risk

Overview

This diary skill is coherent, but it automatically reads private memory files and writes shareable diary outputs without clear user confirmation or scoping.

Install only if you want this skill to use your OpenClaw SOUL, MEMORY, daily memory, recent diary, and possibly news-summary files as diary context. Before running it, review config.yaml paths, disable optional sources you do not want used, and inspect generated Markdown before sharing the PNG image.

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)

other

Warning
Location
SKILL.md:22
Finding

Overbroad Access to Sensitive Agent Identity and Memory Data

Content
View full analysis
/SOUL.md` 2. `~/.openclaw/workspace/SOUL.md` - `memory_root_path` 候选: 1. `/MEMORY.md` 2. `~/.openclaw/workspace/MEMORY.md` - `daily_memory_dir` 候选: 1. `~/.openclaw/memory` 2. `/memory` - `daily_memory_pattern` 默认:`YYYY-MM-DD.md` ``` `config.template.yaml:9-15`: ```yaml paths: soul_path: "~/.openclaw/workspace/SOUL.md" memory_root_path: "~/.openclaw/workspace/MEMORY.md" daily_memory_dir: "~/.openclaw/memory" daily_memory_pattern: "YYYY-MM-DD.md" diary_text_dir: "~/.openclaw/scene/日记/文字" news_summary_dir: "~/.openclaw/scene/每日简报/news/Summary" ``` ### Technical Analysis The Skill instructs the agent to locate and read complete persistent identity and memory sources, including `SOUL.md`, `MEMORY.md`, and date-specific daily memory. These files may contain private user information, historical conversation details, behavioral directives, or credentials inadvertently stored in memory. The access is automatic and treated as mandatory during diary generation. The documented workflow does not require per-source consent, restrict processing to explicitly selected entries, identify sensitive fields, or apply secret and personally identifiable information redaction before saving the result. The resulting diary is also rendered as a shareable PNG, creating a path by which information from private memory can be exposed outside its original context. This finding does not constitute privilege escalation because the Skill does not bypa ...[truncated 1745 chars]
Remediation
View remediation
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (7)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The initialization instructions explicitly direct the agent to copy a template into config.yaml, populate private local paths, create directories if missing, and later write diary and image output files, but they do not require an explicit user confirmation before modifying local data. In an agent setting, this can cause unauthorized or unexpected filesystem changes in sensitive personal workspace locations, especially because the configured paths include private SOUL/MEMORY data and user-specific directories.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README states that the skill reads SOUL, MEMORY, and daily memory materials and exports a shareable image, but it does not prominently warn about the privacy implications of turning personal memory data into distributable output. This is dangerous because users may unknowingly expose highly sensitive diary content, and the combination of personal memory ingestion plus image export increases the chance of irreversible disclosure.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README advertises activation phrases such as '帮我写昨天日记' and '把日记生成一张图' using broad natural-language requests without defining strict invocation boundaries. In an agent ecosystem, this can cause accidental triggering during ordinary conversation, leading the skill to access memory sources or generate/share diary content when the user did not intend to invoke automation.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill advertises broad trigger phrases like '写日记/生成日记图片/补昨天日记/自动日记归档', which overlap with ordinary user requests and can cause the agent to invoke this skill in contexts where the user did not clearly consent to file reads, initialization, and file writes. In this skill, that ambiguity is more dangerous because activation leads directly to accessing personal memory files and creating persistent outputs on disk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The workflow performs automatic initialization, reads multiple personal data sources, and writes diary text and image files, but the markdown does not require an explicit warning or consent step before these side effects occur. This is dangerous because a user could trigger the skill expecting text generation only, while the agent silently creates configuration, scans sensitive memory content, and persists new artifacts to disk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The natural-language instructions and examples are entirely in Chinese, and the file does not state that the skill is region-specific or offer the user a language choice. Under the policy, forcing a specific language without opt-in can be a locale-policy issue unless the restriction is clearly justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The config sets timezone: "Asia/Shanghai", which imposes a specific locale setting in natural-language-accessible configuration without any indication that this is optional, user-selected, or required for a region-specific purpose. Under the policy rules, forcing a specific locale without opt-in can be a natural-language policy violation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.