一键导入
security-audit
Audit subprocess execution, path handling, SQL queries, panic conditions, and dependency risks in this Rust TUI project.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Audit subprocess execution, path handling, SQL queries, panic conditions, and dependency risks in this Rust TUI project.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Guide for creating E2E feature tests with VHS GIF generation and Zola feature page auto-discovery for new visible UI features.
Guide for reviewing code changes (uncommitted or on a branch), existing code, and the project in general, providing a structured review report.
Guide for bumping project versions and running base release-preparation validations.
Guide for preparing git commits in this repository, including context gathering and repository-specific commit message conventions.
Sweep the codebase for tech debt and return a prioritized markdown task list of findings.
| name | security-audit |
| description | Audit subprocess execution, path handling, SQL queries, panic conditions, and dependency risks in this Rust TUI project. |
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.]