skills/security-audit/SKILL.md
Audit subprocess execution, path handling, SQL queries, panic conditions, and dependency risks in this Rust TUI project.
npx skillsauth add agentty-xyz/agentty security-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when asked to audit agentty for security vulnerabilities or assess its attack surface.
Agentty is a local TUI tool that spawns agent backends (Claude CLI, Codex, Gemini) as subprocesses, manages git worktrees, stores session data in SQLite, and streams agent output to the terminal. It has no web server, no authentication layer, and no network-facing API.
Read Project Context
AGENTS.md for project conventions, architecture references, and boundary rules.Traverse Target Directories
AGENTS.md to understand module purpose, entry points, and change boundaries before inspecting source files.Analyze Security Concerns
Focus on the threat categories that apply to a local CLI/TUI tool with subprocess management:
Command::new, tokio::process::Command) uses argument vectors (.arg() / .args()), never string interpolation or shell invocation. Check that user-supplied data (prompts, branch names, file paths) never flows into shell-interpreted strings.PathBuf::join, Path::strip_prefix) and reject .. traversal or symlink escapes. Check AGENTTY_ROOT override handling.sqlx queries use parameterized bindings (query!, query_as!, $1/$2 placeholders). Flag any string-formatted SQL..unwrap() / .expect() on data from untrusted sources (user input, file reads, subprocess output, database results, environment variables). These can crash the TUI and lose unsaved state.tokio tasks, and unsafe Send/Sync implementations.unsafe blocks, unsafe FFI calls, and overly broad feature flags (e.g., tokio/full).--force cleanup cannot delete unrelated worktrees, and concurrent session creation/deletion does not race.Return Findings
Critical, High, Medium, or Low.# Security Audit Report
## Critical
- [ ] **[Title]** — `path/to/file.rs`
[Description of the vulnerability and recommended mitigation.]
## High
- [ ] **[Title]** — `path/to/file.rs`
[Description and mitigation.]
## Medium
- [ ] **[Title]** — `path/to/file.rs`
[Description and mitigation.]
## Low
- [ ] **[Title]** — `path/to/file.rs`
[Description and mitigation.]
development
Sweep the codebase for tech debt and return a prioritized markdown task list of findings.
development
Guide for reviewing code changes (uncommitted or on a branch), existing code, and the project in general, providing a structured review report.
documentation
Guide for releasing a new version of the project, including version bumping, changelog updates, and tagging.
documentation
Create and maintain the single actionable roadmap in `docs/plan/roadmap.md`. Use when asked to draft or revise the roadmap, convert work into an iterative execution queue, split the backlog into `Ready Now`, `Queued Next`, and `Parked`, and keep only the active execution window fully expanded while preserving buffered sub-500-line implementation slices.