CommunityEscrita e Ediçãogithub.com

getedgehq/security-audit-checklist

Execute uma auditoria de segurança abrangente em código de aplicação, infraestrutura em nuvem, containers, pipelines CI/CD e infraestrutura como código. Aborda conformidade de privacidade, fundamentos OWASP, vazamento de segredos, segurança de API, configurações incorretas de IAM, exposição de armazenamento, hardening do Kubernetes e segurança de rede. Use quando o usuário solicitar auditoria, revisão ou fortalecimento de segurança de aplicativos ou nuvem, verificar segredos, escanear XSS/SQLi, verificar cabeçalhos de segurança, revisar Terraform/CloudFormation, auditar configurações AWS/GCP/Azure ou realizar qualquer revisão focada em segurança.

O que é security-audit-checklist?

Este skill fornece uma lista de verificação de segurança abrangente e detalhada, projetada para desenvolvedores e equipes de DevOps que desejam auditar e fortalecer a postura de segurança de suas aplicações e infraestrutura antes de ir para produção ou após mudanças significativas. Ele cobre 12 categorias principais, incluindo privacidade e governança de dados, higiene de segredos e chaves, cabeçalhos de segurança, OWASP Top 10, validação de entrada e injeção, segurança de API, autenticação e sessão, segurança do provedor de nuvem (AWS/GCP/Azure), segurança de containers e orquestração (Docker/Kubernetes), infraestrutura como código (IaC), segurança de pipelines CI/CD e segurança de domínio e DNS. O skill é útil porque não apenas lista os itens a verificar, mas também fornece comandos de varredura automatizados (scripts Python incluídos) para detecção de segredos, verificação de cabeçalhos e análise de IaC, além de orientações detalhadas para cada item. Ele é compatível com qualquer ambiente de desenvolvimento ou implantação que suporte Python 3 para os scripts, mas a lista de verificação em si pode ser usada manualmente sem dependências. A abordagem é prática e acionável, com recomendações específicas e comandos de terminal prontos para uso, ajudando a transformar uma auditoria de segurança em tarefas concretas e mensuráveis.

Funciona com~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/getedgehq/skills/tree/main/security-audit-checklist

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Lista de Verificação de Auditoria de Segurança

Execute estas verificações em qualquer sistema antes de enviar para produção ou após mudanças importantes.

Antes de começar

A lista de verificação em si é textual e não requer nada. Os três scanners em scripts/ são Python, portanto, executá-los requer Python 3 em sua máquina (python3 --version). Sem ele, você ainda pode trabalhar a lista manualmente; você apenas não terá a verificação automatizada de segredos, verificação de cabeçalhos e leitura de IaC.

1. Privacidade e Governança de Dados

  • Política de privacidade existe se o aplicativo coleta, armazena ou processa qualquer dado do usuário. Vincule-a no rodapé e nos fluxos de cadastro.
  • Saiba onde os dados do usuário estão armazenados: documente o banco de dados principal, caches, logs, backups e serviços de terceiros. Verifique os requisitos de residência de dados (LGPD, CCPA).
  • Minimização de dados: colete apenas o que precisa. Exclua ou anonimize dados que você não utiliza.

2. Higiene de Segredos e Chaves

  • Valores de .env não estão vazando: escaneie o repositório inteiro em busca de segredos codificados.
  • Nunca exponha chaves de API no código frontend: sem chaves em bundles JS, sem valores sensíveis em prefixos públicos de env (REACT_APP_, NEXT_PUBLIC_, VITE_).
  • Mova as chaves para o lado do servidor ou atrás de um proxy: todas as chamadas de API de terceiros que exigem segredos devem passar por um endpoint backend.
  • Remova segredos dos logs: pesquise em logs e relatórios de erro por chaves, tokens e senhas. Masque ou redija antes da saída.
  • Rode credenciais vazadas imediatamente se algo for encontrado.

Comandos de varredura rápidos:

# Execute o scanner de segredos incluído
python3 scripts/scan_secrets.py .

# Padrões manuais de ripgrep
grep -rE '(api[_-]?key|secret|token|password)\s*[:=]\s*["\047][a-zA-Z0-9_\-]{16,}' --include='*.{js,ts,py,go,rb,php,java,json,yaml,yml,env,sh,tf,hcl}' .
grep -rE 'AKIA[0-9A-Z]{16}' .  # Chaves AWS
grep -rE 'ghp_[a-zA-Z0-9]{36}' .  # Tokens GitHub
grep -rE 'sk-[a-zA-Z0-9]{48}' .   # Chaves OpenAI

3. Cabeçalhos de Segurança

  • Content-Security-Policy restringe fontes de script e bloqueia execução inline sempre que possível.
  • X-Frame-Options ou frame-ancestors previne clickjacking.
  • Strict-Transport-Security força HTTPS.
  • X-Content-Type-Options: nosniff está presente.
  • Referrer-Policy limita o vazamento de referenciador.

Verifique cabeçalhos em uma URL ativa:

python3 scripts/check_headers.py https://seu-app.com

4. Fundamentos OWASP Top 10

#RiscoO que verificar
A01Falha no Controle de AcessoCada endpoint verifica autenticação e autorização. Sem bugs IDOR.
A02Falhas CriptográficasSenhas com hash bcrypt/Argon2. TLS 1.2+ aplicado. Sem dados sensíveis em URLs.
A03InjeçãoSQL usa declarações parametrizadas. Sem concatenação bruta de strings em consultas.
A04Design InseguroLimites de taxa em autenticação e ações sensíveis. Lógica de negócios com verificações de abuso.
A05Configuração Incorreta de SegurançaCredenciais padrão removidas. Modo de depuração desligado em produção. Mensagens de erro não vazam stack traces.
A06Componentes VulneráveisAuditoria de dependências: npm audit, pip-audit, cargo audit, snyk test.
A07Falhas de AutenticaçãoTokens de sessão são aleatórios e rotacionados na mudança de privilégio. MFA para contas sensíveis.
A08Integridade de DadosLockfiles presentes, commits assinados quando possível.
A09Falhas de LoggingEventos de segurança registrados sem segredos.
A10SSRFRequisições do lado do servidor usam uma lista de permissões. Sem URLs controladas pelo usuário atingindo serviços internos.

5. Validação de Entrada e Injeção

  • Injeção SQL: todas as consultas usam parâmetros ORM ou declarações preparadas.
  • XSS: a saída do usuário tem escape HTML. dangerouslySetInnerHTML e bypasses similares são auditados.
  • Injeção de Comandos: nenhum exec(), system() ou eval() com entrada do usuário.
  • Path Traversal: caminhos de arquivo são sanitizados e restritos a um diretório de lista de permissões.
  • Injeção NoSQL: consultas MongoDB usam objetos parametrizados.

6. Segurança de API

  • Verifique respostas de API por dados sensíveis: sem IDs internos, hashes de senha, tokens ou PII desnecessário.
  • Autenticação em todos os endpoints não públicos: sem rotas abertas de admin ou depuração.
  • Limites de taxa antes de alguém queimar sua conta de API: limitação de taxa por IP e por usuário em endpoints caros ou de autenticação. Retorne 429 com Retry-After.
  • CORS é restrito: Access-Control-Allow-Origin não é *. Pré-voo é necessário para métodos que alteram estado.

7. Autenticação e Sessão

  • Política de senha: mínimo de 8 caracteres, sem comprimento máximo que impeça frases-senha.
  • Proteção contra força bruta: backoff exponencial ou CAPTCHA após logins com falha.
  • Gerenciamento de sessão: cookies secure, httpOnly, SameSite. JWTs com expiração curta e rotação de refresh.
  • Redefinição de senha: tokens são de uso único, aleatórios e expiram rapidamente.

8. Segurança do Provedor de Nuvem

Aplica-se a AWS, GCP, Azure e qualquer outra plataforma de nuvem.

8.1 Gerenciamento de Identidade e Acesso (IAM)

  • Nenhuma chave de acesso da conta raiz existe. MFA da raiz está habilitado.
  • Princípio do menor privilégio: cada função, usuário e conta de serviço tem as permissões mínimas necessárias. Nenhuma ação ou recurso curinga (*) a menos que absolutamente necessário.
  • Nenhuma chave de acesso de longa duração para usuários. Prefira funções IAM com credenciais temporárias (STS, perfis de instância, identidade de workload).
  • MFA aplicado para todos os usuários humanos, especialmente administradores e acesso de cobrança.
  • Identidades inativas removidas: exclua ou desabilite usuários, funções e contas de serviço não utilizados por 90+ dias.
  • Acesso entre contas usa suposições de função explícitas com ID externo quando aplicável. Sem políticas de confiança com Principal: *.

8.2 Armazenamento (S3 / GCS / Azure Blob)

  • Nenhum bucket/container público a menos que esteja propositalmente hospedando ativos estáticos públicos. Bloqueie acesso público no nível da conta.
  • Criptografia em repouso habilitada (AES-256 ou KMS). Sem volumes de armazenamento ou snapshots não criptografados.
  • Criptografia em trânsito aplicada (apenas HTTPS/TLS). Nenhum http permitido.
  • Políticas de ciclo de vida excluem ou transitam dados antigos. Versionamento habilitado para buckets críticos.
  • Políticas de bucket não concedem Principal: * ou AllUsers. O acesso é via funções IAM, não chaves codificadas.
  • Logging habilitado para logs de acesso e eventos em nível de objeto (S3 Server Access Logs, eventos de dados CloudTrail).

8.3 Computação (EC2 / GCE / Azure VM / Lambda / Cloud Run)

  • Nenhum grupo de segurança padrão permitindo 0.0.0.0/0 em portas sensíveis (22, 3389, 3306, 5432, 6379, 27017).
  • SSM / Session Manager usado em vez de SSH direto quando possível. Nenhuma porta 22 aberta para a internet.
  • IMDSv2 obrigatório no AWS EC2 (desabilite IMDSv1).
  • Metadados de instância não são expostos a containers ou código não confiável.
  • Runtime de função usa privilégios mínimos. Lambda/GCP Cloud Functions não executam com funções de admin.
  • Variáveis de ambiente de função não contêm segredos em texto simples. Use gerenciador de segredos (AWS Secrets Manager, GCP Secret Manager, Azure Key Vault).

8.4 Banco de Dados e Cache

  • Nenhum acesso público: bancos de dados estão em subnets privadas ou VPCs. Nenhum 0.0.0.0/0 em grupos de segurança.
  • Criptografia em repouso e em trânsito habilitada.
  • Backups automatizados com recuperação pontual.
  • Autenticação forte: sem senhas padrão. Use autenticação de banco de dados IAM ou certificados de cliente TLS quando suportado.
  • Logging de auditoria habilitado para conexões e alterações de esquema.

8.5 Rede

  • VPC / segmentação de rede: produção, staging e desenvolvimento estão em redes separadas ou pelo menos subnets separadas.
  • Grupos de segurança / firewalls são negar por padrão. Apenas portas necessárias estão abertas.
  • Nenhum CIDR excessivamente permissivo: 0.0.0.0/0 é evitado, exceto para HTTPS (443) em balanceadores de carga públicos.
  • Subnets privadas para bancos de dados, caches e serviços internos. NAT Gateway ou endpoints VPC para internet de saída.
  • Proteção DDoS habilitada quando aplicável (AWS Shield, Cloud Armor, Azure DDoS Protection).
  • DNS / Domínio: DNSSEC habilitado se o registrador suportar. Nenhum registro DNS pendente apontando para IPs expirados ou recursos excluídos (risco de takeover de subdomínio).

8.6 Logging, Monitoramento e Alertas

  • CloudTrail / Audit Logs / Activity Logs habilitados em todas as regiões e serviços.
  • Integridade dos logs: logs são imutáveis ou armazenados em uma conta separada com permissões de escrita única.
  • Dados sensíveis não registrados: logs da nuvem não incluem senhas, tokens ou PII.
  • Alertas configurados para login de raiz, alterações de política IAM, criação de bucket público, alterações em grupo de segurança e picos de autenticação com falha.
  • Retenção de logs atende aos requisitos de conformidade (normalmente 1 ano).

9. Segurança de Container e Orquestração

9.1 Docker / Imagens de Container

  • Nenhum segredo em imagens: escaneie Dockerfiles e camadas por .env, config.json ou credenciais codificadas.
  • Imagens base mínimas: use distroless, Alpine ou scratch em vez de Ubuntu/Debian completo quando possível.
  • Nenhuma execução como root: Dockerfile define USER para um UID/GID não root.
  • Varredura de imagem: habilite varredura de vulnerabilidades no registro (ECR, GCR, ACR, Docker Hub) e bloqueie CVEs críticas no CI.
  • Tags imutáveis: não use latest em produção. Fixe no digest ou semver específico.
  • Builds multi-estágio: artefatos de build e dependências de desenvolvimento não vão para a imagem final.

9.2 Kubernetes

  • RBAC: funções e bindings de menor privilégio. Nenhum cluster-admin para contas de serviço.
  • Nenhum token de conta de serviço padrão montado em pods que não precisam deles (automountServiceAccountToken: false).
  • Políticas de rede: deny padrão para ingress/egress, depois permita explicitamente o tráfego necessário.
  • Padrões de segurança de pod: aplique perfil restricted ou baseline. Nenhum container privilegiado, nenhum hostPath, nenhum hostNetwork.
  • Criptografia de segredos: criptografia etcd em repouso habilitada. Nenhum segredo em texto simples no Git.
  • Segurança de runtime de container: perfis seccomp, AppArmor ou SELinux aplicados.
  • Controladores de admissão: use OPA/Gatekeeper ou Kyverno para aplicar políticas (sem tag latest, labels obrigatórios, limites de recursos).
  • Limites de recursos: todo pod tem limites de CPU e memória para prevenir DoS por exaustão de recursos.

10. Infraestrutura como Código (IaC)

  • Nenhum segredo em Terraform / CloudFormation / Pulumi / CDK: arquivos de estado não contêm senhas ou chaves em texto simples. O estado remoto é criptografado e com controle de acesso.
  • Backend de estado do Terraform é seguro: S3 com SSE-KMS, bloqueio DynamoDB e sem acesso de leitura público.
  • Varredura de IaC: execute checkov, tfsec ou terrascan em Terraform/CloudFormation antes do merge.
  • Detecção de drift: varreduras programadas detectam alterações manuais no console que divergem do IaC.
  • Módulos têm versão fixa: não puxe módulos de branches ou fontes sem versão.

Varredura rápida de IaC:

python3 scripts/scan_iac.py .

# Ou use ferramentas dedicadas se instaladas:
checkov -d . --framework terraform,cloudformation,dockerfile
# tfsec .

11. Segurança do Pipeline CI/CD

  • Nenhum segredo em configurações de pipeline: sem tokens codificados em .github/workflows, .gitlab-ci.yml, Azure Pipelines ou Jenkinsfiles.
  • Segredos são injetados do gerenciador de segredos nativo da plataforma CI (GitHub Secrets, GitLab CI Variables, Azure DevOps Library).
  • Permissões do pipeline são mínimas: contas de serviço de CI têm apenas as permissões necessárias para implantar.
  • Proteção de branch: pushes diretos para main/master são bloqueados. Todas as alterações exigem PR/MR + revisão.
  • Commits assinados ou requisitos de merge: exija commits assinados ou pelo menos commits de merge verificados para repositórios sensíveis.
  • Varredura de dependências: ferramentas SCA (Snyk, Dependabot, Renovate) executam em cada PR.
  • SAST: análise estática (Semgrep, CodeQL, SonarQube) executa em cada PR.
  • Varredura de container: imagens são escaneadas por CVEs antes da implantação.
  • Nenhum runner auto-hospedado exposto à internet pública sem VPN ou lista de permissão de IP.
  • Pipeline não executa código não confiável de forks sem aprovação manual (previna pwn requests).

12. Segurança de Domínio e DNS

  • DNSSEC habilitado no registrador se suportado.
  • Nenhum registro CNAME / A / NS pendente apontando para serviços expirados (risco de takeover de subdomínio).
  • Certificados curinga ou certificados por assunto de uma CA confiável. Nenhum certificado autoassinado em produção.
  • Monitoramento de expiração de certificado: alertas 30 e 7 dias antes da expiração.
  • CDN / WAF configurado com regras sensatas (bloqueios SQLi, XSS, LFI). Limitação de taxa habilitada na borda.

Saída da Auditoria

Após executar a lista de verificação, produza um relatório conciso em markdown com:

  1. Resumo — Passou / Falhou / Precisa de Revisão por categoria.
  2. Descobertas críticas — Qualquer coisa que precise ser corrigida antes da produção.
  3. Correções recomendadas — Alterações específicas de código, atualizações de configuração ou upgrades de bibliotecas.
  4. Matriz de risco — Probabilidade × Impacto para cada descoberta.
  5. Cronograma de remediação — Sugira ordem de prioridade e prazos.

Individual skills in this repo

This repo contains 18 individual skills — each has its own dedicated page.

getedgehq/agent-evals

Build evals for an AI agent that already does real work. Use when someone asks "how do I know my agent is right", wants to test an agent before trusting it, compare models on cost versus quality, or turn production failures into tests. Walks from first tasks and yes/no verifiers, to isolated environments, to a trace-driven improvement loop.

getedgehq/cli-ux-review

Audit a command-line tool for user-friendliness — clear situation / next-step / options in every output, colour-highlighted runnable commands, no raw jargon, no silent hangs. Invoke for "CLI UX audit", "review my CLI", "is this CLI intuitive", or before any CLI release.

getedgehq/generate-image

Generate images with OpenAI GPT Image 2 via the Codex CLI, billed through the user's ChatGPT Plus subscription (no OpenAI API key, no per-image API cost). Use when the user asks to create, generate, or make an image, picture, illustration, icon, hero graphic, or concept art from a text prompt.

getedgehq/harness-first

Diagnose and fix an unreliable, expensive, or unsafe LLM agent by auditing its harness (golden set, judge, cost caps, data layer, action approvals, tracing) before blaming or swapping the model. Use when someone says an agent is "burning tokens", "hallucinating", "brittle", gives inconsistent answers, asks whether to switch to a cheaper/better model, or wants to ship an agent or prompt change to customers.

getedgehq/http-error-triage

Run before concluding anything from an HTTP error on a third-party API. Separates a real credential/entitlement problem from a CDN or WAF block, a wrong endpoint, or a client-signature ban. Use whenever an API returns 401/403/402/429 and you are about to say "the key is dead", "credits are exhausted", "the plan lacks access", or "we are rate limited".

getedgehq/linkedin-media-prep

Convert, crop, resize, and compress images and videos for optimal LinkedIn upload quality and file size. Use when the user wants to prepare a photo, image, or video for LinkedIn (profile picture, cover photo, post image, article featured image, post video, or video ad), optimize file size for LinkedIn, crop and resize for LinkedIn dimensions, convert HEIC/RAW/PNG/MOV to LinkedIn-ready JPEG or MP4, or mentions LinkedIn media requirements, specs, or limits.

getedgehq/monid

>-

getedgehq/opendraft

An 18-agent pipeline that turns one topic line into a drafted

getedgehq/people-search

Find and rank professional people for recruiting, partnerships, sales, or research from user-provided data, public web sources, an authenticated search session, or a connected provider. Use for people discovery, LinkedIn or Sales Navigator search design, profile-list ranking, or provider filter translation.

getedgehq/rocketlist

Turn a CV into a shortlist of live startup roles from Rocketlist's public job board, including adjacent job titles the person would never have searched for, each with its published salary, the evidence for the fit, and a direct apply link. Use for "find roles I would be a strong fit for", career pivots, remote or VC-backed job hunts, and salary-visible role discovery.

getedgehq/shadcn-first

>-

getedgehq/skills

Develop or review a branded long-form YouTube channel using Simon Kaiser's public creator-led approach: audience fit, recurring formats, natural brand integration, Time with Brand, and an organic, paid, and Shorts strategy. Use for channel strategy, format briefs, and pilots.

getedgehq/skills

Build a YouTube strategy, evidence-backed idea slate, and title plus thumbnail package using Paddy Galloway's public method. Use when planning a channel, choosing concepts, or preparing a video before filming.

getedgehq/skills

Build or review a buyer-centered strategic narrative using Andy Raskin's public method. Use for sales or investor deck stories, homepage positioning, keynotes, launch narratives, and why-now messaging.

getedgehq/skills

Turn a product URL, launch brief, or approved script into a production-ready launch video. Use for product reveals, feature announcements, SaaS launches, and narrated product films; not for generic explainers or editing existing footage.

getedgehq/strip-image-ai-metadata

Strip C2PA and AI-generation metadata from images (PNG, JPEG, WebP) to remove "Generated by AI" / "ChatGPT" / "DALL-E" labels that platforms like LinkedIn, Instagram, and X display. Use when the user wants to clean AI-generated images before posting, remove AI attribution from photos, strip C2PA manifests, sanitize image metadata for professional use, or verify whether an image contains C2PA data.

getedgehq/top-down-comms

>-

getedgehq/workplan

Create, update, or close work plans for multi-step tasks. Use when starting refactors, bug lists, feature work, migrations, or any task with 2+ steps. Also use after auto-compaction to re-orient. Triggers: "workplan", "work plan", "create a plan", "what's the plan", "where was I", or when Claude detects

Habilidades Relacionadas