feat: refactor 30+ skills to Anthropic progressive disclosure pattern
- All SKILL.md files now <500 lines (avg reduction 69%) - Detailed content extracted to references/ subdirectories - Frontmatter standardised: only name + description (Anthropic standard) - New skills: brand-guidelines, spec-coauthor, report-templates, skill-creator - Design skills: anti-slop guidelines, premium-proposals reference - Removed non-standard frontmatter fields (triggers, version, author, category) Plugins affected: infraestrutura, marketing, dev-tools, crm-ops, gestao, core-tools, negocio, perfex-dev, wordpress, design-media Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,237 @@
|
||||
# /security-audit - Template de Relatório e Ferramentas
|
||||
|
||||
## Template Relatório de Segurança
|
||||
|
||||
```markdown
|
||||
# RELATORIO DE SEGURANCA
|
||||
|
||||
**Sistema:** [Nome do Sistema/Aplicação]
|
||||
**Data:** [YYYY-MM-DD]
|
||||
**Auditor:** Security Compliance Specialist - Descomplicar®
|
||||
**Scope:** [Frontend | Backend | Infra | Full Stack]
|
||||
|
||||
---
|
||||
|
||||
## EXECUTIVE SUMMARY
|
||||
|
||||
[2-3 parágrafos resumindo estado de segurança global]
|
||||
|
||||
**Score Global:** [X]/100
|
||||
**CVSS Médio:** [X.X]
|
||||
|
||||
**Breakdown:**
|
||||
- Críticos: [N] findings
|
||||
- Altos: [N] findings
|
||||
- Médios: [N] findings
|
||||
- Baixos: [N] findings
|
||||
|
||||
---
|
||||
|
||||
## FINDINGS
|
||||
|
||||
### CRITICOS ([N] findings)
|
||||
|
||||
#### FINDING-001: SQL Injection em Login
|
||||
|
||||
- **Severidade:** CRÍTICO (CVSS 9.8)
|
||||
- **Componente:** `login.php` linha 45
|
||||
- **Categoria OWASP:** A03 - Injection
|
||||
|
||||
**Descrição:**
|
||||
Parâmetro `username` não sanitizado, permitindo SQL injection.
|
||||
|
||||
**Evidência:**
|
||||
```php
|
||||
$sql = "SELECT * FROM users WHERE username = '" . $_POST['username'] . "'";
|
||||
```
|
||||
|
||||
**Proof of Concept:**
|
||||
```bash
|
||||
curl -X POST https://site.com/login \
|
||||
-d "username=' OR '1'='1&password=anything"
|
||||
```
|
||||
|
||||
**Impacto:**
|
||||
- Acesso total à base de dados
|
||||
- Bypass de autenticação
|
||||
- Exfiltração de dados de clientes
|
||||
|
||||
**Remediação:**
|
||||
```php
|
||||
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
|
||||
$stmt->execute([$_POST['username']]);
|
||||
```
|
||||
|
||||
**Prazo:** IMEDIATO
|
||||
**Status:** OPEN
|
||||
|
||||
---
|
||||
|
||||
## OWASP TOP 10 COMPLIANCE
|
||||
|
||||
| # | Categoria | Status | Findings |
|
||||
|---|-----------|--------|----------|
|
||||
| A01 | Broken Access Control | Parcial | 2 médios |
|
||||
| A02 | Cryptographic Failures | OK | 0 |
|
||||
| A03 | Injection | Falha | 1 crítico, 1 alto |
|
||||
| A04 | Insecure Design | Parcial | 1 médio |
|
||||
| A05 | Security Misconfiguration | Atenção | 3 altos |
|
||||
| A06 | Vulnerable Components | Parcial | 5 baixos |
|
||||
| A07 | Auth Failures | OK | 0 |
|
||||
| A08 | Data Integrity | OK | 0 |
|
||||
| A09 | Logging Failures | Parcial | 1 médio |
|
||||
| A10 | SSRF | OK | 0 |
|
||||
|
||||
---
|
||||
|
||||
## COMPLIANCE GDPR
|
||||
|
||||
- [ ] Consentimento explícito capturado
|
||||
- [ ] Direito ao esquecimento implementado
|
||||
- [ ] Portabilidade de dados possível
|
||||
- [ ] Retenção de dados definida
|
||||
- [ ] Encriptação de dados sensíveis
|
||||
- [ ] Logging de acessos activo
|
||||
|
||||
**Score GDPR:** 75/100 (Parcialmente Conforme)
|
||||
|
||||
---
|
||||
|
||||
**Confidencial - Descomplicar® Crescimento Digital**
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Checklist GDPR Completo
|
||||
|
||||
### Consentimento
|
||||
- [ ] Opt-in explícito (não pré-seleccionado)
|
||||
- [ ] Linguagem clara
|
||||
- [ ] Granular (newsletter ≠ tracking)
|
||||
- [ ] Fácil de retirar
|
||||
|
||||
### Direitos do Titular
|
||||
- [ ] Direito ao acesso (exportar dados)
|
||||
- [ ] Direito à rectificação (editar dados)
|
||||
- [ ] Direito ao esquecimento (delete account)
|
||||
- [ ] Direito à portabilidade (formato standard)
|
||||
- [ ] Direito à oposição (opt-out processing)
|
||||
|
||||
### Segurança
|
||||
- [ ] Encriptação em trânsito (HTTPS)
|
||||
- [ ] Encriptação em repouso (BD sensível)
|
||||
- [ ] Passwords com hash forte (bcrypt)
|
||||
- [ ] Logs de acesso a dados pessoais
|
||||
- [ ] Notificação de breach (<72h)
|
||||
|
||||
### Documentação
|
||||
- [ ] Privacy policy actualizada (última 12 meses)
|
||||
- [ ] Cookie policy clara
|
||||
- [ ] Terms of service
|
||||
- [ ] Data processing agreement (DPA)
|
||||
|
||||
---
|
||||
|
||||
## Ferramentas de Análise
|
||||
|
||||
### Análise Estática (SAST)
|
||||
|
||||
```bash
|
||||
# PHP - PHPStan
|
||||
phpstan analyse --level=max src/
|
||||
|
||||
# PHP - Psalm
|
||||
psalm --show-info=true
|
||||
|
||||
# PHP - Security Checker
|
||||
local-php-security-checker
|
||||
|
||||
# JavaScript - ESLint
|
||||
eslint --ext .js,.jsx src/
|
||||
|
||||
# Python - Bandit
|
||||
bandit -r project/
|
||||
```
|
||||
|
||||
### Análise Dinâmica (DAST)
|
||||
|
||||
```bash
|
||||
# OWASP ZAP (headless)
|
||||
zap-cli quick-scan -s all https://site.com
|
||||
|
||||
# Nikto
|
||||
nikto -h https://site.com
|
||||
|
||||
# SQLMap
|
||||
sqlmap -u "https://site.com/page?id=1" --batch
|
||||
|
||||
# Nmap
|
||||
nmap -sV -sC site.com
|
||||
|
||||
# WPScan (WordPress)
|
||||
wpscan --url https://site.com --api-token YOUR_TOKEN
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Hardening Checklist
|
||||
|
||||
### Sistema Operativo (Linux)
|
||||
- [ ] Firewall activo (iptables/firewalld)
|
||||
- [ ] SELinux/AppArmor activado
|
||||
- [ ] SSH com key-based auth (não password)
|
||||
- [ ] SSH não permite root login
|
||||
- [ ] Fail2ban instalado e configurado
|
||||
- [ ] Automatic security updates
|
||||
- [ ] Portas desnecessárias fechadas
|
||||
|
||||
### Web Server (Nginx/Apache)
|
||||
- [ ] Server tokens desactivado
|
||||
- [ ] Directory listing desactivado
|
||||
- [ ] Security headers configurados
|
||||
- [ ] SSL/TLS configurado (A+ SSL Labs)
|
||||
- [ ] Apenas TLS 1.2+ (não SSL, TLS 1.0, 1.1)
|
||||
- [ ] HTTP/2 activado
|
||||
|
||||
### PHP
|
||||
- [ ] `display_errors = Off` em produção
|
||||
- [ ] `expose_php = Off`
|
||||
- [ ] `open_basedir` configurado
|
||||
- [ ] `disable_functions` configurado
|
||||
- [ ] File uploads limitados
|
||||
- [ ] OPcache activado
|
||||
|
||||
### MySQL
|
||||
- [ ] Bind apenas localhost (se possível)
|
||||
- [ ] Root sem acesso remoto
|
||||
- [ ] Passwords fortes
|
||||
- [ ] `skip-name-resolve`
|
||||
- [ ] Slow query log activado
|
||||
|
||||
---
|
||||
|
||||
## Severidade de Findings
|
||||
|
||||
```
|
||||
CRÍTICO (Score 9-10)
|
||||
Exploração imediata possível, dados em risco
|
||||
RCE, SQL Injection, Authentication Bypass
|
||||
→ Corrigir IMEDIATAMENTE (<24h)
|
||||
|
||||
ALTO (Score 7-8.9)
|
||||
Vulnerabilidade significativa
|
||||
XSS Stored, CSRF, Insecure Deserialization
|
||||
→ Corrigir em 24-48h
|
||||
|
||||
MÉDIO (Score 4-6.9)
|
||||
Risco moderado
|
||||
XSS Reflected, Information Disclosure, Missing Headers
|
||||
→ Corrigir em 7 dias
|
||||
|
||||
BAIXO (Score 1-3.9)
|
||||
Melhoria recomendada
|
||||
Weak Password Policy, Verbose Errors, Outdated Libraries
|
||||
→ Corrigir em 30 dias
|
||||
```
|
||||
|
||||
**Cálculo CVSS v3:** https://www.first.org/cvss/calculator/3.1
|
||||
Reference in New Issue
Block a user