Configurando varreduras GoSec
Use o gosec para inspecionar o código-fonte Golang em seus repositórios verificados.
Parâmetros necessários
O pipeline precisa do parâmetro na Tabela 1 para executar a varredura Gosec. Para obter uma lista completa de parâmetros de pipeline, consulte Parâmetros de pipeline.
| Nome | Tipo | Descrição | Necessário ou Opcional |
|---|---|---|---|
opt-in-gosec |
text | Para ativar a varredura gosec, defina a propriedade como qualquer valor não vazio. Para desativar a varredura, defina-a como um valor vazio ou remova a propriedade completamente. (O padrão é vazio) | Obrigatório |
Ativando a varredura gosec para repositórios privados do Git
Se o seu projeto requerer dependências que estejam localizadas em um repositório privado do Git e, portanto, precisar de autenticação baseada em SSH, será possível ativar o pipeline para recuperar as dependências fornecendo parâmetros opcionais Para obter mais informações, consulte Ativar download de dependência para repositórios privados.
Se for necessário especificar um proxy para recuperar dependências, você poderá especificar o endereço URL juntamente com as credenciais (nome de usuário e token) usando os parâmetros do pipeline. Para obter mais informações, consulte Ativar GOPROXY..
Ativar download de dependências para repositórios privados
O download de dependências para repositórios pode ser ativado fornecendo todos os seguintes parâmetros de pipeline.
| Nome | Tipo | Descrição | Necessário ou opcional |
|---|---|---|---|
gosec-private-repository-url |
text | (obsoleto) Sua base de repositório privado URL. | opcional |
gosec-private-repository-host |
text | Seu host de repositório privado. | opcional |
gosec-private-repository-ssh-key |
secret | A chave SSH para o repositório privado | opcional |
gosec-private-repository-user |
text | Usuário do repositório privado com acesso https (padrão: x-oauth-basic) |
optional |
gosec-private-repository-token |
secret | O token usado para acesso https ao repositório privado (o padrão é o token configurado para a primeira integração do git na cadeia de ferramentas cujo repositório URL está hospedado no valor de gosec-private-repository-host) |
opcional |
Ativar GOPROXY
Se GOPROXY tiver que ser especificado, todos os parâmetros a seguir deverão ser fornecidos:
| Nome | Tipo | Descrição | Necessário ou opcional |
|---|---|---|---|
gosec-proxy-virtual-repository-user |
text | O usuário do repositório virtual para proxy gosec | opcional |
gosec-proxy-virtual-repository-token |
secret | O token do repositório virtual para proxy gosec | opcional |
gosec-proxy-virtual-repository-url |
text | A URL do repositório virtual para o proxy gosec | opcional |
Parâmetros opcionais
O parâmetro gosec-scan-image pode ser usado para especificar uma imagem gosec diferente para usar, como uma imagem customizada ou uma versão específica da imagem gosec oficial.
O uso do sinalizador gosec-additional-flags é mostrado na seção de exemplos
| Nome do parâmetro | Valor padrão | Descrição |
|---|---|---|
gosec-additional-flags |
text | Sinalizadores adicionais a serem anexados ao início do comando gosec |
gosec-scan-image |
text | Especifica uma imagem gosec alternativa, incluindo imagens customizadas ou versões específicas da imagem oficial. |
gosec-repo-path-$repo_owner-$repo_name |
text | Caminho do subdiretório no repositório em que a raiz do módulo Go está localizada. Para ser usado em uma base por repositório quando go.mod não estiver na raiz do repositório. |
Exemplos
Defina o valor de gosec-additional-flags como -exclude-dir=<your_folder_1> -exclude-dir=<your_folder_2> -nosec=true e a execução do comando gosec será atualizada 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 digitalizar um módulo Go localizado em um subdiretório, defina o parâmetro gosec-repo-path-$repo_owner-$repo_name. Por exemplo, se o proprietário do repositório for myorg, o nome do repositório for myrepo e o módulo Go estiver no diretório cmd/myapp, defina o parâmetro como:
- Nome do parâmetro:
gosec-repo-path-myorg-myrepo - Valor do parâmetro:
cmd/myapp
Isso examinará o código Go a partir do caminho cmd/myapp em vez da raiz do repositório.
Usando o seu próprio arquivo de configuração
Para modificar a configuração padrão, crie um arquivo config.json no repositório de destino. Para obter mais informações sobre os parâmetros de análise no arquivo de configuração, consulte gosec configuration
Usando outra implementação de varredura estática
Se desejar usar sua própria implementação de varredura estática, modifique seu arquivo .pipeline-config.yaml e inclua seu script customizado no estágio static-scan. Para obter mais informações, consulte Scripts customizados..