| name | security-review |
| description | Comprehensive security review for Breeze RMM. Multi-tenant isolation audit, authentication/authorization hardening, public exploitability assessment, input validation, rate limiting, WebSocket security, secrets management, and OWASP top-10 coverage. Use when reviewing code for security issues, hardening endpoints, auditing tenant isolation, checking for vulnerabilities, or before deploying security-sensitive changes. |
Breeze RMM Security Review
Run a structured security audit against the Breeze RMM codebase. This skill covers the full attack surface: API routes, agent communication, multi-tenant isolation, and public-facing endpoints.
Review Process
The checklist below is the coverage map. For high-signal results (low false positives), run it
using the two-pass fan-out methodology in references/methodology.md:
- (Optional) Pass 0 — threat-model seed for large diffs: enumerate attack hypotheses per trust
boundary before reading code.
- Pass 1 — generation: work the checklist with whole-repo data-flow tracing (Grep/Glob/Read,
not diff-only — cross-file flows are what authz/RLS/SSRF review misses). For focused diffs, fan
out one sub-agent per vuln class. Over-produce candidates.
- Pass 2 — adversarial verification: launch one parallel sub-agent per candidate to re-check
it read-only against the exclusion list + a 1–10 confidence score; drop anything < 8.
Note the RMM-specific exclusion overrides in methodology.md: unlike the upstream defaults, missing
audit logs, path-only SSRF in the agent's URL-fetch paths, and agent IPC/file-permission gaps are
in scope for Breeze.
Report findings as:
- CRITICAL — Exploitable now, data leak or privilege escalation
- HIGH — Exploitable with effort or insider access
- MEDIUM — Defense-in-depth gap, hardening opportunity
- LOW — Best-practice suggestion, no immediate risk
- PASS — Pattern verified, no issue found
At the end, produce a summary table of all findings with severity, file, line, and remediation.
For a quick single-pass triage, the checklist alone is fine; for pre-pentest or pre-release reviews,
use the full two-pass flow.
Checklist
1. Multi-Tenant Isolation
The hierarchy is: Partner > Organization > Site > Device Group > Device. Every query touching tenant data MUST be scoped.
See references/multi-tenant.md for isolation patterns, common bypass vectors, and files to audit.
Verify:
2. Authentication and Authorization
See references/auth-hardening.md for auth patterns and files to audit.
Verify:
3. Input Validation and Injection
Pattern: Every route uses zValidator('param'|'query'|'json', schema) before the handler.
Verify:
4. Rate Limiting and DoS Protection
Files to check:
apps/api/src/middleware/globalRateLimit.ts — Global rate limiter
apps/api/src/services/rate-limit.ts — Sliding window implementation
- Auth routes — Per-endpoint limits
Verify:
5. WebSocket Security
Files to check:
apps/api/src/routes/agentWs.ts — Agent WebSocket
apps/api/src/routes/terminalWs.ts — Terminal sessions
apps/api/src/routes/desktopWs.ts — Remote desktop
apps/api/src/services/remoteSessionAuth.ts — WS ticket system
Verify:
6. Secrets and Cryptography
Files to check:
apps/api/src/services/secretCrypto.ts — AES-256-GCM encryption
apps/api/src/services/enrollmentKeySecurity.ts — Enrollment key hashing
.env files, docker-compose*.yml — Secret configuration
Verify:
7. CORS, Headers and Transport
Files to check:
apps/api/src/index.ts — CORS config, security headers
apps/api/src/services/corsOrigins.ts — Origin allowlist
apps/api/src/middleware/security.ts — HTTPS enforcement, CSP
Verify:
8. Agent Communication Security
For a deep Go-agent pass (update/manifest channel, Helper IPC privilege boundary, command
injection, Go-language footguns), use references/agent-go-review.md
— it carries the priority threat model (manifest-signing-key → fleet-wide RCE as SYSTEM) and the
SYSTEM-vs-user helper scope checks. The checklist below is the quick version.
Files to check:
agent/internal/websocket/client.go — WS client TLS config
agent/internal/config/config.go — Config file permissions
agent/internal/mtls/mtls.go — mTLS certificate handling
apps/api/src/routes/agents/enrollment.ts — Enrollment flow
Verify:
9. Public Exploitability Assessment
Evaluate from an external attacker perspective:
Unauthenticated attack surface:
Authenticated attacker (compromised user):
Compromised agent:
Supply chain / infrastructure:
10. Data Protection
Verify:
Output Format
After completing all checks, produce:
## Security Review Summary
| # | Severity | Category | File:Line | Finding | Remediation |
|---|----------|----------|-----------|---------|-------------|
| 1 | CRITICAL | ... | ... | ... | ... |
### Statistics
- Critical: X
- High: X
- Medium: X
- Low: X
- Pass: X
### Top Priority Actions
1. ...
2. ...
3. ...
For CRITICAL and HIGH findings, include proof-of-concept or reproduction steps.