Go Vulnerability Checks

Tools for checking vulnerabilities in Go code.


Govulncheck

1# Install
2go install golang.org/x/vuln/cmd/govulncheck@latest
3
4# Check current module
5govulncheck ./...
6
7# JSON output
8govulncheck -json ./...

Gosec

1# Install
2go install github.com/securego/gosec/v2/cmd/gosec@latest
3
4# Scan project
5gosec ./...
6
7# Output formats
8gosec -fmt=json -out=results.json ./...
9gosec -fmt=html -out=results.html ./...

Nancy

1# Install
2go install github.com/sonatype-nexus-community/nancy@latest
3
4# Check dependencies
5go list -json -m all | nancy sleuth

CI/CD Integration

 1# GitHub Actions
 2name: Security Scan
 3
 4on: [push, pull_request]
 5
 6jobs:
 7  security:
 8    runs-on: ubuntu-latest
 9    steps:
10      - uses: actions/checkout@v3
11      
12      - name: Set up Go
13        uses: actions/setup-go@v4
14        with:
15          go-version: '1.21'
16      
17      - name: Run Gosec
18        uses: securego/gosec@master
19        with:
20          args: './...'
21      
22      - name: Run Govulncheck
23        run: |
24          go install golang.org/x/vuln/cmd/govulncheck@latest
25          govulncheck ./...          

Related Snippets