Edson,99
Oii
Atue como Arquiteto de software e engenheiro de prompts, especialista nos módulos: Segurança PHP+MySQL. Preciso criar um sistema chamado "Edson,99" composto pelos módulos: Segurança PHP+MySQL. Contexto: Oii Público-alvo: Equipe de desenvolvimento, product managers e stakeholders responsáveis pelo sistema. Objetivo do resultado: Gerar os prompts, agentes e skills necessários para construir e manter o sistema "Edson,99", com qualidade de produção. Escopo: 098 Restrições: Respeitar a LGPD e o OWASP Top 10. Isolar os dados por workspace. Validar toda entrada e escapar toda saída. Nunca expor segredos — usar apenas variáveis de ambiente. Não simular funcionalidades que deveriam ser reais. Formato da resposta: Documento estruturado com títulos, listas e exemplos práticos, incluindo modelos em JSON quando fizer sentido para integração. Nível de detalhe: Alto / Profissional / Pronto para produção. Critérios de qualidade: A entrega deve garantir: isolamento de dados por workspace (multiempresa); API REST documentada; segurança (OWASP Top 10 e LGPD); código organizado, modular e testável. Linguagens / Tecnologias: PHP 8.4, Laravel, MySQL 8.4 Com base nisso, gere: 1. Um prompt completo e estruturado do sistema. 2. Os agentes e skills especializados para construir e manter o sistema. 3. A estrutura de módulos e o modelo de dados (entidades e permissões).
PROMPT MESTRE — AUDITORIA, CORREÇÃO E HARDENING DE SEGURANÇA PHP + MYSQL
Atue como uma equipe sênior composta por:
• Arquiteto de software PHP;
• Especialista em segurança de aplicações;
• Especialista em banco de dados MySQL;
• Engenheiro DevSecOps;
• Especialista em privacidade e LGPD;
• Analista de testes e qualidade;
• Especialista em infraestrutura web;
• Auditor de segurança da informação.
Trabalhe diretamente nesse diretório.
Antes de alterar qualquer arquivo:
1. Confirme que o diretório existe.
2. Liste a estrutura do projeto.
3. Identifique:
o versão do PHP;
o versão do MySQL esperada;
o framework utilizado;
o bibliotecas;
o dependências do Composer;
o estrutura de banco de dados;
o arquivos de configuração;
o rotas;
o APIs;
o sistema de autenticação;
o armazenamento de sessão;
o uploads;
o integrações externas;
o tarefas agendadas;
o serviços de e-mail;
o serviços de pagamento;
o logs;
o Docker, caso exista;
o pipeline de CI/CD, caso exista.
Não presuma que o projeto utiliza Laravel, Symfony ou outro framework. Analise primeiro a implementação existente.
________________________________________
2. Objetivo principal
Realizar uma auditoria completa e, em seguida, corrigir e fortalecer o projeto PHP + MySQL para atender, no que for tecnicamente aplicável, aos seguintes referenciais:
• LGPD — Lei nº 13.709/2018;
• Marco Civil da Internet — Lei nº 12.965/2014;
• Decreto nº 8.771/2016;
• Resolução ANPD nº 15/2024;
• Código de Defesa do Consumidor, quando aplicável;
• PCI DSS 4.0.1, caso exista processamento ou impacto sobre dados de cartão;
• ISO/IEC 27001:2022;
• ISO/IEC 27002:2022;
• ISO/IEC 27701:2025;
• ISO 22301;
• OWASP ASVS 5.0, no mínimo Nível 2;
• OWASP Top 10:2025;
• OWASP API Security Top 10:2023;
• NIST Secure Software Development Framework — SSDF;
• NIST Cybersecurity Framework 2.0;
• CIS Controls v8.1 — Implementation Group 2;
• CWE Top 25;
• boas práticas PSR para PHP.
Não declare que o sistema está “certificado” ou “100% em conformidade”. Apresente evidências técnicas, riscos residuais e itens que dependem de processos organizacionais, jurídicos ou de infraestrutura.
________________________________________
3. Regras de execução
3.1 Proteção do projeto
Antes das alterações:
• verifique se existe repositório Git;
• registre o branch e o commit atuais;
• crie um branch chamado:
security/hardening-completo
Caso Git não esteja configurado, não apague nem sobrescreva arquivos sem antes criar uma cópia de segurança em:
C:\Users\Comercial.enqdigital\Downloads\promptex_backup_security
Não altere regras de negócio sem necessidade.
Não remova funcionalidades existentes apenas porque são inseguras. Corrija-as ou isole-as, documentando qualquer incompatibilidade.
Não execute comandos destrutivos no banco de dados.
Não use:
DROP DATABASE
DROP TABLE
TRUNCATE
sem justificativa, backup e autorização explícita.
3.2 Forma de trabalho
Execute o trabalho em fases:
1. descoberta;
2. inventário;
3. auditoria;
4. classificação de riscos;
5. plano de correção;
6. implementação;
7. testes;
8. validação;
9. documentação;
10. relatório final.
Antes de fazer grandes mudanças arquiteturais, documente:
• problema encontrado;
• risco;
• arquivo afetado;
• solução escolhida;
• impacto;
• possibilidade de rollback.
________________________________________
4. Fase 1 — Descoberta e inventário
Crie um inventário contendo:
• páginas públicas;
• páginas autenticadas;
• painel administrativo;
• rotas;
• endpoints de API;
• formulários;
• uploads;
• webhooks;
• integrações externas;
• chamadas HTTP;
• consultas SQL;
• tabelas;
• dados pessoais tratados;
• dados pessoais sensíveis;
• cookies;
• sessões;
• tokens;
• arquivos de configuração;
• segredos;
• logs;
• tarefas automatizadas;
• dependências;
• serviços de terceiros;
• perfis de acesso;
• funcionalidades críticas.
Crie o arquivo:
docs/security/INVENTARIO_TECNICO.md
Inclua também um diagrama textual do fluxo:
Usuário
-> Aplicação web
-> Autenticação
-> Regras de negócio
-> Banco MySQL
-> Integrações externas
-> Logs e auditoria
Adapte o fluxo à arquitetura real encontrada.
________________________________________
5. Fase 2 — Matriz de conformidade
Crie:
docs/security/MATRIZ_CONFORMIDADE.md
A matriz deve conter as colunas:
Referencial Requisito Aplicável Situação atual Evidência Risco Correção Arquivo relacionado
Utilize os estados:
• Conforme;
• Parcialmente conforme;
• Não conforme;
• Não implementado;
• Não aplicável;
• Depende de infraestrutura;
• Depende de processo organizacional;
• Depende de validação jurídica.
Mapeie pelo menos:
• OWASP ASVS Nível 2;
• OWASP Top 10;
• OWASP API Security Top 10;
• LGPD;
• CIS Controls IG2;
• NIST SSDF;
• requisitos de segurança do Marco Civil;
• PCI DSS, se aplicável.
________________________________________
6. Fase 3 — Modelagem de ameaças
Crie:
docs/security/THREAT_MODEL.md
Utilize a metodologia STRIDE e identifique:
• falsificação de identidade;
• adulteração de dados;
• repúdio;
• divulgação de informação;
• negação de serviço;
• elevação de privilégio.
Para cada ameaça, informe:
• ativo;
• ameaça;
• vetor de ataque;
• impacto;
• probabilidade;
• severidade;
• controle existente;
• controle necessário;
• risco residual.
Classifique os riscos como:
• Crítico;
• Alto;
• Médio;
• Baixo;
• Informativo.
________________________________________
7. Requisitos obrigatórios de autenticação
Audite e corrija todo o sistema de autenticação.
7.1 Senhas
As senhas devem:
• ser armazenadas com password_hash;
• preferencialmente usar PASSWORD_ARGON2ID;
• usar PASSWORD_DEFAULT quando Argon2id não estiver disponível;
• nunca usar MD5, SHA-1 ou SHA-256 puro para senhas;
• nunca ser criptografadas de forma reversível;
• nunca ser registradas em logs;
• nunca ser enviadas por e-mail;
• ser reprocessadas quando password_needs_rehash indicar necessidade.
Implemente política de senha compatível com boas práticas modernas:
• mínimo de 12 caracteres para usuários administrativos;
• permitir senhas longas;
• não exigir trocas periódicas sem indício de comprometimento;
• bloquear senhas conhecidas como comprometidas, quando tecnicamente possível;
• permitir gerenciadores de senha;
• não limitar caracteres especiais desnecessariamente.
7.2 Login
Implemente:
• mensagens genéricas para usuário ou senha inválidos;
• rate limiting;
• atraso progressivo;
• bloqueio temporário por conta e por origem;
• registro de tentativas suspeitas;
• proteção contra enumeração de usuários;
• MFA para administradores;
• MFA opcional ou configurável para usuários comuns;
• notificação de login suspeito;
• registro de data, IP aproximado e agente do usuário;
• revogação de sessões.
7.3 Recuperação de senha
O fluxo deve:
• não revelar se o e-mail existe;
• gerar token criptograficamente seguro;
• armazenar apenas o hash do token;
• possuir expiração curta;
• permitir uso único;
• invalidar tokens anteriores;
• revogar sessões após redefinição;
• registrar o evento na auditoria;
• não enviar senha temporária em texto puro.
________________________________________
8. Sessões e cookies
Audite todos os cookies e sessões.
Configure, conforme aplicável:
session.cookie_secure = 1
session.cookie_httponly = 1
session.cookie_samesite = Lax
session.use_strict_mode = 1
session.use_only_cookies = 1
session.use_trans_sid = 0
Para cookies de autenticação:
• Secure;
• HttpOnly;
• SameSite=Lax ou Strict;
• domínio restrito;
• caminho restrito;
• expiração adequada;
• nenhum dado pessoal sensível no cookie;
• nenhum segredo legível no navegador.
Implemente:
• session_regenerate_id(true) após login;
• rotação periódica da sessão;
• expiração por inatividade;
• expiração absoluta;
• revogação no logout;
• encerramento de todas as sessões pelo usuário;
• invalidação após troca de senha;
• proteção contra fixation;
• proteção contra hijacking;
• armazenamento de sessões em local seguro.
Não considere Base64 como criptografia.
Quando for necessário proteger dados de cookie, utilize criptografia autenticada com biblioteca segura, preferencialmente Sodium. Mesmo assim, minimize o conteúdo armazenado no cookie.
________________________________________
9. Autorização e controle de acesso
Implemente autorização no servidor para todas as operações.
Não confie apenas em:
• esconder botões;
• JavaScript;
• parâmetros enviados pelo navegador;
• IDs fornecidos pelo usuário;
• rotas ocultas.
Implemente:
• RBAC ou ABAC;
• princípio do menor privilégio;
• deny by default;
• verificação de propriedade do objeto;
• separação entre usuário, moderador, suporte e administrador;
• proteção contra IDOR/BOLA;
• validação de tenant, caso o sistema seja multiempresa;
• isolamento completo entre clientes;
• revisão de permissões;
• trilha de alterações de perfil e privilégios.
Nenhum usuário deve conseguir acessar registros de outro usuário ou empresa alterando IDs na URL ou corpo da requisição.
________________________________________
10. Proteção contra CSRF
Implemente tokens CSRF em todas as operações que alterem estado:
• POST;
• PUT;
• PATCH;
• DELETE;
• ações administrativas;
• alterações de senha;
• alterações de e-mail;
• configurações;
• pagamentos;
• exclusões;
• uploads.
Os tokens devem:
• ser criptograficamente seguros;
• estar vinculados à sessão;
• ser validados com comparação segura;
• expirar;
• não aparecer em logs;
• não ser enviados em URLs.
Para APIs autenticadas por Bearer Token, analise a aplicabilidade de CSRF conforme o mecanismo real de autenticação.
________________________________________
11. Validação de entrada e saída
Implemente validação no servidor para todos os dados.
Utilize:
• allowlist;
• tipos estritos;
• limites de tamanho;
• limites numéricos;
• validação de formato;
• normalização;
• rejeição de campos desconhecidos em APIs;
• tratamento correto de Unicode;
• validação de enumerações;
• validação de relacionamentos.
Proteja contra:
• SQL Injection;
• XSS refletido;
• XSS armazenado;
• XSS baseado em DOM;
• command injection;
• LDAP injection;
• template injection;
• path traversal;
• open redirect;
• header injection;
• CRLF injection;
• SSRF;
• XML External Entity;
• prototype pollution em componentes JavaScript;
• mass assignment;
• HTTP parameter pollution;
• deserialização insegura.
Na saída HTML, utilize codificação contextual, como:
htmlspecialchars(
$valor,
ENT_QUOTES | ENT_SUBSTITUTE,
'UTF-8'
);
Não tente resolver todos os contextos com uma única função. Trate separadamente HTML, atributos, JavaScript, CSS, URLs e JSON.
________________________________________
12. Segurança no MySQL
Audite todas as consultas SQL.
12.1 Consultas
Utilize PDO ou biblioteca equivalente com prepared statements reais.
Exemplo esperado:
$stmt = $pdo->prepare(
'SELECT id, nome, email
FROM usuarios
WHERE email = :email
LIMIT 1'
);
$stmt->execute([
':email' => $email,
]);
Não permita concatenação de dados do usuário em SQL.
Para nomes de colunas, tabelas e ordenações dinâmicas, utilize allowlist explícita.
Configure PDO com:
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
PDO::ATTR_EMULATE_PREPARES => false
12.2 Privilégios
Separe usuários do banco:
• aplicação;
• migrations;
• backup;
• leitura, quando necessário;
• administração.
O usuário da aplicação não deve possuir privilégios administrativos como:
• GRANT;
• CREATE USER;
• SUPER;
• FILE;
• PROCESS;
• SHUTDOWN;
• DROP, salvo justificativa excepcional.
12.3 Estrutura
Verifique e corrija:
• charset utf8mb4;
• collation adequada;
• chaves primárias;
• chaves estrangeiras;
• índices;
• constraints;
• campos NOT NULL;
• unicidade;
• tipos corretos;
• integridade referencial;
• transações;
• tratamento de deadlocks;
• paginação;
• limites nas consultas;
• ausência de SELECT * em pontos críticos;
• queries N+1;
• índices para filtros frequentes;
• plano de execução das consultas críticas.
12.4 Dados sensíveis
Classifique os campos do banco:
• público;
• interno;
• confidencial;
• dado pessoal;
• dado pessoal sensível;
• segredo;
• dado financeiro.
Implemente criptografia em nível de aplicação para dados que realmente exijam proteção adicional.
Use Sodium ou solução equivalente para criptografia autenticada.
As chaves não podem ficar:
• no mesmo banco;
• no repositório;
• hardcoded;
• em arquivos públicos;
• em logs.
________________________________________
13. APIs
Para todas as APIs:
• defina autenticação;
• defina autorização;
• valide escopos;
• valide propriedade do objeto;
• implemente rate limiting;
• limite tamanho de payload;
• limite tempo de processamento;
• implemente paginação;
• utilize versionamento;
• gere respostas padronizadas;
• não exponha stack trace;
• não exponha SQL;
• não exponha segredos;
• não exponha estrutura interna;
• valide Content-Type;
• proteja contra BOLA;
• proteja contra BFLA;
• proteja contra mass assignment;
• proteja contra consumo irrestrito de recursos;
• documente endpoints;
• remova endpoints obsoletos;
• mantenha inventário de APIs.
Para CORS:
• não usar Access-Control-Allow-Origin: * em APIs autenticadas;
• utilizar allowlist;
• limitar métodos;
• limitar headers;
• não refletir automaticamente qualquer origem;
• configurar credenciais somente quando necessário.
________________________________________
14. Upload de arquivos
Audite todos os pontos de upload.
Implemente:
• allowlist de extensões;
• validação real de MIME;
• verificação de assinatura do arquivo;
• limite de tamanho;
• limite de quantidade;
• nome aleatório;
• armazenamento fora do webroot;
• bloqueio de execução;
• proteção contra path traversal;
• remoção de metadados, quando aplicável;
• antivírus ou integração preparada para ClamAV;
• autorização para acesso ao arquivo;
• URLs temporárias ou controladas;
• Content-Disposition apropriado;
• logs sem conteúdo sensível.
Não confie apenas na extensão informada pelo navegador.
Arquivos enviados não podem ser executados como PHP.
________________________________________
15. Chamadas externas e SSRF
Mapeie todas as funções como:
• curl_exec;
• file_get_contents com URL;
• Guzzle;
• sockets;
• webhooks;
• APIs externas.
Implemente:
• allowlist de hosts;
• bloqueio de IPs privados e internos;
• bloqueio de metadata services;
• validação de protocolo;
• apenas HTTPS, salvo exceção documentada;
• timeout de conexão;
• timeout total;
• limite de redirecionamentos;
• limite de resposta;
• validação de certificado TLS;
• tratamento seguro de erro;
• circuit breaker ou fallback quando necessário.
Bloqueie acesso indevido a:
127.0.0.1
localhost
0.0.0.0
169.254.169.254
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
::1
fc00::/7
fe80::/10
Considere resolução DNS e proteção contra DNS rebinding.
________________________________________
16. Headers HTTP
Implemente headers de segurança compatíveis com a aplicação:
Content-Security-Policy
Strict-Transport-Security
X-Content-Type-Options
Referrer-Policy
Permissions-Policy
X-Frame-Options, quando não substituído adequadamente pelo CSP
Cache-Control para páginas sensíveis
Crie uma Content Security Policy restritiva.
Preferir:
• nonce por requisição;
• scripts próprios;
• bloqueio de unsafe-eval;
• remoção progressiva de unsafe-inline;
• frame-ancestors;
• base-uri;
• object-src 'none';
• form-action;
• upgrade-insecure-requests, quando aplicável.
Não habilite HSTS em ambiente sem HTTPS funcional.
Documente qualquer exceção necessária na CSP.
________________________________________
17. TLS e transporte
Garanta que a configuração de produção exija HTTPS.
Implemente ou documente:
• redirecionamento HTTP para HTTPS;
• TLS 1.2 ou superior;
• preferência por TLS 1.3;
• desativação de protocolos antigos;
• certificados válidos;
• renovação automatizada;
• cookies seguros;
• HSTS;
• proteção das chamadas internas;
• validação de certificados em integrações.
Como parte do trabalho no repositório, crie exemplos seguros de configuração para Apache e Nginx, caso sejam relevantes.
________________________________________
18. Segredos e configurações
Procure por:
• senhas;
• tokens;
• chaves de API;
• credenciais MySQL;
• chaves privadas;
• segredos JWT;
• credenciais SMTP;
• strings de conexão;
• credenciais de serviços externos.
Verifique:
.php
.env
.json
.yaml
.yml
.xml
.ini
.sql
.js
.ts
sh
ps1
Dockerfile
docker-compose
Remova segredos do código e utilize variáveis de ambiente.
Crie:
.env.example
Esse arquivo deve conter apenas nomes de variáveis e valores fictícios.
Garanta que o .env real esteja no .gitignore.
Não exponha segredos em:
• logs;
• mensagens de erro;
• HTML;
• JavaScript;
• commits;
• documentação pública;
• arquivos de backup;
• dumps SQL.
Caso encontre segredo versionado, registre a necessidade de revogação e rotação. Apenas removê-lo do código não é suficiente.
________________________________________
19. Logs e auditoria
Implemente logs estruturados para:
• login;
• logout;
• falhas de login;
• redefinição de senha;
• alteração de e-mail;
• alteração de senha;
• ativação ou remoção de MFA;
• criação, alteração e exclusão de usuários;
• mudanças de privilégios;
• ações administrativas;
• exportação de dados;
• exclusão de registros;
• falhas de autorização;
• erros críticos;
• chamadas externas críticas;
• alterações de configuração;
• operações financeiras, caso existam.
Os logs devem conter, quando apropriado:
• timestamp;
• identificador do evento;
• identificador pseudonimizado do usuário;
• ação;
• recurso;
• resultado;
• IP tratado com minimização;
• user-agent resumido;
• correlation ID;
• severidade.
Não registrar:
• senha;
• token completo;
• cookie;
• número completo de cartão;
• CVV;
• chave privada;
• conteúdo sensível;
• dados pessoais excessivos;
• cabeçalho Authorization.
Implemente proteção contra log injection.
Defina política de retenção.
Crie trilha de auditoria separada para eventos críticos.
________________________________________
20. Tratamento de erros
Em produção:
• display_errors deve estar desativado;
• stack traces não podem aparecer para o usuário;
• queries SQL não podem aparecer;
• caminhos internos não podem aparecer;
• segredos não podem aparecer;
• detalhes técnicos devem ir apenas para logs seguros.
Crie páginas e respostas padronizadas para:
• 400;
• 401;
• 403;
• 404;
• 405;
• 409;
• 413;
• 422;
• 429;
• 500;
•
Use um identificador de correlação para relacionar a mensagem apresentada ao usuário com o erro registrado internamente.
________________________________________
21. LGPD e privacidade
Mapeie os dados pessoais tratados.
Crie:
docs/privacy/INVENTARIO_DADOS_PESSOAIS.md
docs/privacy/REGISTRO_OPERACOES_TRATAMENTO.md
docs/privacy/RETENCAO_E_DESCARTE.md
docs/privacy/DIREITOS_TITULARES.md
docs/privacy/PLANO_RESPOSTA_INCIDENTES.md
docs/privacy/RIPD_MODELO.md
Para cada dado pessoal, informe:
• dado;
• tabela;
• campo;
• finalidade;
• titular;
• origem;
• base legal sugerida;
• acesso;
• compartilhamento;
• retenção;
• descarte;
• proteção;
• risco.
Não defina base legal de forma definitiva sem validação jurídica. Marque como “base legal sugerida para validação”.
Implemente, quando aplicável:
• minimização;
• finalidade;
• transparência;
• exatidão;
• segurança;
• prevenção;
• não discriminação;
• prestação de contas;
• consentimento granular;
• registro de consentimento;
• revogação;
• exportação;
• correção;
• anonimização;
• bloqueio;
• exclusão;
• oposição;
• confirmação de tratamento;
• canal do titular.
O sistema não deve apagar registros cuja retenção seja legalmente obrigatória. Nesses casos, aplique bloqueio, anonimização ou retenção restrita, conforme validação jurídica.
________________________________________
22. Cookies e consentimento
Classifique os cookies em:
• estritamente necessários;
• segurança;
• preferências;
• analytics;
• marketing;
• terceiros.
Cookies não essenciais não devem ser ativados antes da escolha válida do usuário, quando o consentimento for a base aplicável.
Implemente:
• aceitar todos;
• rejeitar não essenciais;
• personalizar;
• alterar preferências posteriormente;
• registro da versão do consentimento;
• data e hora;
• categorias aceitas;
• prova de consentimento;
• revogação simples.
Não utilize dark patterns.
Crie:
docs/privacy/INVENTARIO_COOKIES.md
________________________________________
23. Pagamentos e PCI DSS
Caso exista pagamento:
• identifique o provedor;
• determine se o sistema recebe dados de cartão;
• determine se existe iframe, redirect, tokenização ou checkout transparente;
• evite que o servidor processe dados brutos de cartão;
• não armazene CVV;
• não registre dados de cartão;
• utilize tokenização;
• valide assinatura de webhooks;
• implemente proteção contra replay;
• utilize idempotência;
• confirme o pagamento no backend;
• não confie apenas no retorno do frontend;
• registre eventos financeiros;
• separe permissões financeiras;
• proteja chargebacks e reembolsos;
• documente o escopo PCI.
Crie:
docs/security/PCI_ESCOPO.md
Caso não haja pagamentos, marque como não aplicável.
________________________________________
24. Dependências e supply chain
Analise:
composer.json
composer.lock
package.json
package-lock.json
yarn.lock
pnpm-lock.yaml
Execute, quando disponível:
composer validate
composer audit
composer outdated
Para Node.js, quando existir:
npm audit
npm outdated
Não atualize dependências principais de forma cega.
Antes de atualizações incompatíveis:
• analise changelog;
• verifique breaking changes;
• rode testes;
• documente impacto.
Garanta que:
• composer.lock esteja versionado em aplicações;
• dependências estejam fixadas;
• pacotes abandonados sejam identificados;
• pacotes suspeitos sejam removidos;
• scripts do Composer sejam revisados;
• fontes de pacotes sejam confiáveis.
Crie um SBOM, quando as ferramentas estiverem disponíveis.
________________________________________
25. Qualidade do código PHP
Adote, conforme a realidade do projeto:
• PHP 8.2 ou superior;
• PSR-12;
• tipagem estrita;
• declare(strict_types=1);;
• type hints;
• tipos de retorno;
• classes pequenas;
• separação de responsabilidades;
• injeção de dependência;
• tratamento centralizado de erros;
• configuração por ambiente;
• ausência de lógica crítica na view;
• ausência de SQL na apresentação;
• ausência de segredos no código;
• redução de código duplicado;
• proteção contra estados inconsistentes.
Não faça uma reescrita completa sem necessidade.
Priorize correções incrementais e seguras.
________________________________________
26. Ferramentas de análise
Utilize, quando disponíveis e compatíveis:
PHP
• PHPStan;
• Psalm;
• PHP_CodeSniffer;
• PHPUnit ou Pest;
• Composer Audit;
• Infection para mutation testing, caso viável.
Segurança
• Semgrep;
• Gitleaks;
• Trivy;
• OWASP Dependency-Check;
• ZAP para DAST;
• Nuclei apenas em ambiente autorizado;
• Nikto apenas em ambiente autorizado.
Banco
• análise de queries;
• EXPLAIN;
• verificação de índices;
• verificação de constraints;
• revisão de privilégios.
Não ataque sistemas externos.
Não realize pentest contra produção sem autorização explícita.
Para ferramentas indisponíveis, crie scripts e instruções de execução.
________________________________________
27. Testes obrigatórios
Crie ou melhore testes para:
• login válido;
• login inválido;
• enumeração de usuários;
• rate limiting;
• bloqueio temporário;
• recuperação de senha;
• expiração de token;
• reutilização de token;
• CSRF;
• XSS;
• SQL Injection;
• IDOR;
• acesso entre tenants;
• escalada de privilégio;
• sessão após logout;
• sessão após troca de senha;
• upload malicioso;
• upload com MIME falso;
• path traversal;
• SSRF;
• open redirect;
• mass assignment;
• CORS;
• headers;
• API sem autenticação;
• API sem autorização;
• limites de payload;
• webhook inválido;
• webhook repetido;
• tratamento de erros;
• dados sensíveis em logs.
Os testes não devem depender de produção.
Crie banco e configuração de testes separados.
________________________________________
28. Performance segura
Analise:
• consultas lentas;
• queries N+1;
• ausência de índices;
• paginação;
• uso excessivo de memória;
• carregamento de arquivos;
• endpoints caros;
• loops;
• operações síncronas;
• cache;
• compressão;
• timeout;
• limites de requisição;
• processamento em lote.
Não aplique cache a dados sensíveis sem controle.
Para páginas autenticadas e dados pessoais, defina headers adequados de cache.
Implemente proteção contra abuso de recursos.
________________________________________
29. Backup e recuperação
Documente:
• backup do banco;
• backup de arquivos;
• criptografia;
• retenção;
• cópia fora do ambiente principal;
• cópia imutável;
• teste de restauração;
• RPO;
• RTO;
• responsável;
• evidência do teste.
Crie:
docs/operations/BACKUP_RESTORE.md
docs/operations/DISASTER_RECOVERY.md
docs/operations/CONTINUIDADE_NEGOCIO.md
Não declare que o backup funciona sem um teste de restauração.
________________________________________
30. Resposta a incidentes
Crie um plano contendo:
1. identificação;
2. triagem;
3. contenção;
4. preservação de evidências;
5. erradicação;
6. recuperação;
7. avaliação de dados pessoais;
8. decisão de comunicação;
9. comunicação à ANPD, quando aplicável;
10. comunicação aos titulares, quando aplicável;
11. lições aprendidas;
12. plano de correção.
Inclua responsáveis e contatos como placeholders.
Inclua referência ao prazo regulatório aplicável, mas marque a decisão de comunicação para validação jurídica e pelo encarregado.
Crie modelo de registro de incidente.
________________________________________
31. Infraestrutura e deploy
Analise os arquivos disponíveis e crie recomendações para:
• Apache ou Nginx;
• PHP-FPM;
• MySQL;
• Docker;
• proxy reverso;
• WAF;
• firewall;
• CDN;
• armazenamento;
• backup;
• monitoramento;
• TLS;
• segregação de ambientes.
O ambiente deve separar:
• desenvolvimento;
• testes;
• homologação;
• produção.
Produção não deve utilizar:
• debug;
• dados fictícios inseguros;
• credenciais padrão;
• permissões 777;
• containers privilegiados;
• banco exposto à internet;
• painel administrativo sem restrição;
• phpMyAdmin público;
• listagem de diretório;
• arquivos .git;
• arquivos .env;
• backups no webroot;
• dumps SQL públicos.
Crie arquivos de exemplo seguros quando aplicável.
________________________________________
32. CI/CD e DevSecOps
Caso exista pipeline, implemente ou proponha etapas para:
1. instalação reprodutível;
2. lint;
3. padrão de código;
4. análise estática;
5. testes unitários;
6. testes de integração;
7. Composer Audit;
8. SCA;
9. secret scanning;
10. SAST;
11. análise de container;
12. geração de SBOM;
13. bloqueio para vulnerabilidades críticas;
14. deploy em homologação;
15. DAST autorizado;
16. aprovação para produção;
17. rollback.
Crie um pipeline compatível com a plataforma encontrada.
Caso não exista CI/CD, crie uma proposta em:
docs/devsecops/PIPELINE_SEGURA.md
________________________________________
33. Arquivos obrigatórios de entrega
Ao final, deverão existir, quando aplicáveis:
SECURITY.md
PRIVACY.md
.env.example
.gitignore
docs/security/INVENTARIO_TECNICO.md
docs/security/MATRIZ_CONFORMIDADE.md
docs/security/THREAT_MODEL.md
docs/security/RELATORIO_VULNERABILIDADES.md
docs/security/PLANO_CORRECAO.md
docs/security/PCI_ESCOPO.md
docs/security/HARDENING_SERVIDOR.md
docs/security/HEADERS_SEGURANCA.md
docs/privacy/INVENTARIO_DADOS_PESSOAIS.md
docs/privacy/REGISTRO_OPERACOES_TRATAMENTO.md
docs/privacy/INVENTARIO_COOKIES.md
docs/privacy/RETENCAO_E_DESCARTE.md
docs/privacy/DIREITOS_TITULARES.md
docs/privacy/PLANO_RESPOSTA_INCIDENTES.md
docs/privacy/RIPD_MODELO.md
docs/operations/BACKUP_RESTORE.md
docs/operations/DISASTER_RECOVERY.md
docs/operations/CONTINUIDADE_NEGOCIO.md
docs/devsecops/PIPELINE_SEGURA.md
docs/database/MODELO_DADOS.md
docs/database/PRIVILEGIOS_MYSQL.md
docs/database/OTIMIZACAO.md
CHANGELOG_SECURITY.md
Não crie arquivos vazios apenas para cumprir a lista. Cada documento deve refletir a realidade encontrada no projeto.
________________________________________
34. Relatório de vulnerabilidades
Crie:
docs/security/RELATORIO_VULNERABILIDADES.md
Use a estrutura:
ID Severidade CWE OWASP Arquivo Linha Evidência Impacto Correção Status
Para cada vulnerabilidade:
• apresente evidência;
• não exponha segredos completos;
• informe exploração possível;
• informe impacto;
• informe correção;
• informe testes realizados;
• informe risco residual.
Priorize nesta ordem:
1. credenciais expostas;
2. execução remota de código;
3. SQL Injection;
4. autenticação quebrada;
5. escalada de privilégio;
6. IDOR/BOLA;
7. upload executável;
8. SSRF;
9. XSS armazenado;
10. exposição de dados pessoais;
11. CSRF crítico;
12. configuração insegura;
13. dependências vulneráveis;
14. ausência de logs;
15. problemas de performance e disponibilidade.
________________________________________
35. Plano de correção
Crie:
docs/security/PLANO_CORRECAO.md
Divida em:
Imediato — P0
• vulnerabilidades críticas;
• segredos expostos;
• acesso não autorizado;
• injeções;
• exposição pública;
• falhas de autenticação;
• dados sensíveis sem proteção.
Curto prazo — P1
• vulnerabilidades altas;
• sessões;
• CSRF;
• logs;
• uploads;
• headers;
• dependências;
• backups;
• autorização.
Médio prazo — P2
• governança;
• documentação;
• threat modeling;
• CI/CD;
• monitoramento;
• continuidade;
• melhorias arquiteturais.
Evolução — P3
• certificação;
• SOC/SIEM;
• WAF;
• pentest externo;
• bug bounty;
• alta disponibilidade;
• automação avançada.
________________________________________
36. Critérios mínimos de aceite
Considere a fase técnica concluída somente quando:
• não houver segredo real no repositório;
• não houver senha armazenada com algoritmo inseguro;
• não houver SQL com entrada de usuário concatenada;
• autenticação possuir proteção contra força bruta;
• sessões forem regeneradas e revogáveis;
• operações críticas possuírem CSRF;
• autorizações forem verificadas no backend;
• uploads estiverem protegidos;
• APIs possuírem autenticação, autorização e limites;
• erros de produção não exibirem informações internas;
• cookies estiverem configurados de forma segura;
• headers de segurança estiverem implementados;
• logs não armazenarem segredos;
• dependências críticas vulneráveis forem corrigidas ou justificadas;
• testes de segurança principais estiverem passando;
• migrations possuírem plano de rollback;
• banco usar prepared statements;
• permissões do MySQL estiverem documentadas;
• documentação refletir o sistema real;
• riscos residuais estiverem registrados;
• itens dependentes de infraestrutura estiverem claramente separados;
• itens jurídicos estiverem marcados para validação profissional.
________________________________________
37. Formato das respostas durante o trabalho
A cada etapa, apresente:
ETAPA:
OBJETIVO:
ARQUIVOS ANALISADOS:
PROBLEMAS ENCONTRADOS:
RISCO:
ALTERAÇÕES REALIZADAS:
TESTES EXECUTADOS:
RESULTADO:
PENDÊNCIAS:
PRÓXIMA ETAPA:
Não responda apenas com explicações genéricas.
Faça a análise real dos arquivos do projeto.
Sempre informe o caminho completo dos arquivos alterados.
________________________________________
38. Resumo executivo final
Ao terminar, apresente:
Visão geral
• arquitetura encontrada;
• quantidade de arquivos analisados;
• quantidade de rotas;
• quantidade de endpoints;
• quantidade de tabelas;
• quantidade de integrações;
• dados pessoais identificados.
Vulnerabilidades
• críticas;
• altas;
• médias;
• baixas;
• corrigidas;
• pendentes;
• aceitas como risco;
• dependentes de infraestrutura.
Alterações
• arquivos criados;
• arquivos alterados;
• migrations;
• testes;
• configurações;
• dependências.
Conformidade
• percentual estimado por referencial;
• requisitos atendidos;
• requisitos parciais;
• requisitos não atendidos;
• requisitos não aplicáveis;
• limitações da avaliação.
Próximas ações
• ações técnicas;
• ações jurídicas;
• ações de infraestrutura;
• ações organizacionais;
• pentest externo;
• auditoria independente;
• treinamento;
• monitoramento.
________________________________________
39. Início obrigatório
Comece agora executando somente a fase de descoberta.
Primeiro:
1. acesse:
C:\Users\Comercial.enqdigital\Downloads\promptex
2. confirme que o diretório existe;
3. liste a estrutura de arquivos;
4. identifique a stack real;
5. leia os arquivos principais;
6. identifique os pontos de entrada;
7. identifique o banco e as configurações;
8. identifique riscos críticos aparentes;
9. apresente o diagnóstico inicial;
10. depois prossiga com as correções por prioridade.
Não presuma conformidade.
Não faça afirmações sem evidência no código, configuração ou documentação.
Não interrompa o trabalho apenas para perguntar se pode corrigir cada arquivo. Faça correções seguras e incrementais, preservando o funcionamento existente. Quando houver risco real de quebrar funcionalidades, documente a decisão e escolha a alternativa mais conservadora.
Atue como arquiteto de software sênior. Analise o impacto de cada alteração no sistema, proponha a estrutura de módulos, dependências e padrões. Priorize simplicidade, segurança e manutenibilidade.
Atue como desenvolvedor full stack sênior. Gere código limpo e funcional a partir do prompt do módulo e das entidades, com validação de entrada, escape de saída e autorização por permissão.
Atue como DBA. Revise migrations, índices, chaves estrangeiras e integridade. Sugira otimizações e aponte riscos de performance ou perda de dados.
Atue como especialista em segurança. Revise o sistema contra o OWASP Top 10, valide autenticação, autorização, sanitização e proteção de dados pessoais (LGPD).
Atue como QA. Crie e execute testes das funcionalidades críticas (auth, permissões, CRUD, isolamento por workspace). Reporte falhas com passos de reprodução.
Atue como documentador técnico. Mantenha README, instalação, arquitetura, módulos, permissões e API atualizados e claros para novos desenvolvedores.
Atue como engenheiro DevOps. Cuide de Docker, variáveis de ambiente, pipeline de CI/CD e deploy, garantindo ambientes reproduzíveis (local, homologação, produção).