
Deepfence SecretScanner puede encontrar secretos potenciales en imágenes de contenedores o sistemas de archivos.
¿Qué son los secretos?
Los secretos son cualquier tipo de datos confidenciales o privados que otorgan a los usuarios autorizados permiso para obtener a la infraestructura de TI crítica (como cuentas, dispositivos, redes, servicios basados en la abundancia), aplicaciones, almacenamiento, bases de datos y otros tipos de datos críticos para una estructura. Por ejemplo, las contraseñas, los ID de ataque de AWS, las claves de ataque secretas de AWS, la secreto de Google OAuth, etc. son secretos. Los secretos deben mantenerse estrictamente en privado. Sin bloqueo, a veces los atacantes pueden obtener fácilmente a secretos correcto a políticas de seguridad defectuosas o errores involuntarios de los desarrolladores. A veces, los desarrolladores usan secretos predeterminados o dejan secretos codificados como contraseñas, claves de API, claves de criptográfico, claves SSH, tokens, etc. en imágenes de contenedor, especialmente durante ciclos rápidos de incremento e implementación en la canalización de CI / CD. Adicionalmente, a veces los usuarios almacenan las contraseñas en texto sin formato. La filtración de secretos a entidades no autorizadas puede poner a su estructura e infraestructura en severo peligro de seguridad.
Deepfence SecretScanner ayuda a los usuarios a escanear sus imágenes de contenedor o directorios locales en hosts y genera un archivo JSON con detalles de todos los secretos encontrados.
Consulte nuestro blog para obtener más detalles.
Opciones de rasgo de comando
$ ./SecretScanner –help
Uso de ./SecretScanner:
-config-path esclavitud
Escudriñamiento config.yaml en el directorio cedido. Si no está configurado, intenta encontrarlo en el directorio contemporáneo y binario de SecretScanner
-cadena de nivel de depuración
Los niveles de depuración son FATAL, ERROR, IMPORTANTE, WARN, INFO, DEBUG. Solo se muestran los niveles superiores al nivel de depuración («ERROR» predeterminado)
-cadena de nombre de imagen
Nombre de la imagen inmediato con la inscripción para averiguar secretos
-json-nombre de archivo esclavitud
Nombre de archivo json de salida. Si no se configura, creará automáticamente un nombre de archivo basado en la imagen o el nombre del directorio
-cadena nave
Especifique el directorio nave (ruta absoluta) que escanear. Analiza solo un directorio cedido de forma recursiva.
-max-multi-match uint
Número mayor de coincidencias del mismo patrón en un archivo. Esto se usa solo cuando la opción de coincidencia múltiple está habilitada. (predeterminado 3)
-max-secretos uint
Número mayor de secretos para encontrar en una imagen de contenedor o sistema de archivos. (predeterminado 1000)
-uint de tamaño mayor de archivo
Tamaño mayor de archivo para procesar en KB (predeterminado 256)
-multi-partido
Genere múltiples coincidencias del mismo patrón en un archivo. De forma predeterminada, solo se genera una coincidencia de un patrón para un archivo para un mejor rendimiento
-cadena de ruta de salida
Directorio de salida donde se almacenará el archivo json. Si no se establece, se enviará al directorio contemporáneo
-temp-directory esclavitud
Directorio para procesar y acumular repositorios / coincidencias (predeterminado «/ tmp»)
-hilos int
Número de subprocesos simultáneos (número predeterminado de CPU lógicas)
Intente usar Docker rápidamente
Instale Docker y ejecute SecretScanner en una imagen de contenedor siguiendo las siguientes instrucciones:
docker build --rm=true --tag=deepfenceio/secretscanning:latest -f Dockerfile .
- O extraiga la última compilación de Docker Hub haciendo lo futuro:
docker pull deepfenceio/secretscanning
- Extraiga una imagen de contenedor para escanear:
docker pull node:8.11
- Ejecute SecretScanner:
- Escanear una imagen de contenedor:
docker run -it --rm --name=deepfence-secretscanner -v $(pwd):/home/deepfence/output -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker deepfenceio/secretscanning -image-name node:8.11
- Escanee un directorio nave:
docker run -it --rm --name=deepfence-secretscanner -v $(pwd):/home/deepfence/output -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker deepfenceio/secretscanning -local /home/deepfence/src/SecretScanner/test
- Escanear una imagen de contenedor:
De forma predeterminada, SecretScanner además creará archivos json con detalles de todos los secretos que se encuentran en el directorio de trabajo contemporáneo. Puede especificar explícitamente el directorio de salida y el nombre de archivo json usando las opciones apropiadas.
Instrucciones de construcción
- Instalar Docker
- Instalar Hyperscan
- Instale go para su plataforma (interpretación 1.14)
- Instale los módulos go, si es necesario:
gohs
,yaml.v3
ycolor
go get github.com/deepfence/SecretScanner
descargará y compilará SecretScanner automáticamente en$GOPATH/bin
o$HOME/go/bin
directorio. O clona este repositorio y ejecutago build -v -i
para construir el ejecutable en el directorio contemporáneo.- Edite el archivo config.yaml según sea necesario y ejecute el escáner secreto con el directorio de archivos de configuración apropiado.
Como remisión, el archivo de instalación tiene comandos para construir en un sistema ubuntu.
Instrucciones para ejecutar en el host nave
./SecretScanner –help
./SecretScanner -config-path /path/to/config.yaml/dir -local test
./SecretScanner -config-path /path/to/config.yaml/dir -nombre-de-imagen nodo: 8.11
Salida de muestra de SecretScanner

Descargo de responsabilidad
Esta útil no está destinada a piratear. Úselo solo para fines legítimos, como detectar secretos en la infraestructura que posee, no en la infraestructura de otros. DEEPFENCE no será responsable por interés cesante, pérdida de negocio, otra pérdida financiera o cualquier otra pérdida o daño que pueda ser causado, directa o indirectamente, por la insuficiencia de SecretScanner para cualquier propósito o uso del mismo o por cualquier defecto o deficiencia. en esto.