

O Bolt está em fase beta de desenvolvimento, o que significa que pode conter bugs. O uso desta ferramenta em produção é desencorajado. Pull requests e issues são bem-vindos. Também sugiro que coloque este repositório em watch se estiver interessado nele.
O Bolt rastreia o site alvo até a profundidade especificada e armazena todos os formulários HTML encontrados numa base de dados para processamento posterior.
Nesta fase, o Bolt identifica os tokens que não são suficientemente fortes e os formulários que não estão protegidos.
Esta fase foca na deteção de cenários de ataque de replay e, portanto, verifica se um token foi emitido mais de uma vez.
Calcula também a média da distância de Levenshtein entre todos os tokens para ver se são semelhantes.
Os tokens são também comparados contra uma base de dados com mais de 250 padrões de hash.
Nesta fase, são feitas 100 requisições simultâneas a uma única página web para ver se são gerados os mesmos tokens para as requisições.
Esta fase é dedicada ao teste ativo do mecanismo de proteção CSRF. Inclui, mas não se limita a, verificar se a proteção existe para navegadores móveis, submeter requisições com um token auto-gerado e testar se o token está a ser verificado até um certo comprimento.
Nesta fase, são realizadas várias verificações estatísticas para ver se o token é verdadeiramente aleatório. Os seguintes testes são realizados durante esta fase:
Escaneiar um site à procura de CSRF com o Bolt é tão fácil quanto fazer
python3 bolt.py -u https://github.com -l 2
Onde -u é usado para fornecer a URL e -l para especificar a profundidade do rastreamento.
Outras opções e switches:
-t número de threads--delay atraso entre requisições--timeout timeout da requisição HTTP--headers fornecer cabeçalhos HTTPAs expressões regulares para detetar hashes foram retiradas do hashID.
Os testes de entropia a nível de bits foram retirados da implementação em Python de testes estatísticos do highfestiva.