Sobre o projeto

DashLord é um painel que visa acompanhar as boas práticas técnicas em um conjunto de sites web e APIs. A aquisição de dados e a geração do relatório são inteiramente automatizadas via GitHub Actions. ## Funcionamento O processo ocorre em duas etapas: 1. **Aquisição de dados**: para cada URL configurada, cada ferramenta de análise é executada e produz um arquivo JSON versionado no repositório. 2. **Geração do relatório**: os resultados são agregados e compactados para produzir um site web estático, publicado no branch `gh-pages` via GitHub Pages. ## Implantação Para implantar sua própria instância, é necessário criar um novo repositório a partir do template DashLord, editar o arquivo `dashlord.yml` para definir as URLs a serem escaneadas e, em seguida, iniciar o workflow `DashLord scans` na aba Actions. O relatório fica então acessível publicamente no endereço `https://[organisation].github.io/[repository]`. ## Configuração O arquivo `dashlord.yml` permite parametrizar: - O título, a descrição e a entidade do painel - A lista de URLs a serem escaneadas, com títulos, tags, repositórios vinculados e imagens Docker associadas - A ativação ou desativação individual de cada ferramenta de análise ## Ferramentas integradas DashLord baseia-se em múltiplas ferramentas de análise, ativáveis individualmente: - **Segurança**: Nmap (scan de portas), ZAP, Nuclei, TestSSL, Trivy (vulnerabilidades de imagens Docker), Dependabot (alertas de segurança GitHub), CodeQL (alertas Code Scan) - **Performance e disponibilidade**: Lighthouse, updown.io (monitoramento de disponibilidade via chave API) - **Técnica**: Wappalyzer (detecção de tecnologias), HTTP Observatory da Mozilla, detecção de erros 404, captura de screenshots - **Conformidade**: detecção de scripts de terceiros, página /stats, declaração de acessibilidade A frequência dos scans é configurável (por padrão, todos os domingos à meia-noite) e os workflows também podem ser disparados manualmente.