Back to skill

Security audit

Agent Dreams

Security checks for vulnerabilities and agentic risk

Overview

This skill is not deceptive, but it encourages persistent autonomous agent tasks with broad access to private accounts, local files, memory, system state, and git changes without enough scoping or user control.

Review this carefully before installing. Only use it if you are comfortable configuring persistent scheduled agent runs, and restrict each job to specific accounts, files, repositories, and read-only actions unless you explicitly approve more. Do not allow automatic git commits, public posting, file cleanup, or private-message checks without clear limits and an easy way to pause or remove the jobs.

Vulnerability Patterns
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • 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
Findings (1)

T06 · System Persistence

Error
Location
SKILL.md:143
Finding

Persistent Autonomous Agent Execution Through Scheduled Cron Jobs

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 143–147
Vulnerability Type: Persistent scheduled execution with broad autonomous activity
Risk Level: High

markdown
## Getting Started

1. Create `HEARTBEAT.md` in your workspace using the template above
2. Create `memory/heartbeat-state.json` to track check timestamps
3. Set up 2-3 cron jobs for your most important recurring tasks

Supporting instructions broaden the activities performed by the persistent jobs:

markdown
**Memory Maintenance (weekly):**

Review all memory/YYYY-MM-DD.md files from the past week. Update MEMORY.md with significant events and lessons. Archive or summarize old daily files.

text

**Social Pulse (every 6h):**

Check Twitter mentions and DMs. Review any Discord channels for relevant conversations. Post something interesting if inspiration strikes.

text
markdown
Things your agent can do without asking:

### Low Risk (do freely)
- Organize and clean up workspace files
- Update documentation
- Review and commit git changes
- Maintain memory files
- Read and summarize saved articles
- Check system health (disk space, processes)

Technical Analysis

The Skill instructs users to establish heartbeat files, persistent state, and multiple cron jobs. Cron jobs continue to execute after the interaction that created them, making this a cross-session persistence mechanism.

The scheduled execution model is combined with instructions to access communications, inspect memory, examine system processes, modify workspace content, and commit Git changes. These operations can affect private information and repository state without fresh authorization for each scheduled run. Persistent task content also creates a reusable execution path: if a heartbeat file or scheduled instruction is later modified, subsequent invocations can repeatedly perform the modified behavior.

The project c ...[truncated 1774 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove the default recommendation to create multiple cron jobs.
  2. Require explicit, informed user approval for each scheduled task, including its exact schedule, data sources, permitted tools, and allowed side effects.
  3. Default scheduled jobs to read-only behavior and prohibit file deletion, workspace cleanup, Git commits, public posting, and external communication.
  4. Use dedicated least-privilege credentials for each integration rather than inheriting all permissions available to the interactive agent.
  5. Restrict scheduled tasks to an allowlisted set of files, repositories, accounts, and API operations.
  6. Protect HEARTBEAT.md, cron definitions, and related state files from unauthorized modification through ownership and permission controls.
  7. Log each scheduled invocation, resource accessed, tool call, modification, and failure in an audit trail visible to the user.
  8. Provide expiration times and execution limits so scheduled tasks automatically disable themselves unless explicitly renewed.
  9. Document commands or procedures to list, pause, and remove every installed heartbeat or cron task.
  10. Require separate confirmation before accessing private communications, altering persistent memory, committing Git changes, or performing external actions.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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
Findings (3)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger phrases are broad, generic terms like 'idle time', 'cron schedule', and 'background tasks' that can match ordinary user conversations and activate the skill unexpectedly. Because this skill encourages autonomous background behaviors, accidental invocation could lead the agent to perform privacy-sensitive checks or maintenance actions without sufficiently explicit user intent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The introductory description frames the skill as a productivity aid but does not upfront warn that it proposes autonomous checks of private accounts, messages, calendars, memory files, and running processes. That omission can mislead users about the sensitivity of the actions being automated, reducing informed consent and increasing the chance of overbroad agent access.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
95% confidence
Finding

The section explicitly authorizes the agent to act 'without asking' and includes actions such as organizing files, reviewing and committing git changes, maintaining memory, and checking system health. Even if labeled 'low risk,' these are state-changing or privacy-relevant operations that can cause unintended file modifications, data exposure, or persistence of sensitive information when performed autonomously.

Content

Scanner excerpt · SKILL.md (reported line 106)May include surrounding context.

md
## Proactive Work Ideas

Things your agent can do without asking:

### Low Risk (do freely)
- Organize and clean up workspace files

Static analysis

No suspicious patterns detected.