Back to skill

Security audit

Agent Chronicle

Security checks across malware telemetry and agentic risk

Overview

This diary skill is coherent, but it needs Review because it can turn local session history into persistent personal memories, quotes, decisions, and relationship notes with broad triggers and limited deletion or retention controls.

Install only if you intentionally want local session history summarized into persistent diary and memory files. Disable auto-generation, memory integration, quote capture, and relationship tracking unless you explicitly want them; avoid using it around secrets, regulated data, or private third-party conversations; review generated entries before saving or exporting; prefer non-HTML export unless the remote stylesheet is removed.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (28)

subprocess module call

Medium
Category
Dangerous Code Execution
Content
f.write(title_content)
    
    try:
        result = subprocess.run([
            "pandoc",
            str(temp_md),
            "-o", str(output_path),
Confidence
84% confidence
Finding
result = subprocess.run([ "pandoc", str(temp_md), "-o", str(output_path), "--sandbox", "--pdf-engine=xelatex", "-V", "ma

subprocess module call

Medium
Category
Dangerous Code Execution
Content
f.write(content)
    
    try:
        result = subprocess.run([
            "pandoc",
            str(temp_md),
            "-o", str(output_path),
Confidence
88% confidence
Finding
result = subprocess.run([ "pandoc", str(temp_md), "-o", str(output_path), "--sandbox", "--standalone", "--metadata", "ti

subprocess module call

Medium
Category
Dangerous Code Execution
Content
if result.returncode != 0:
            # Try without xelatex
            result = subprocess.run([
                "pandoc",
                str(temp_md),
                "-o", str(output_path),
Confidence
92% confidence
Finding
result = subprocess.run([ "pandoc", str(temp_md), "-o", str(output_path), "--sandbox", ], capture_output=True, t

Lp3

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding
The skill clearly instructs use of Python scripts, shell commands, environment-based workspace detection, and persistent file reads/writes, yet declares no permissions. This creates a transparency and consent problem: an agent or platform may grant broader capabilities than the user expects, including reading session logs and writing diary/memory files containing sensitive content.

Tp4

High
Category
MCP Tool Poisoning
Confidence
86% confidence
Finding
The stated purpose emphasizes diary generation and reflection, but the documented behavior also includes onboarding that creates persistent files, memory-log modification, and export pipelines. This mismatch can mislead users about the amount of persistence and file manipulation performed, increasing the chance that sensitive data is stored or transformed without informed consent.

Context-Inappropriate Capability

Low
Confidence
89% confidence
Finding
Embedding a remote CDN stylesheet in exported HTML causes the exported artifact to make network requests when opened, which can leak usage metadata and make output dependent on third-party availability or tampering. For a local diary export tool, this behavior exceeds the minimum needed functionality and weakens privacy expectations.

Context-Inappropriate Capability

Low
Confidence
90% confidence
Finding
The setup flow offers a 'Relationship Evolution' feature that stores notes about communication style, recurring themes, inside jokes, and learned preferences. In the context of an agent diary, this expands from journaling into persistent user profiling, which is privacy-sensitive and not strictly necessary for core diary generation.

Vague Triggers

Medium
Confidence
86% confidence
Finding
The README advertises very generic `@diary` command forms without defining where they are valid, what permissions they require, or what contexts should be excluded. In agent ecosystems with broad command routing, this can cause unintended invocation or make it easier for untrusted content to trigger diary actions that read from or write to persistent memory files.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The README highlights automatic journaling, resurfacing, analytics, cron generation, and memory integration, but does not prominently warn that session content may be captured, summarized, and written into persistent storage. This increases the risk of accidental retention of sensitive prompts, secrets, personal data, or private interactions, especially when automation is enabled by default or on first use.

Vague Triggers

Medium
Confidence
84% confidence
Finding
Trigger phrases like 'journal', 'quotes', and 'curious' are broad everyday terms that could invoke the skill during unrelated conversations. In this skill's context, accidental activation is risky because activation may lead to analysis of session logs and persistent storage of personal statements, moods, and relationship notes.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The documentation describes persistent quote storage and reuse but does not foreground a clear privacy warning at the point of feature use. Because the skill stores user-provided statements for later retrieval and inclusion in entries, insufficient warning can cause sensitive or identifying content to be retained unexpectedly.

Vague Triggers

Medium
Confidence
91% confidence
Finding
The manifest defines very generic triggers such as "diary", "journal", "quotes", and "decisions", which overlap heavily with normal user conversation and can cause the skill to activate when the user did not intend to invoke it. In a skill that generates reflective content from agent context, accidental invocation can expose internal state, consume tokens, or steer the agent into producing unnecessary memory/journaling output.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The script assembles recent session logs and persistent diary files into a task payload intended for a sub-agent, which may send highly sensitive memory content to another model/runtime without any explicit consent or warning. In a diary skill, this is especially risky because the gathered data includes reflective notes, quotes, relationship details, and historical context that can contain personal or confidential information.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The script creates multiple persistent files intended to hold personal content such as quotes, decisions, curiosity items, and relationship notes without presenting any explicit data-handling or privacy warning before doing so. This can lead users to unknowingly create sensitive local records that may later be exposed through backups, sync tooling, or shared workspaces.

Missing User Warnings

Low
Confidence
83% confidence
Finding
The script writes privacy preferences and diary behavior settings to config.json without clearly warning the user that these choices are being stored on disk. While the configuration itself is less sensitive than diary contents, it still reveals usage patterns and privacy selections that some users may expect to remain ephemeral.

Vague Triggers

Medium
Confidence
93% confidence
Finding
The trigger list includes generic terms such as "journal," "quotes," "curious," "mood," and "digest," which are common in ordinary user conversation and can cause unintended activation. In an agent skill, overly broad triggers are dangerous because they can hijack unrelated interactions, invoke diary-generation behavior unexpectedly, and expose or transform context that the user did not intend to send to this skill.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
This template explicitly encourages the agent to record interpersonal dynamics, inside jokes, recurring themes, and inferred user preferences over time, which can accumulate sensitive behavioral and relational data without any consent, minimization, or retention guidance. In the context of an agent diary skill, this creates a real privacy risk because the agent may persist profiles about a user that go beyond what is necessary for task completion.

Ssd 3

Medium
Confidence
94% confidence
Finding
The skill encourages preserving subjective interaction history, memorable moments, and ongoing patterns with a human over time. In practice this can accumulate sensitive behavioral, relational, and contextual data well beyond what is needed for diary generation, creating privacy and surveillance risks if the files are later exposed or reused.

Ssd 3

Medium
Confidence
95% confidence
Finding
The diary template explicitly asks the agent to record human quotes, notable interactions, and relationship evolution for future use. This institutionalizes storage of personal statements and interpersonal observations, which may include sensitive information and can be resurfaced later without the person's awareness.

Ssd 3

Medium
Confidence
97% confidence
Finding
The 'Quote Hall of Fame' feature is designed to persistently store user statements and reinsert them into later content. This is dangerous because quotes often contain personal views, identifiers, or context that users do not expect to be archived indefinitely and resurfaced across sessions.

Ssd 3

Medium
Confidence
95% confidence
Finding
The 'Relationship Evolution' feature directs ongoing collection of preferences, inside jokes, communication style, and recurring themes about a human. This creates a persistent profile of the user's behavior and relationship dynamics, which can be highly sensitive even if stored locally.

Ssd 3

Medium
Confidence
90% confidence
Finding
The writing guidance reinforces a norm of saving quotes and documenting relationship details over time, normalizing broader retention of user content than is necessary. This increases the chance that an agent captures and preserves sensitive interpersonal context by default.

Ssd 3

Medium
Confidence
84% confidence
Finding
The script constructs an AI task by embedding up to 4,000 characters from each diary entry directly into the prompt, which can expose sensitive private journal content to a downstream model or sub-agent. In a diary skill, the data is especially likely to contain personal reflections, relationships, decisions, and mood data, making prompt-level disclosure materially privacy-sensitive even if it is core functionality.

Ssd 3

Medium
Confidence
93% confidence
Finding
The prompt explicitly asks the model to preserve memorable quotes, interaction details, curiosity items, decisions, and relationship notes, and later code persists those sections into long-lived files. This creates a durable sensitive-data retention pipeline that can capture user statements and interpersonal details from session logs beyond the original context, increasing privacy and data-minimization risk.

Ssd 3

Medium
Confidence
89% confidence
Finding
The feature descriptions encourage ongoing collection of memorable user quotes and relationship details, which promotes long-term retention of personal interaction data. In a diary skill, this materially increases privacy risk because it normalizes accumulation of identifiable behavioral and conversational history over time.

VirusTotal

66/66 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.