src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/GoLanguageAnalyzer.cs scans executables for Go build info (module.Version, build Settings) and reads DWARF metadata when available.
Captures full module graphs (main + dependencies) with PURLs; for stripped binaries, falls back to hashed component keys via GoBinaryScanner.TryClassifyStrippedBinary.
Metadata records Go toolchain settings, build IDs, and replacements; evidence references binary paths and entrypoint usage (LanguageAnalyzerContext.UsageHints).
Ensures deterministic ordering and retains hashed fallback components for binaries lacking Go metadata.
src/lib/plugins/index.ts dispatches Go projects to snyk-go-plugin (golangdep, gomodules, govendor).[s1]
CLI scans require authenticated connectivity and send dependency graphs to Snyk’s SaaS backend (snyk test, snyk monitor) for analysis; binaries are not inspected locally.[s2]
No fallback hashing or runtime usage metadata accompanies the results.
SBOM generation via Syft feeds Go modules/binaries into Grype (grype/pkg/syft_provider.go).
The Go matcher consumes syftPkg.GoModulePkg, applying ecosystem+/-CPE logic and skipping binaries with pseudo-version metadata when build info is insufficient (grype/matcher/golang/matcher.go).
No fallback hashing beyond Syft’s catalog; runtime usage and DWARF metadata are not surfaced.