habit-flow
Fail
Audited by Gen Agent Trust Hub on Mar 24, 2026
Risk Level: HIGHCOMMAND_EXECUTIONEXTERNAL_DOWNLOADSPROMPT_INJECTION
Full Analysis
- [COMMAND_EXECUTION]: The script
scripts/sync_reminders.tsconstructs shell commands for theclawdbotCLI by interpolating habit names directly into a command string. Because these names are provided by the user viamanage_habit.tsand are not sanitized or escaped before being used in a shell context, an attacker could create a habit with a name containing shell metacharacters (e.g.,$(command)or; command) to achieve arbitrary code execution.\n- [COMMAND_EXECUTION]: The skill frequently usesexecSyncto run internal scripts and platform commands (found incheck_cron_jobs.ts,coaching-engine.ts, andinit_skill.ts). The pattern of building shell command strings from dynamic variables throughout the codebase presents a systemic risk of command injection.\n- [EXTERNAL_DOWNLOADS]: During installation (install.sh) and maintenance, the skill downloads external Node.js dependencies from the NPM registry. While the packages (e.g.,@napi-rs/canvas,chrono-node) are well-known, this remains a vector for supply chain risks.\n- [PROMPT_INJECTION]: The skill processes untrusted user input using theparse_natural_language.tsscript. This data is subsequently used to populate habit metadata and integrated into automated prompts and coaching messages. The absence of robust boundary markers or sanitization for this content creates a surface for indirect prompt injection, which could be used to manipulate agent behavior during scheduled coaching sessions.
Recommendations
- AI detected serious security threats
Audit Metadata