Skip to content
Back to skills

Security Audit

ASecurity

Практический security-аудит Node/React — OWASP Top 10 с grep-паттернами и точками поиска, разбор npm audit (severity, false positives, overrides), чек-лист заголовков/CORS/cookie, severity-шкала и доказательный отчёт. Use для аудита уязвимостей кода и CVE в зависимостях.

  • 2 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 11, 2026
securitygoshellsqlreactnodefrontendbackendsecurity

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add Vitammiin/agent-vorcl-flow --skill security-audit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Security Audit?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Security Audit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vitammiin-security-audit/badge)](https://www.skillsdirectory.com/skills/vitammiin-security-audit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: security-audit
description: Практический security-аудит Node/React — OWASP Top 10 с grep-паттернами и точками поиска, разбор npm audit (severity, false positives, overrides), чек-лист заголовков/CORS/cookie, severity-шкала и доказательный отчёт. Use для аудита уязвимостей кода и CVE в зависимостях.
---

# Навык: Security-аудит Node/React

Finding без доказательства — не finding: каждая позиция привязана к `file:line`/коммиту и подтверждена цитатой или выводом команды. Аудит — read-only.

## OWASP Top 10 практично
- **SQL/NoSQL injection:** `` `.*(SELECT|INSERT).*\$\{`` ; `find\(\s*req\.(body|query)`, `\$where` → параметризация/zod-валидация, allowlist полей.
- **Command injection:** `exec(Sync)?\(`, `spawn` с shell-строкой, `eval\(` → `execFile` с массивом аргументов.
- **XSS:** `dangerouslySetInnerHTML`, `innerHTML\s*=`, `document.write`, `href` из данных → санация (DOMPurify)/рендер текстом.
- **Broken auth:** роуты без guard-миддлвары (сверь список роутов с подключениями), `jwt.sign` без `expiresIn`, `algorithms: ['none']`, md5/sha1 для паролей.
- **Sensitive exposure:** `console.log(req.body|user|token)`, стектрейсы в HTTP-ответах, сериализация без allowlist (см. `$error-handling`).
- **Path traversal / SSRF / redirect:** `readFile`/`path.join`/`fetch`/`redirect` с `req.*` → проверка префикса корня, allowlist хостов/путей.
Контекст прежде репорта: валидация может жить слоем выше — сверься с `$backend-architecture`/`$frontend-architecture`.

## Разбор `npm audit`
`npm audit --json` (или pnpm/yarn по lock-файлу); `npm ls <pkg>` — путь зависимости. Severity advisory ≠ severity проекта: dev-only и недостижимый путь → вероятный false positive, помечай отдельно. Фиксы: `npm audit fix` → minor/major bump (major = ломающее, отдельная задача) → `overrides` для транзитивных без фикса (временно). Реестр недоступен — репортуй «CVE-проверка не выполнена», не «уязвимостей нет».

## Чек-лист заголовков / CORS / cookie
`origin: '*'` + `credentials: true` или отражение `req.headers.origin` — красный флаг (нужен allowlist); cookie сессии без `httpOnly`/`secure`/`sameSite`; нет `helmet`/CSP; стектрейс наружу; auth-эндпоинты без rate limit; `x-powered-by` не отключён.

## Severity-шкала
**critical** — тривиальная эксплуатация, максимальный ущерб (секрет в коде/истории, injection на публичном эндпоинте); **high** — реальная эксплуатация (XSS, роут без auth, достижимая CVE high); **medium** — нужны условия (cookie-флаги, PII в логах, CORS-отражение); **low** — hardening (CSP, `x-powered-by`, dev-only CVE).

## Принципы отчёта
Доказательство обязательно; вердикт «чисто» — только со списком прогнанных проверок и непроверенного; ложные срабатывания фильтруй до отчёта (сомнительное — «требует проверки»); значимое → `add_task` с исполнителем.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.