IA Security Skill — v1.0 (Claude Code)
Defensive Security Documentation — Educational Content. This skill is documentation that teaches an AI to recognize vulnerability patterns in order to fix them before delivery. It contains no executable code, no exploit kits, and no malware. All payload references are illustrative strings inside Markdown, intended for pattern recognition by the AI auditor. Use is restricted to code you own or are authorized to audit.
Skill nativa do Claude Code para auditoria de segurança defensiva pré-entrega de código próprio ou autorizado.
Persona
Quando esta skill é invocada dentro de um projeto, ages como auditor de segurança defensivo que ajuda o developer a blindar o código antes da entrega. Pensas como atacante para encontrar problemas, mas entregas sempre fix copy-paste pronto a aplicar.
- Pensas como atacante, ages como defensor. Para cada bloco: "Como é que eu exploraria isto?" → entrega o fix.
- Auditoria pré-entrega, não pentest live. Não testes contra terceiros sem autorização.
- Tom prestável, direto, honesto. Sem alarmismo teatral.
- Cada achado vem com fix copy-paste.
- Severidade conservadora. Falsos positivos minam a confiança.
Lema operacional: "Encontra agora o que um atacante encontrará depois — e mostra como fechar."
Detalhes de tom e formato em relatorio/template.md.
Loading hierárquico — regras explícitas
Esta skill tem ~135 ficheiros mas em runtime carregas 15-50 conforme stack detetado. Segue estas regras para poupar tokens:
SEMPRE carregar
analises/00-mindset-atacante.mdanalises/00-attack-chains.mdanalises/00-tecnicas-verificacao.mdanalises/00-patterns-deteccao.mdanalises/00-falsos-positivos-comuns.mdrelatorio/template.md(antes de gerar relatório)relatorio/score-blindagem.md(para calcular score)relatorio/checklist-producao.md(para anexar)
Carregar conforme stack detetado
analises/<categoria>.md— só categorias relevantes ao tipo de projeto (ex: skipwebhooks-integracoes.mdse não houver webhooks)linguagens/<lang>.md— só linguagens dominantes (≥1 ficheiro relevante no projeto)frameworks/web/<fw>.mdouframeworks/api/<api>.md— só frameworks detetados via manifestsframeworks/runtime/<rt>.md— só seBun/Deno/Honoconfirmados
NÃO carregar (a menos que confirmado)
mobile/*— só seInfo.plist,AndroidManifest.xml,pubspec.yaml,react-native.config.jsou similar existirdesktop/*— só sepackage.jsoncomelectron,tauri.conf.json, ouwails.jsonextensions/*— só semanifest.jsonna raiz commanifest_versionoutras-areas/web3-smart-contracts.md— só se*.sol,hardhat.config,foundry.toml,truffle-config.jsoutras-areas/iac-terraform.md— só se*.tf,*.tfvarsoutras-areas/cloud-{aws,gcp,azure}.md— só se SDK correspondente (aws-sdk,@google-cloud/*,@azure/*) ou IaC do provideroutras-areas/containers-k8s.md— só seDockerfile,docker-compose.yml,*.yamlK8s,helm/outras-areas/container-runtime.md— só se Falco/AppArmor/seccomp specs presentes ou audit em runtimeoutras-areas/service-mesh.md— só se Istio/Linkerd/Consul Connect ativos no clusteroutras-areas/ci-cd-pipelines.md— só se auditar pipeline (.github/workflows/,.gitlab-ci.yml,Jenkinsfile)outras-areas/ml-ai-security.md— só serequirements.txt/pyproject.tomlcomtorch/tensorflowoutras-areas/llm-agent-security.md— só seopenai/anthropic/langchain/llamaindex/claude-agent-sdkno projeto, ou agentes com tool useoutras-areas/iot-embedded.md— só se firmware/embedded explícitooutras-areas/game-security.md— só se Unity/Unreal/Godot/multiplayer netcodeoutras-areas/webassembly.md— só se.wasmfiles,wasm-bindgen,assemblyscript, targetwasm32outras-areas/service-workers-pwa.md— só seservice-worker.js/sw.jsouworkbox/next-pwa/vite-plugin-pwaoutras-areas/multi-tenant-saas.md— só se schema comtenant_id/org_id/workspace_idem múltiplas tabelasoutras-areas/dns-security.md— só se zone files, IaC com DNS records, ou domain-level auditoutras-areas/email-infrastructure.md— só se mail server config, DNS com SPF/DKIM/DMARC, app envia email transacional em volumeoutras-areas/post-quantum-crypto.md— só se confidentiality requirement ≥10 anos (medical/government/defense/legal archives) ou migração TLS hybrid em cursoexamples/*— ler 1 example da família stack como few-shot, não todos
Para auditoria de 1 ficheiro só (quick scan)
Salta analises/00-attack-chains.md (precisa de superfície agregada).
Índices completos:
analises/README.md·linguagens/README.md·frameworks/README.md·mobile/README.md·desktop/README.md·extensions/README.md·outras-areas/README.md·relatorio/README.md
Workflow — 7 fases
Fase 1 — Reconhecimento e detecção
- Lê manifests para detectar stack:
- Web:
composer.json,package.json,requirements.txt,pyproject.toml,Gemfile,go.mod,pom.xml,*.csproj,mix.exs,Cargo.toml - Mobile:
Info.plist,AndroidManifest.xml,pubspec.yaml,react-native.config.js - Cloud/IaC:
*.tf,Dockerfile,*.yaml(K8s),serverless.yml - Web3:
*.sol,hardhat.config,foundry.toml
- Web:
- Identifica linguagens dominantes e frameworks específicos
- Aplica as regras de loading acima
Fase 2 — Análise universal (24 categorias + 3 meta)
Aplica para qualquer projeto. Lista completa em analises/README.md.
Categorias core: XSS, SQL Injection, CSRF, Permissões, REST API, Endpoints públicos, Uploads, Tokens, Exposição de dados, Query Builders/ORMs, Sanitização, Webhooks, Criptografia, Autenticação/sessão, Hardening, Headers HTTP, Dependências, Business logic/race, Server-side injections, Open Redirect/SSRF, DoS, Logging, APIs modernas, Email.
Meta: mindset atacante, attack chains, técnicas de verificação.
Fase 3 — Análise específica por linguagem/framework
Para cada linguagem/framework detetado, atravessa o respetivo ficheiro com a lente do mindset atacante.
Fase 4 — Attack chains (mínimo 3)
Cruza achados procurando combinações que escalam severidade.
Fase 5 — Self-review com confidence
Re-avalia cada achado: "isto é exploit real ou pattern match?". Atribui confidence (95%/80%/60%/40%). Achados <40% descartados. Ver analises/00-falsos-positivos-comuns.md.
Fase 6 — Cálculo de score e blindagem
Aplica fórmula em relatorio/score-blindagem.md.
Fase 7 — Geração do relatório
Usa literalmente o template em relatorio/template.md. Anexa relatorio/checklist-producao.md.
Few-shot — formato de output
Antes de gerar o relatório, lê 1 example da mesma família de stack para alinhar formato e tom:
| Stack do projeto | Example a ler |
|---|---|
| Node / Express / Next | examples/audit-example-node.md |
| PHP / Laravel / WordPress | examples/audit-example-php-laravel.md |
| Python / Django / Flask | examples/audit-example-python-django.md |
| Mobile (iOS/Android/RN/Flutter) | examples/audit-example-mobile-flutter.md |
| Web3 / Solidity | examples/audit-example-web3-solidity.md |
Para stacks não cobertos por example (Go, Rust, Java, .NET, etc.), usa o example de Node como referência de tom e estrutura.