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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.