Configuración de exploraciones GoSec
Utilice gosec para inspeccionar el código fuente de Golang en sus repositorios escaneados.
Parámetros necesarios
La interconexión necesita el parámetro de la Tabla 1 para ejecutar la exploración de Gosec. Para obtener una lista completa de los parámetros de interconexión, consulte Parámetros de interconexión.
| Nombre | Tipo | Descripción | Obligatorio u opcional |
|---|---|---|---|
opt-in-gosec |
text | Para activar el escaneo gosec, establezca la propiedad a cualquier valor no vacío. Para desactivar la exploración, configúrela con un valor vacío o elimine la propiedad por completo. (Por defecto está vacío) | Obligatorio |
Habilitación de la exploración de gosec para repositorios Git privados
Si el proyecto requiere dependencias que se encuentran en un repositorio Git privado y, por lo tanto, necesita autenticación basada en SSH, puede habilitar la interconexión para recuperar las dependencias proporcionando parámetros opcionales. Para obtener más información, consulte Habilitar descarga de dependencias para repositorios privados.
Si se debe especificar un proxy para recuperar relaciones, se puede especificar su URL junto con las credenciales (nombre de usuario y token) utilizando parámetros de canalización. Para obtener más información, consulte Habilitar GOPROXY.
Habilitar descarga de dependencias para repositorios privados
La descarga de dependencias para repositorios se puede habilitar proporcionando todos los parámetros de interconexión siguientes.
| Nombre | Tipo | Descripción | Obligatorio u opcional |
|---|---|---|---|
gosec-private-repository-url |
texto | (obsoleto) La base de su repositorio privado URL. | opcional |
gosec-private-repository-host |
text | Su host de repositorio privado. | opcional |
gosec-private-repository-ssh-key |
secret | La clave SSH para el repositorio privado | opcional |
gosec-private-repository-user |
text | Usuario para el repositorio privado con acceso https (por defecto x-oauth-basic) |
opcional |
gosec-private-repository-token |
secret | El token utilizado para el acceso https al repositorio privado (por defecto es el token configurado para la primera integración git en la cadena de herramientas cuyo repositorio URL está alojado en gosec-private-repository-host's
value) |
opcional |
Habilitar GOPROXY
Si se debe especificar GOPROXY, se deben proporcionar todos los parámetros siguientes.
| Nombre | Tipo | Descripción | Obligatorio u opcional |
|---|---|---|---|
gosec-proxy-virtual-repository-user |
text | El usuario de repositorio virtual para el proxy gosec | opcional |
gosec-proxy-virtual-repository-token |
secret | Señal de repositorio virtual para proxy gosec | opcional |
gosec-proxy-virtual-repository-url |
text | El URL de repositorio virtual para el proxy gosec | opcional |
Parámetros opcionales
El parámetro gosec-scan-image se puede utilizar para especificar una imagen gosec diferente para utilizar, como una imagen personalizada o una versión específica de la imagen gosec oficial.
El uso de la bandera gosec-additional-flags se muestra en la sección de ejemplos
| Nombre de parámetro | Valor predeterminado | Descripción |
|---|---|---|
gosec-additional-flags |
text | Distintivos adicionales que se añadirán al inicio del mandato gosec. |
gosec-scan-image |
text | Especifica una imagen gosec alternativa, incluyendo imágenes personalizadas o versiones específicas de la imagen oficial. |
gosec-repo-path-$repo_owner-$repo_name |
text | Ruta del subdirectorio dentro del repositorio donde se encuentra la raíz del módulo Go. Se utiliza para cada repositorio cuando go.mod no está en la raíz del repositorio. |
Ejemplos
Defina el valor de gosec-additional-flags como -exclude-dir=<your_folder_1> -exclude-dir=<your_folder_2> -nosec=true y el mandato gosec ejecutado se actualiza como:
./gosec -exclude-dir=<your_folder_1> -exclude-dir=<your_folder_2> -nosec=true -no-fail -fmt=json -out=gosec-results.json -stdout -verbose=text ./...
Para escanear un módulo Go ubicado en un subdirectorio, configure el parámetro gosec-repo-path-$repo_owner-$repo_name. Por ejemplo, si el propietario de su repositorio es myorg, el nombre del repositorio es myrepo,
y el módulo Go está en el directorio cmd/myapp, defina el parámetro como:
- Nombre del parámetro:
gosec-repo-path-myorg-myrepo - Valor del parámetro:
cmd/myapp
Esto escaneará el código Go comenzando desde la ruta cmd/myapp en lugar de la raíz del repositorio.
Utilización de su propio archivo de configuración
Si desea modificar la configuración predeterminada, cree un archivo config.json en el repositorio de destino. Para obtener más información sobre los parámetros de análisis en el archivo de configuración, consulte Configuración de gosec.
Utilización de otra implementación de exploración estática
Si desea utilizar su propia implementación de exploración estática, modifique el archivo .pipeline-config.yaml y añada su propio script personalizado a la etapa static-scan. Para obtener más información, consulte
Scripts personalizados.