---
name: ktnyt/security-review
source: https://app.decimal.ai/s/ktnyt-security-review@1/SKILL.md
source_sha256: 6a038d5101f7
---

# Security Review

Invoke the security-reviewer agent to assess security-sensitive changes.

## When to trigger

- Child process spawning or lifecycle changes (`src/lsp-client.ts`)
- File system read/write operations (`src/file-editor.ts`, `src/file-scanner.ts`)
- Configuration file loading or parsing (`cclsp.json`, `CCLSP_CONFIG_PATH`)
- Environment variable handling
- New or modified LSP server adapter (`src/lsp/adapters/`)
- Setup wizard input handling (`src/setup.ts`)

## Review checklist

1. **Command injection**: Are user-supplied values (config file paths, server
   commands) sanitized before being passed to `child_process` spawn?
2. **Path traversal**: Can file paths from LSP responses escape the project
   root? Are `file://` URIs validated before resolving?
3. **Resource exhaustion**: Are there timeouts on LSP server responses? Can a
   malicious LSP server cause unbounded memory growth?
4. **Config trust boundary**: Is `cclsp.json` treated as trusted input? What
   happens if it contains unexpected fields or types?
5. **Process cleanup**: Are child processes reliably terminated on shutdown?
   Can orphaned processes persist?
6. **Symlink attacks**: Does file resolution follow symlinks outside the
   project directory?

## How to invoke

Use the `everything-claude-code:security-reviewer` agent via the Task tool:

```
Task(
  subagent_type: "everything-claude-code:security-reviewer",
  prompt: "Review the following changes for security concerns: <describe changes>"
)
```

## Output expectations

The security reviewer should produce:

- **CRITICAL**: Must fix before merge (injection, traversal, credential leak)
- **HIGH**: Should fix before merge (missing timeouts, incomplete cleanup)
- **MEDIUM**: Fix when possible (defensive checks, hardening opportunities)
- **LOW**: Informational (best practice suggestions)