# Revisão de segurança antes da implantação

Data da revisão: 26/10/2026

## Resultado

- Nenhuma vulnerabilidade conhecida foi encontrada nas dependências de produção pelo `composer audit`.
- Nenhum token, senha, chave de API ou chave privada está incluído no pacote.
- O arquivo `.env` não faz parte do pacote de implantação.
- O bot processa comandos somente quando o identificador do chat é exatamente igual ao `TELEGRAM_GROUP_ID` configurado.
- As consultas ao banco usam Eloquent/Query Builder com parâmetros, sem SQL montado diretamente com dados do usuário.
- Os parâmetros enviados ao CRTI são codificados antes de compor a URL.
- A verificação TLS permanece ativa nas conexões HTTPS com Telegram e CRTI.
- Os textos dinâmicos são escapados antes do uso do modo HTML do Telegram.
- Erros enviados ao grupo são genéricos e não revelam credenciais ou detalhes internos.
- Não foram encontrados usos de `eval`, `exec`, `shell_exec`, `system`, `passthru`, desserialização insegura ou desativação de TLS no código da aplicação.
- Testes automatizados: 4 aprovados, com 18 verificações.

## Cuidados obrigatórios no servidor

- Preservar o `.env` atual e manter `APP_ENV=production` e `APP_DEBUG=false`.
- Manter o `.env` acessível somente aos administradores e à conta usada pela tarefa do chatbot.
- Não publicar a raiz do projeto como diretório web. Se houver publicação pelo Apache, o DocumentRoot deve apontar somente para `public`.
- Preservar `storage/app/telegram-update-offset.txt` durante a troca para evitar reprocessar mensagens antigas.
- Executar apenas uma instância de `php artisan telegram:poll`.
- Não executar `composer update` no servidor; o pacote já contém as dependências travadas e auditadas.

## Limite de autorização do bot

O controle de acesso atual é feito pelo grupo: qualquer integrante do grupo Telegram configurado pode utilizar os comandos. Portanto, a segurança também depende de manter somente pessoas autorizadas nesse grupo.
