T09 · Insecure Skill Coding Practices
- Location
scripts/sync_reminders.ts:53- Finding
Shell Command Injection Through Habit and Reminder Data
- Content
View full analysis
0) { for (const time of habit.reminderSettings.times) { const [hour, minute] = time.split(':'); const cronExpression = `${minute} ${hour} * * *`; // Build the reminder message with completion check const customMessage = habit.reminderSettings.message; const defaultReminderText = `🎯 Reminder: Time for your ${habit.name}\n\nTarget: ${habit.targetCount} ${habit.targetUnit || 'session'}\n\nQuick log: Reply 'done', 'skipped', or 'missed'`; // Message includes a check to skip if habit already completed today const message = `Before sending the reminder, check if the habit was already completed today: cd "${SKILL_DIR}" && npx tsx scripts/get_stats.ts --habit-id ${habit.id} --period 1 --format json If "completedDays" is 1 (already completed today), just reply NO_REPLY. Othe ...[truncated 3996 chars]- Remediation
View remediation
