T09 · Insecure Skill Coding Practices
- Location
SKILL.md:49- Finding
Database credentials exposed through command-line arguments
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This database helper is mostly coherent, but it includes under-scoped commands that can expose credentials, export sensitive data, and restore or import into databases without enough safeguards.
Install only if you are comfortable reviewing every generated database command before execution. Use least-privilege or read-only credentials where possible, avoid putting passwords in command arguments or transcripts, do not export production data to shared temporary paths, and require a separate explicit confirmation before any restore, import, migration, or full-table export.
SKILL.md:49Database credentials exposed through command-line arguments
SKILL.md:121Sensitive database exports written to predictable shared temporary files
SKILL.md:263SQLite backup written to a fixed shared temporary path
The backup and especially restore instructions omit explicit warnings that restore/import operations can overwrite, append, or otherwise alter production data and may be difficult to reverse. In a tool-using agent, terse executable restore examples create a substantial risk of destructive execution against the wrong environment or with insufficient review.
The activation phrases are broad enough to match routine user requests like 'check the database' or 'show me the data,' which can cause the skill to trigger in many contexts without confirming scope, environment, or sensitivity. Because the skill contains destructive and exfiltration-capable procedures, overbroad activation increases the chance of unintended access, exports, or operational actions.
The document states 'read-only by default' and requires confirmation for writes, but later includes restore/import commands that perform writes without reiterating those safeguards. This inconsistency is dangerous because an agent may follow later concrete commands over earlier policy text, resulting in unauthorized data modification or overwrite.
The export section provides ready-to-run commands that can extract entire tables to local files without prominent warnings about sensitive data handling, destination control, or least-privilege use. In an agent context, this facilitates data exfiltration or accidental leakage of regulated data to insecure temporary paths.
The skill materially expands from exploration into restore and migration workflows that can modify databases and filesystem state, increasing capability beyond the advertised read-mostly use case. In an agent setting, these examples can normalize or trigger destructive actions such as restore/import against production systems without strong gating, especially when paired with broad activation cues.
Commands like piping backups through 'gzip' and copying SQLite files with 'cp' introduce generic shell/file-management capabilities not inherent to querying or exploring databases. While related to backup workflows, they are not justified by the manifest's stated focus on database exploration, schema inspection, querying, export, and debugging.
No suspicious patterns detected.