Segurança

TL;DR

Galho 8 da trilha Node Senior. Segurança em Node.js vai muito além de “usar HTTPS”: começa na supply chain — npm audit, lockfiles e ferramentas como socket.dev detectam typosquatting e dependency confusion antes que o pacote malicioso chegue à produção. Segredos jamais vivem em código; o padrão moderno é validar variáveis de ambiente com Zod e injetar valores via AWS Secrets Manager, Vault ou Doppler. Inputs externos são validados com Zod ou Joi para eliminar injection e ReDoS; autenticação é feita com JWT (HS256/RS256, access + refresh + blacklist Redis) ou OAuth 2.0 / OIDC com PKCE via openid-client v5. Autorização granular usa RBAC com casl v6 ou ABAC com casbin seguindo o princípio de least privilege. Rate limiting com express-rate-limit e Redis store protege contra brute force usando fixed/sliding window e token bucket com headers RFC 6585. Helmet.js aplica de uma vez CSP, HSTS, CORS, X-Frame-Options e Referrer-Policy. O galho fecha com o OWASP Top 10 mapeado para Node (BOLA, SSRF, IDOR, misconfiguration) e um decision tree consolidado para uso em code review e entrevista.

Sobre este galho

Este galho cobre a camada de segurança de aplicações Node.js modernas — da supply chain ao hardening HTTP, passando por autenticação, autorização e validação de entrada. O objetivo não é listar CVEs, mas construir o modelo mental de defesa em profundidade: como as ameaças se encadeiam, quais controles bloqueiam cada vetor de ataque, e como comunicar essas decisões em inglês técnico durante uma entrevista senior.

O escopo inclui: supply chain security (npm audit, lockfiles, socket.dev), gerenciamento de segredos (process.env, Vault, Doppler), validação de entrada com Zod e Joi, autenticação com JWT e OAuth 2.0/OIDC, autorização com RBAC/ABAC, rate limiting com Redis, hardening HTTP com Helmet.js e OWASP Top 10 aplicado a Node.js.

Audiência primária: dev senior em preparação para entrevista internacional. Cada nota inclui seção “Em entrevista” com frase pronta em inglês e vocabulário PT→EN para discussão técnica fluente.

Audiência secundária: dev implementando ou auditando segurança em APIs Node.js em produção — que precisa de um mapa coerente do que proteger e com quais ferramentas.

Pré-requisitos:

Comece por aqui — trilha completa (10 notas)

Bloco A — Supply chain e segredos

#NotaO que você aprende
101 - Supply chain attacks e npm auditnpm audit, typosquatting, dependency confusion, lockfile, socket.dev
202 - Segredos e variáveis de ambienteprocess.env, .env, AWS Secrets Manager, Vault, Doppler, validação com Zod

Bloco B — Validação e autenticação

#NotaO que você aprende
303 - Validação de entrada com Zod e JoiSchema validation, parse/safeParse, middleware Express/Fastify, ReDoS
404 - JWT e autenticação com jsonwebtokensign/verify, HS256/RS256, access + refresh token, blacklist Redis
505 - OAuth 2.0 e OIDC com openid-clientAuthorization Code + PKCE, OIDC, ID Token, openid-client v5

Bloco C — Autorização e controle de acesso

#NotaO que você aprende
606 - RBAC e ABAC com casl e casbinRBAC, ABAC, casl v6, casbin, least privilege

Bloco D — Hardening e proteção HTTP

#NotaO que você aprende
707 - Rate limiting com express-rate-limitFixed/sliding window, token bucket, Redis store, RFC 6585 headers
808 - Helmet.js e hardening HTTPCSP, HSTS, CORS, X-Frame-Options, Referrer-Policy

Bloco E — OWASP e fechamento

#NotaO que você aprende
909 - OWASP Top 10 para NodeA01-A10, BOLA, injection, SSRF, IDOR, misconfiguration
1010 - Cheatsheet e decision tree de segurançaDecision tree consolidado, tabela comparativa, checklist de PR

Rotas alternativas

Rota entrevista (01 → 04 → 05 → 09 → 10)

Foco nas perguntas mais cobradas em entrevistas senior: supply chain, JWT vs OAuth, OWASP Top 10 e o decision tree de segurança. Cobre os vetores de ataque mais discutidos em ~5 notas.

Rota hardening de API (02 → 03 → 07 → 08 → 10)

Para quem precisa blindar uma API existente: segredos bem gerenciados, validação de input, rate limiting e headers HTTP corretos — cinco notas que eliminam a maioria das vulnerabilidades de configuração.

Rota auth completa (04 → 05 → 06)

Para quem implementa autenticação e autorização do zero: JWT com rotação de tokens, OAuth 2.0 / OIDC com PKCE e controle de acesso RBAC/ABAC em sequência lógica.

Rota OWASP Top 10 (09 → 01 → 03 → 08)

Para quem precisa mapear vulnerabilidades para controles concretos: começa pelo framework OWASP e depois associa cada categoria (injection, supply chain, misconfiguration) à nota específica que a trata.

Todas as notas

TABLE status, updated
FROM "03-Dominios/Node/Segurança"
WHERE type = "concept"
SORT file.name ASC

Veja também