Security Audit — Personal Overrides
This skill is an overlay on top of netresearch:security-audit (the upstream provides OWASP/CWE/CVSS coverage and 61 reference files). Load this skill in addition to the upstream — never as a replacement.
1. Stack Scope
In-scope (audit findings apply, severity scored normally):
- Backend: PHP/Symfony, TypeScript/NestJS
- Frontend: React, Astro, Vue (where applicable)
- DB layer: Drizzle (TS), Doctrine (PHP)
- Auth: JWT (TS), Symfony Security (PHP)
- Build/CI: GitHub Actions, Docker
Out-of-scope (findings reported but deprioritised):
- Mobile (iOS/Android SDK security refs in netresearch)
- Non-stack frameworks: Django, Flask, FastAPI, Rails, Spring, .NET, Go-Gin
- TYPO3 (specific to netresearch's primary scope, not yours)
2. False-Positive Filters
Findings to automatically downgrade or dismiss in the audit output, unless explicit evidence shows real impact:
| Category |
Reason to downgrade |
| Denial-of-service patterns (unbounded loops, large response) |
Handled at infrastructure layer (rate limiting, CDN, K8s resource limits) |
| Rate limiting at application level |
Same — infra concern, not code-review concern |
| Generic input validation findings |
Only flag if a concrete attack path is identified (not "could be missing") |
| Memory / CPU exhaustion |
Infra layer |
| Open redirect (unless on auth flow) |
Low impact outside auth context |
| Information disclosure via error messages in DEV environment |
Only flag if production |
3. Severity Conventions (CVSS-aligned)
Use CVSS v4.0 when scoring. Map to severity buckets:
| Severity |
CVSS range |
Audit verdict |
| Critical |
9.0 – 10.0 |
Block PR, fix before merge |
| High |
7.0 – 8.9 |
Fix before merge unless explicit waiver |
| Medium |
4.0 – 6.9 |
Fix within sprint |
| Low |
0.1 – 3.9 |
Backlog / track |
4. Output Format Convention
When delivering an audit report (Markdown):
## Security Audit — <scope>
### Critical (N)
#### F1 — <vuln name> [CVSS X.Y]
**Location:** `path/to/file.ts:42`
**Description:** <one-line>
**Reproduction:** <minimal proof>
**Fix:** <concrete code change>
**Reference:** <link to netresearch ref or owasp/cwe ID>
### High (N)
…
### Summary
- Total findings: N
- By severity: Critical X, High X, Medium X, Low X
- Recommended action: <one line>
No verbose intro. No multi-option matrices. Direct to findings.
5. Cross-References to Companion Skills
- TypeScript-specific patterns (Drizzle parameterized queries, JWT setup, bcrypt rounds,
execFile over exec, path traversal, Zod env validation, Helmet headers, SameSite cookies) → see audit:ts-security (loads automatically in TS context).
- PHP/Symfony-specific patterns → see
netresearch:security-audit references symfony-security.md, php-security-features.md.
- NestJS-specific patterns → see netresearch
nestjs-security.md.
- Frontend (React/Vue/Astro) → see netresearch
react-security.md, vue-security.md, frontend-security.md.
6. Project-Specific Patterns to Always Check
These are not in netresearch but recur across personal projects:
- Drizzle parameterized queries everywhere — never string-interpolate user input into
db.execute(\...${var}...`). Use sql`SELECT … WHERE x = ${var}`` with placeholders, or the query builder.
- bcrypt SALT_ROUNDS ≥ 12 — never lower for production.
- JWT with explicit
expiresIn, strong JWT_SECRET (≥ 32 chars), explicit algorithms: ['HS256'] on verify.
- Zod env validation at startup — fail-fast on missing/malformed env vars.
- Helmet headers in NestJS/Express apps.
SameSite: 'strict' + httpOnly: true + secure: true on auth cookies.
Quick Reference
| Override category |
Application |
| Stack scope |
Focus on PHP/Symfony + TS/NestJS; deprioritise others |
| FP filters |
Downgrade DoS, rate limiting, memory/CPU, generic validation, dev-env info disclosure |
| Severity buckets |
Critical 9+ / High 7-9 / Medium 4-7 / Low <4 (CVSS v4.0) |
| Output format |
Sections by severity, F-N codes, CVSS + location + fix + reference |
| Stack-specific |
Drizzle / bcrypt rounds / JWT setup / Zod env / Helmet / SameSite cookies |
Source: FabienSalles/claude-marketplace — distributed by TomeVault.
1---2name: fabiensalles-claude-marketplace-security-overrides3description: Security Audit — Personal Overrides4---56# Security Audit — Personal Overrides78> This skill is an **overlay** on top of `netresearch:security-audit` (the upstream provides OWASP/CWE/CVSS coverage and 61 reference files). Load this skill **in addition** to the upstream — never as a replacement.910## 1. Stack Scope1112In-scope (audit findings apply, severity scored normally):1314- **Backend**: PHP/Symfony, TypeScript/NestJS15- **Frontend**: React, Astro, Vue (where applicable)16- **DB layer**: Drizzle (TS), Doctrine (PHP)17- **Auth**: JWT (TS), Symfony Security (PHP)18- **Build/CI**: GitHub Actions, Docker1920Out-of-scope (findings reported but **deprioritised**):2122- Mobile (iOS/Android SDK security refs in netresearch)23- Non-stack frameworks: Django, Flask, FastAPI, Rails, Spring, .NET, Go-Gin24- TYPO3 (specific to netresearch's primary scope, not yours)2526## 2. False-Positive Filters2728Findings to **automatically downgrade or dismiss** in the audit output, unless explicit evidence shows real impact:2930| Category | Reason to downgrade |31|---|---|32| Denial-of-service patterns (unbounded loops, large response) | Handled at infrastructure layer (rate limiting, CDN, K8s resource limits) |33| Rate limiting at application level | Same — infra concern, not code-review concern |34| Generic input validation findings | Only flag if a concrete attack path is identified (not "could be missing") |35| Memory / CPU exhaustion | Infra layer |36| Open redirect (unless on auth flow) | Low impact outside auth context |37| Information disclosure via error messages in DEV environment | Only flag if production |3839## 3. Severity Conventions (CVSS-aligned)4041Use CVSS v4.0 when scoring. Map to severity buckets:4243| Severity | CVSS range | Audit verdict |44|---|---|---|45| **Critical** | 9.0 – 10.0 | Block PR, fix before merge |46| **High** | 7.0 – 8.9 | Fix before merge unless explicit waiver |47| **Medium** | 4.0 – 6.9 | Fix within sprint |48| **Low** | 0.1 – 3.9 | Backlog / track |4950## 4. Output Format Convention5152When delivering an audit report (Markdown):5354```markdown55## Security Audit — <scope>5657### Critical (N)58#### F1 — <vuln name> [CVSS X.Y]59**Location:** `path/to/file.ts:42`60**Description:** <one-line>61**Reproduction:** <minimal proof>62**Fix:** <concrete code change>63**Reference:** <link to netresearch ref or owasp/cwe ID>6465### High (N)66…6768### Summary69- Total findings: N70- By severity: Critical X, High X, Medium X, Low X71- Recommended action: <one line>72```7374No verbose intro. No multi-option matrices. Direct to findings.7576## 5. Cross-References to Companion Skills7778- **TypeScript-specific patterns** (Drizzle parameterized queries, JWT setup, bcrypt rounds, `execFile` over `exec`, path traversal, Zod env validation, Helmet headers, SameSite cookies) → see `audit:ts-security` (loads automatically in TS context).79- **PHP/Symfony-specific patterns** → see `netresearch:security-audit` references `symfony-security.md`, `php-security-features.md`.80- **NestJS-specific patterns** → see netresearch `nestjs-security.md`.81- **Frontend (React/Vue/Astro)** → see netresearch `react-security.md`, `vue-security.md`, `frontend-security.md`.8283## 6. Project-Specific Patterns to Always Check8485These are not in netresearch but recur across personal projects:8687- **Drizzle parameterized queries everywhere** — never string-interpolate user input into `db.execute(\`...\${var}...\`)`. Use `sql\`SELECT … WHERE x = \${var}\`` with placeholders, or the query builder.88- **bcrypt SALT_ROUNDS ≥ 12** — never lower for production.89- **JWT** with explicit `expiresIn`, strong `JWT_SECRET` (≥ 32 chars), explicit `algorithms: ['HS256']` on verify.90- **Zod env validation at startup** — fail-fast on missing/malformed env vars.91- **Helmet headers** in NestJS/Express apps.92- **`SameSite: 'strict'` + `httpOnly: true` + `secure: true`** on auth cookies.9394## Quick Reference9596| Override category | Application |97|---|---|98| Stack scope | Focus on PHP/Symfony + TS/NestJS; deprioritise others |99| FP filters | Downgrade DoS, rate limiting, memory/CPU, generic validation, dev-env info disclosure |100| Severity buckets | Critical 9+ / High 7-9 / Medium 4-7 / Low <4 (CVSS v4.0) |101| Output format | Sections by severity, F-N codes, CVSS + location + fix + reference |102| Stack-specific | Drizzle / bcrypt rounds / JWT setup / Zod env / Helmet / SameSite cookies |103104---105> Source: [FabienSalles/claude-marketplace](https://github.com/FabienSalles/claude-marketplace) — distributed by [TomeVault](https://tomevault.io).106<!-- tomevault:4.0:skill_md:2026-06-16 -->