Back to skill

Security audit

workout-claw

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent local workout logging skill, with practical cautions around its external npm CLI and no-confirmation local delete/edit features.

Install only if you are comfortable using the global npm package it depends on and storing workout records in ~/.workout-claw. Treat delete/edit requests carefully, especially because delete is non-interactive and may not be reversible. Broad trigger phrases may need clarification before the agent acts.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (11)

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · README.md (reported line 75)May include surrounding context.

For OpenClaw integration:

bash
mkdir -p ~/.openclaw/workspace/skills/workout-claw
cp SKILL.md ~/.openclaw/workspace/skills/workout-claw/SKILL.md
systemctl --user restart openclaw-gateway.service

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · README.md (reported line 76)May include surrounding context.

bash
mkdir -p ~/.openclaw/workspace/skills/workout-claw
cp SKILL.md ~/.openclaw/workspace/skills/workout-claw/SKILL.md
systemctl --user restart openclaw-gateway.service

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The README advertises workout-claw delete <session-id> but does not warn that this removes workout data or indicate whether deletion is reversible. For a markdown file, destructive behavior affecting user data should be accompanied by an explicit warning so users and invoking agents understand the risk.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · README.md (reported line 127)May include surrounding context.

Optional weekday split

By default the session's muscle group is inferred from the exercises you logged (most sets wins). If you follow a fixed split, create ~/.workout-claw/config.json:

json
{ "split": { "mon": "back", "wed": "legs", "fri": "chest" } }

Shadow Command Trigger

Medium
Category
Trigger Abuse
Confidence
70% confidence
Finding

Shadow Command Trigger: 'log workout' conflicts with built-in command 'log'

Content

No source excerpt is available for this finding.

Shadow Command Trigger

Medium
Category
Trigger Abuse
Confidence
70% confidence
Finding

Shadow Command Trigger: 'delete workout' conflicts with built-in command 'delete'

Content

No source excerpt is available for this finding.

Shadow Command Trigger

Medium
Category
Trigger Abuse
Confidence
70% confidence
Finding

Shadow Command Trigger: 'edit workout' conflicts with built-in command 'edit'

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The listed triggers include generic phrases like "today's workout", "last workout", and "show last session", which can plausibly occur in ordinary conversation and may collide with other fitness, calendar, or note-taking contexts. The manifest does not provide exclusion conditions or tighter scope constraints to distinguish when this skill should or should not activate.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

Triggers such as "back volume", "chest volume", "how much volume", and "weekly volume" are broad fragments that could refer to audio, storage, anatomy, or other domains, not necessarily workout training volume. Without contextual qualifiers or negative examples, these phrases risk unintended invocation.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
95% confidence
Finding

The skill exposes a destructive delete operation with no confirmation prompt and explicitly instructs agents to use it non-interactively. In an agent setting, a mistaken trigger, stale session ID, or ambiguous user request could permanently remove workout data without an opportunity for the user to approve or recover the action.

Content

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

workout-claw delete

text

Session IDs come from the `id` field in any `log` / `summary` / `last` output. No confirmation prompt — the CLI is non-interactive by design.

### Edit a session

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The README states that workout-claw edit <session-id> opens session JSON in $EDITOR, which allows direct modification of persisted workout records. Although not inherently unsafe, the markdown description lacks any warning that users can alter or corrupt stored data if they edit the JSON incorrectly.

Content

No source excerpt is available for this finding.