Back to skill

Security audit

Heartbeat

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed, local guidance package for creating safer OpenClaw heartbeat files, with only minor configuration caveats.

Before installing, expect the agent to create or update local files under ~/heartbeat/ for heartbeat preferences, drafts, and snapshots. Replace the example Europe/Madrid timezone with your own, and review any proposed cron handoff before allowing scheduled jobs.

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
Vulnerability Patterns
  • 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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The template specifies timezone: Europe/Madrid, which imposes a locale-specific setting in natural language/config content. The file does not indicate that this is optional, user-selected, or justified as region-specific, so it can violate the policy against forcing a locale without opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The template sets timezone: Europe/Madrid as the default value, which imposes a specific locale in natural-language configuration guidance. The policy requires avoiding forced language or locale choices unless the constraint is justified or the user is given an explicit choice.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The setup instructs the agent to persist the user's chosen operating mode in ~/heartbeat/memory.md without explicitly informing the user that local data will be written. While the stored data appears low sensitivity, undisclosed persistence can create privacy and consent issues, especially if users do not expect configuration state to be retained across sessions.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.