Back to skill

Security audit

Tasks Skill

Security checks for vulnerabilities and agentic risk

Overview

This is a local SQLite task manager whose file access, database writes, and delete command match its stated purpose.

Install only if you are comfortable with a local task database being created and modified under your home directory by default. Use NO_NONSENSE_TASKS_DB to point it somewhere else, and be aware that task_delete.sh removes task records rather than archiving them.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (10)

Self-Modification

High
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.

Content

Scanner excerpt · AGENT.md (reported line 124)May include surrounding context.

md
3. Validate inputs
4. Escape SQL strings
5. Handle zero-result cases
6. Update SKILL.md with usage examples

## Known Limitations

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 · AGENT.md (reported line 57)May include surrounding context.

md
**Adding a new migration:**

1. Create `migrations/00X_description.sql` (next number in sequence)
2. Write SQL schema changes
3. Run `./scripts/init_db.sh` to apply
4. Migration is tracked in `schema_migrations` table

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 36)May include surrounding context.

Commands

bash
task_add.sh      # Create tasks
task_list.sh     # List and filter by status
task_show.sh     # Show task details
task_move.sh     # Change status

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This markdown file lists task_delete.sh as an available command, but provides no user warning that it deletes task data and may be destructive. Under the markdown-specific warning criteria, user-facing documentation should disclose behaviors that can affect user data or system integrity.

Content

No source excerpt is available for this finding.

Unrestricted Tool Access

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill grants unrestricted tool access without appropriate constraints. An agent with unfettered tool access can perform arbitrary actions including file modification, network requests, and code execution.

Content

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

task_stats.sh # Show statistics

text

Run any command with `--help` for usage details.

## Configuration

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 · SKILL.md (reported line 26)May include surrounding context.

bash
./scripts/task_add.sh "Build task tracker skill" \
  --description "Create a SQLite-based task manager" \
  --tags "work,urgent" \
  --status todo

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This markdown file describes a command that deletes tasks, which can affect user data. Under the markdown-specific warning criteria, the description should disclose destructive behavior, but this section presents the command without any caution, confirmation note, or recovery limitation.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
98% confidence
Finding

The architecture section says the database path can be overridden with NO_NONSENSE_DB, but the environment variables section later documents NO_NONSENSE_TASKS_DB as the database file path variable. These two statements cannot both be correct, so the documentation actively conflicts about how the skill is configured.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

This code performs a subprocess-style operation by invoking sqlite3, but the only disclosure is an internal code comment about SQL matching logic. Under the code-file criteria, user-facing disclosure can be a confirmation, visible log, print statement, or documented warning; none is present for the database access itself.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

This shell script performs a database write that changes task records, but it provides no confirmation prompt or pre-action disclosure beyond a generic comment and help text. Because file/database writes are safety-relevant operations for code files, the lack of an explicit user-facing warning before execution is a missing disclosure.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.