# Security Review

> Request a security expert assessment for code changes that touch child process spawning, file system access, configuration loading, or environment variable handling. Use when the Reviewer identifies security-sensitive changes in the MCP-LSP bridge.

- Skill: `ktnyt/security-review` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ktnyt/security-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ktnyt/security-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: ktnyt (https://skillmd.com/u/ktnyt)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/ktnyt/security-review

---


# 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)

