2 pontos por GN⁺ 2024-06-06 | 1 comentários | Compartilhar no WhatsApp

Entropy

Entropy é uma ferramenta CLI que escaneia linhas de alta entropia em uma base de código para encontrar informações secretas.

Como instalar

Instalação a partir do código-fonte com Go (recomendado)

  • go install github.com/EwenQuim/entropy@latest
  • comando entropy disponível para uso
  • opções adicionais: entropy -h, entropy -top 20 -ext go,py,js, entropy -top 5 -ignore-ext min.js,pdf,png,jpg,jpeg,zip,mp4,gif my-folder my-file1 my-file2
  • instalação em uma linha: go run github.com/EwenQuim/entropy@latest

Instalação com Brew

  • em andamento (WIP)

Instalação com Docker

  • docker run --rm -v $(pwd):/data ewenquim/entropy /data
  • opções adicionais: docker run --rm -v $(pwd):/data ewenquim/entropy -h, docker run --rm -v $(pwd):/data ewenquim/entropy -top 20 -ext go,py,js /data, docker run --rm -v $(pwd):/data ewenquim/entropy -top 5 /data/my-folder /data/my-file
  • imagem disponível no Docker Hub
  • a opção -v é usada para montar o diretório atual no contêiner
  • é necessário adicionar /data no final do comando, caso contrário a ferramenta irá pesquisar dentro do contêiner, e não no sistema de arquivos local

Outros projetos

  • Fuego: framework Go que gera documentação OpenAPI a partir de uma base de código
  • Renpy-Graphviz: ferramenta que gera gráficos de telas e rótulos do motor de jogos Ren'Py

Opinião do GN⁺

  • Reforço de segurança: pode ajudar a fortalecer a segurança ao localizar automaticamente informações secretas na base de código.
  • Facilidade de uso: oferece vários métodos de instalação para que o usuário possa instalar e usar a ferramenta com praticidade.
  • Ferramentas semelhantes: ferramentas com funcionalidades parecidas incluem git-secrets, truffleHog etc.
  • Pontos a considerar na adoção: ao usar a ferramenta, é preciso considerar o tamanho e a complexidade da base de código, e linhas de alta entropia nem sempre significam informações secretas.
  • Prós e contras da escolha técnica: adotar o Entropy pode ajudar a prevenir incidentes de segurança, mas pode gerar resultados falso-positivos, exigindo revisão adicional.

1 comentários

 
GN⁺ 2024-06-06
Comentários do Hacker News
  • Uso de script em Perl: Sugere uma forma de medir a entropia de texto usando um script em Perl. Há o problema de que linhas curtas não comprimem bem.
  • Senha de banco de dados: Resolveu o problema definindo todas as senhas de banco de dados como abcd.
  • Curiosidade sobre o uso de entropia: Está procurando um bom texto sobre como usar entropia na análise de texto. Tem curiosidade sobre a definição e a eficácia da entropia.
  • Problema na definição de entropia: Definir a entropia de um texto é algo ambíguo. É preciso uma forma melhor de comparar a entropia de linguagem natural com a de strings aleatórias.
  • Projetos relacionados: Apresenta projetos relacionados como TruffleHog, detect-secrets e Semgrep Secrets.
  • Expressão de agradecimento: Agradece ao DrJones por uma pergunta feita anos atrás sobre entropia e compartilha um bom texto relacionado.
  • Elogio à ferramenta CLI: Diz que é uma ferramenta CLI útil e elogia também o código em Go.
  • Programa ent: Faz lembrar o programa ent, usado há muito tempo.
  • Uso de modelos de linguagem: Sugere que modelos de linguagem como Llama 3, por modelarem a surpresa por token, poderiam detectar regiões de alta entropia.
  • Sugestão de melhoria para a ferramenta CLI: Sugere adicionar uma flag para ler automaticamente o arquivo .gitignore e excluir esse conteúdo, além de incluir várias estratégias de detecção de segredos.
  • Método de comparação por compressão: Sugere comprimir o arquivo e comparar o tamanho comprimido com o tamanho original. Arquivos criptografados comprimem pior do que código.