diff --git a/vulndb/govulncheck/cache_test.go b/vulndb/govulncheck/cache_test.go
index 1d3d4a2..c030bf7 100644
--- a/vulndb/govulncheck/cache_test.go
+++ b/vulndb/govulncheck/cache_test.go
@@ -59,9 +59,9 @@
 	}
 
 	expectedEntries := []*osv.Entry{
-		&osv.Entry{ID: "001"},
-		&osv.Entry{ID: "002"},
-		&osv.Entry{ID: "003"},
+		{ID: "001"},
+		{ID: "002"},
+		{ID: "003"},
 	}
 	if err := cache.WriteEntries(dbName, "vuln.example.com", expectedEntries); err != nil {
 		t.Fatalf("WriteEntries failed: %v", err)
diff --git a/vulndb/govulncheck/main.go b/vulndb/govulncheck/main.go
index 9067ded..6fd3f07 100644
--- a/vulndb/govulncheck/main.go
+++ b/vulndb/govulncheck/main.go
@@ -100,7 +100,7 @@
 	}
 
 	cfg := &packages.Config{
-		Mode:       packages.LoadAllSyntax | packages.NeedModule,
+		Mode:       packages.NeedName | packages.NeedFiles | packages.NeedCompiledGoFiles | packages.NeedImports | packages.NeedTypes | packages.NeedTypesSizes | packages.NeedSyntax | packages.NeedTypesInfo | packages.NeedDeps | packages.NeedModule,
 		Tests:      *testsFlag,
 		BuildFlags: []string{fmt.Sprintf("-tags=%s", strings.Join(build.Default.BuildTags, ","))},
 	}
diff --git a/vulndb/internal/audit/detect.go b/vulndb/internal/audit/detect.go
index 34735c9..c88630e 100644
--- a/vulndb/internal/audit/detect.go
+++ b/vulndb/internal/audit/detect.go
@@ -133,7 +133,7 @@
 // String method for trace elements.
 func (e TraceElem) String() string {
 	if e.Position == nil {
-		return fmt.Sprintf("%s", e.Description)
+		return e.Description
 	}
 	return fmt.Sprintf("%s (%s)", e.Description, e.Position)
 }
diff --git a/vulndb/internal/audit/helpers_test.go b/vulndb/internal/audit/helpers_test.go
index dccf30b..3171622 100644
--- a/vulndb/internal/audit/helpers_test.go
+++ b/vulndb/internal/audit/helpers_test.go
@@ -96,7 +96,7 @@
 }
 
 func loadAndBuildPackages(e *packagestest.Exported, file string) (*ssa.Program, []*ssa.Package, []*packages.Package, error) {
-	e.Config.Mode |= packages.NeedModule | packages.LoadAllSyntax
+	e.Config.Mode |= packages.NeedModule | packages.NeedName | packages.NeedFiles | packages.NeedCompiledGoFiles | packages.NeedImports | packages.NeedTypes | packages.NeedTypesSizes | packages.NeedSyntax | packages.NeedTypesInfo | packages.NeedDeps
 	// Get the path to the test file.
 	filepath := path.Join(e.Temp(), file)
 	pkgs, err := packages.Load(e.Config, filepath)
diff --git a/vulndb/internal/audit/order_test.go b/vulndb/internal/audit/order_test.go
index ccf3e84..1205733 100644
--- a/vulndb/internal/audit/order_test.go
+++ b/vulndb/internal/audit/order_test.go
@@ -8,20 +8,20 @@
 
 func TestFindingsOrdering(t *testing.T) {
 	f1 := Finding{Trace: []TraceElem{
-		TraceElem{Description: "T1"},
+		{Description: "T1"},
 	},
 	}
 	f2 := Finding{Trace: []TraceElem{
-		TraceElem{Description: "T1"},
-		TraceElem{Description: "T2"},
+		{Description: "T1"},
+		{Description: "T2"},
 	},
 	}
 	f3 := Finding{Trace: []TraceElem{
-		TraceElem{Description: "T1"}},
+		{Description: "T1"}},
 		confidence: 1,
 	}
 	f4 := Finding{Trace: []TraceElem{
-		TraceElem{Description: "T1"}},
+		{Description: "T1"}},
 		confidence: 1,
 		weight:     2,
 	}
