Skill de Auditoría de Módulos y Seguridad de Go
Skill de política de seguridad y govulncheck para agentes: una Skill de Agente estilo "cookbook" para barridos de seguridad de módulos Go 1.26 antes del lanzamiento.
Busca en todas las páginas de la documentación
Skill de política de seguridad y govulncheck para agentes: una Skill de Agente estilo "cookbook" para barridos de seguridad de módulos Go 1.26 antes del lanzamiento.
Produce un plan de auditoría ejecutable: resultados de govulncheck, rastros de importación vulnerables, pines de go get propuestos, indicadores de licencia/política y comandos de verificación, sin fusionar automáticamente los cambios de dependencia.
go getgo work de un monorepo| Entrada | Por qué |
|---|---|
go.mod / go.sum | Gráfico de módulos y checksums |
| ADR de política de dependencias del equipo | Versiones principales permitidas, proxy interno |
Configuración de GOPROXY / GONOSUMDB | Entorno de auditoría reproducible |
| Lista de licencias permitidas | Bloquear GPL si la política lo requiere |
| Ticket de auditoría anterior | Rastrea regresiones |
govulncheck -json: CVE, módulo, versión corregida, ruta de llamadago get module@version (el humano aprueba)go test ./..., go mod verify, comando opcional syft SBOMgo get -u ./... sin aprobación humana explícita y revisión del registro de cambios.go.sum manualmente, solo go get / go mod tidy.retract en el go.mod del consumidor.GOPRIVATE antes de publicar registros de auditoría.Tarjeta de receta de referencia rápida, lista para copiar y pegar.
# 1. Integridad base del módulo
go mod verify
go list -m -json all | head # sanity: el gráfico se resuelve
# 2. Escaneo de vulnerabilidades
govulncheck -json ./... > /tmp/vuln.json
# 3. Resumen legible por humanos
govulncheck ./...
# 4. Después de los pines aprobados únicamente
go get golang.org/x/net@v0.34.0
go mod tidy
go test ./...
govulncheck ./...Cuándo usar esta skill:
go version # esperar 1.26.x según el pin de la pila
echo "$GOPROXY" # documentar el proxy utilizado para la auditoría
go env GOMODgovulncheck -show verbose ./...| Columna | Significado |
|---|---|
| Vulnerabilidad | ID OSV/CVE |
| Módulo | Módulo afectado |
| Encontrado en | Tu cadena de importación |
| Corregido en | Destino de actualización |
# Sugerencia de salida de ejemplo - el humano ejecuta después de la aprobación
go get golang.org/x/crypto@v0.31.0
go mod tidyDocumentar por qué se necesita cada pin: CVE, ruta de llamada, riesgo de cambio disruptivo.
# Si el equipo usa syft o go-licenses - adaptar a tu cadena de herramientas
go list -m -json all | jq -r '.Path' | sort -uMarcar módulos fuera de la lista de permitidos para revisión legal.
go test ./... -count=1
go mod verify
govulncheck ./...La Selección Mínima de Versión (MVS) significa que go get en un módulo puede traer pines transitivos.
La salida de la skill debe listar los cambios directos e indirectos de la diferencia de go list -m -u all.
Las directivas replace ocultan las versiones de los escáneres ingenuos: audita explícitamente el bloque replace de go.mod.
Los espacios de trabajo go work requieren ejecutar govulncheck desde cada módulo o raíz del espacio de trabajo según la convención del equipo.
Retractar en tu propio módulo: la skill debe verificar que no estás publicando versiones retractadas.
go get -u en módulos x/* relacionados con stdlib puede propagarse; fijar quirúrgicamente.-mod=vendor) necesita go mod vendor después de los pines; mencionarlo en la salida.go mod verify en CI; política separada.| Enfoque | Cuándo |
|---|---|
| Solo Dependabot | Nativo de GitHub, menos detalle de ruta de llamada |
| OSV-Scanner | Repositorios políglotas |
go list -m -u manual | Módulos pequeños |
| Esta skill | Auditoría asistida por agente con puertas de política de equipo |
No. Solo comandos de borrador y resumen. El humano revisa el registro de cambios y ejecuta CI completa.
Sí para servicios de producción. La skill hace referencia al mismo comando que usa CI, por lo que el entorno local y el pipeline se alinean.
La salida documenta el ticket de aceptación de riesgo, los controles compensatorios y monitorea la versión corregida.
Versiones de la Pila: Esta página fue escrita para Go 1.26.x (predeterminado de GC Green Tea, modernizadores de go fix - verificar parche en la compilación), chi (última versión - verificar en la compilación), gin (última versión - verificar en la compilación), echo (última versión - verificar en la compilación), google.golang.org/grpc (última versión - verificar en la compilación), sigs.k8s.io/controller-runtime (última versión - verificar en la compilación), kubebuilder (última versión - verificar en la compilación), tinygo (última versión - verificar objetivos de placa en la compilación), wazero (última versión - verificar en la compilación) y golangci-lint (última versión - verificar conjunto de linters en la compilación).
Revisado por Chris St. John·Última actualización: 16 jul 2026