Skill de Auditoria de Módulos e Segurança Go
Skill de política de govulncheck e dependências para agentes - uma Skill de Agente em estilo de cookbook para varreduras de segurança de módulos Go 1.26 antes do lançamento.
Busque em todas as páginas da documentação
Skill de política de govulncheck e dependências para agentes - uma Skill de Agente em estilo de cookbook para varreduras de segurança de módulos Go 1.26 antes do lançamento.
Produz um plano de auditoria executável: resultados do govulncheck, rastros de importação vulneráveis, sugestões de pins de go get, sinalizadores de licença/política e comandos de verificação - sem mesclar automaticamente alterações de dependência.
go getgo work do monorepo| Entrada | Por quê |
|---|---|
go.mod / go.sum | Grafo de módulos e checksums |
| Política de dependência da equipe ADR | Majors permitidos, proxy interno |
Configurações GOPROXY / GONOSUMDB | Ambiente de auditoria reproduzível |
| Lista de permissões de licença | Bloquear GPL se a política exigir |
| Ticket de auditoria anterior | Rastrear regressões |
govulncheck -json: CVE, módulo, versão corrigida, caminho de chamadago get module@version (humano aprova)go test ./..., go mod verify, comando opcional syft SBOMgo get -u ./... sem aprovação humana explícita e revisão do changelog.go.sum manualmente - apenas go get / go mod tidy.retract no go.mod do consumidor.GOPRIVATE antes de publicar logs de auditoria.Cartão de receita de referência rápida - pronto para copiar e colar.
# 1. Integridade base do módulo
go mod verify
go list -m -json all | head # sanity check: grafo resolve
# 2. Análise de vulnerabilidade
govulncheck -json ./... > /tmp/vuln.json
# 3. Resumo legível por humanos
govulncheck ./...
# 4. Após pins aprovados apenas
go get golang.org/x/net@v0.34.0
go mod tidy
go test ./...
govulncheck ./...Quando usar esta skill:
go version # espera 1.26.x por pin de stack
echo "$GOPROXY" # documenta o proxy usado para auditoria
go env GOMODgovulncheck -show verbose ./...| Coluna | Significado |
|---|---|
| Vulnerabilidade | ID OSV/CVE |
| Módulo | Caminho do módulo afetado |
| Encontrado em | Sua cadeia de importação |
| Corrigido em | Alvo de atualização |
# Sugestão de saída de exemplo - humano executa após aprovação
go get golang.org/x/crypto@v0.31.0
go mod tidyDocumente por que cada pin é necessário: CVE, caminho de chamada, risco de quebra de alteração.
# Se a equipe usa syft ou go-licenses - adapte à sua toolchain
go list -m -json all | jq -r '.Path' | sort -uSinalize módulos fora da lista de permissões para revisão legal.
go test ./... -count=1
go mod verify
govulncheck ./...Seleção Mínima de Versão (MVS) significa que go get em um módulo pode puxar pins transitivos.
A saída da skill deve listar as alterações diretas e indiretas da diferença de go list -m -u all.
Diretivas replace ocultam versões de scanners ingênuos - audite o bloco replace do go.mod explicitamente.
Workspaces go work exigem a execução de govulncheck de cada módulo ou raiz do workspace por convenção da equipe.
Retract em seu próprio módulo: a skill deve verificar se você não está publicando versões retratadas.
go get -u em módulos x/* relacionados à stdlib pode se propagar em cascata - fixe cirurgicamente.-mod=vendor) precisa de go mod vendor após os pins - mencione na saída.go mod verify em CI - política separada.| Abordagem | Quando |
|---|---|
| Apenas Dependabot | Nativo do GitHub, menos detalhes de caminho de chamada |
| OSV-Scanner | Repositórios políglotos |
go list -m -u manual | Módulos minúsculos |
| Esta skill | Auditoria assistida por agente com portões de política de equipe |
Não. Apenas comandos de rascunho e resumo. O humano revisa o changelog e executa CI completo.
Sim para serviços de produção. A skill referencia o mesmo comando que a CI usa para que o local e o pipeline se alinhem.
A saída documenta o ticket de aceitação de risco, controles compensatórios e monitora a versão corrigida.
Versões de Stack: Esta página foi escrita para Go 1.26.x (padrão Green Tea GC, go fix modernizers - verifique o patch na compilação), chi (última versão - verifique na compilação), gin (última versão - verifique na compilação), echo (última versão - verifique na compilação), google.golang.org/grpc (última versão - verifique na compilação), sigs.k8s.io/controller-runtime (última versão - verifique na compilação), kubebuilder (última versão - verifique os alvos de placa na compilação), tinygo (última versão - verifique os alvos de placa na compilação), wazero (última versão - verifique na compilação) e golangci-lint (última versão - verifique o conjunto de linters na compilação).
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026