2 puntos por GN⁺ 2024-06-06 | 1 comentarios | Compartir por WhatsApp

Entropy

Entropy es una herramienta CLI que escanea líneas de alta entropía en un codebase para encontrar información secreta.

Cómo instalar

Instalación desde el código fuente con Go (recomendado)

  • go install github.com/EwenQuim/entropy@latest
  • Se puede usar el comando entropy
  • Opciones adicionales: 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
  • Instalación en una sola línea: go run github.com/EwenQuim/entropy@latest

Instalación con Brew

  • Trabajo en progreso (WIP)

Instalación con Docker

  • docker run --rm -v $(pwd):/data ewenquim/entropy /data
  • Opciones adicionales: 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
  • La imagen está disponible en Docker Hub
  • La opción -v se usa para montar el directorio actual en el contenedor
  • Debes agregar /data al final del comando, de lo contrario la herramienta buscará dentro del contenedor en vez del sistema de archivos local

Otros proyectos

  • Fuego: framework de Go que genera documentación OpenAPI a partir de un codebase
  • Renpy-Graphviz: herramienta que genera gráficos de pantallas y etiquetas del motor de juegos Ren'Py

La opinión de GN⁺

  • Refuerzo de seguridad: puede ayudar a fortalecer la seguridad al detectar automáticamente información secreta dentro del codebase.
  • Facilidad de uso: ofrece varios métodos de instalación para que los usuarios puedan instalar y usar la herramienta cómodamente.
  • Herramientas similares: entre las herramientas con funciones parecidas están git-secrets, truffleHog, etc.
  • Aspectos a considerar antes de adoptarla: al usar la herramienta hay que considerar el tamaño y la complejidad del codebase, y una línea de alta entropía no necesariamente significa que contenga información secreta.
  • Pros y contras de la elección técnica: adoptar Entropy puede ayudar a prevenir incidentes de seguridad, pero puede generar falsos positivos, por lo que hace falta una revisión adicional.

1 comentarios

 
GN⁺ 2024-06-06
Comentarios de Hacker News
  • Uso de script en Perl: Se propone usar un script en Perl para medir la entropía del texto. En las líneas cortas existe el problema de que no se comprimen bien.
  • Contraseñas de base de datos: Se resolvió el problema configurando todas las contraseñas de la base de datos como 'abcd'.
  • Curiosidad sobre el uso de la entropía: Busca un buen artículo sobre cómo usar la entropía en el análisis de texto. Tiene curiosidad sobre la definición y la efectividad de la entropía.
  • Problema con la definición de entropía: Definir la entropía del texto es ambiguo. Hace falta una mejor manera de comparar la entropía del lenguaje natural y la de cadenas aleatorias.
  • Proyectos relacionados: Presenta proyectos relacionados como TruffleHog, detect-secrets y Semgrep Secrets.
  • Expresión de agradecimiento: Agradece a DrJones por una pregunta que hizo hace algunos años sobre la entropía y enlaza un buen artículo relacionado.
  • Elogio a la herramienta CLI: Dice que es una herramienta CLI útil y que el código en Go también es excelente.
  • Programa 'ent': Le recuerda al programa 'ent', que ha usado durante mucho tiempo.
  • Uso de modelos de lenguaje: Sugiere que modelos de lenguaje como Llama 3 podrían detectar zonas de alta entropía al modelar la sorpresa por token.
  • Sugerencia de mejora para la herramienta CLI: Sugiere agregar una bandera para leer automáticamente el archivo .gitignore y excluir su contenido, además de incorporar varias estrategias de detección de secretos.
  • Método de comparación por compresión: Propone comprimir el archivo y comparar el tamaño comprimido con el tamaño original. Los archivos cifrados se comprimen peor que el código.