Skip to content

Commit 3e1dbe4

Browse files
committed
Initialise client with OSV UserAgent.
Signed-off-by: kash2104 <kparikh1104@gmail.com>
1 parent 2f910c3 commit 3e1dbe4

4 files changed

Lines changed: 31 additions & 6 deletions

File tree

clients/osv.go

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,22 @@ import (
3030
var _ VulnerabilitiesClient = osvClient{}
3131

3232
type osvClient struct {
33-
local bool
33+
local bool
34+
requestUserAgent string
35+
}
36+
37+
type OSVConfig struct {
38+
ExperimentalLocal bool
39+
UserAgent string
40+
}
41+
42+
func NewOSVClient(config *OSVConfig) VulnerabilitiesClient {
43+
cfg := osvClient{}
44+
if config != nil {
45+
cfg.local = config.ExperimentalLocal
46+
cfg.requestUserAgent = config.UserAgent
47+
}
48+
return cfg
3449
}
3550

3651
// ListUnfixedVulnerabilities implements VulnerabilityClient.ListUnfixedVulnerabilities.
@@ -54,6 +69,12 @@ func (v osvClient) ListUnfixedVulnerabilities(
5469
if commit != "" {
5570
gitCommits = append(gitCommits, commit)
5671
}
72+
73+
exp := osvscanner.ExperimentalScannerActions{
74+
PluginsEnabled: []string{"python/requirements"},
75+
PluginsDisabled: []string{"python/requirementsenhanceable"},
76+
RequestUserAgent: v.requestUserAgent,
77+
}
5778
res, err := osvscanner.DoScan(osvscanner.ScannerActions{
5879
DirectoryPaths: directoryPaths,
5980
IncludeGitRoot: false,
@@ -62,10 +83,7 @@ func (v osvClient) ListUnfixedVulnerabilities(
6283
CompareOffline: v.local,
6384
DownloadDatabases: v.local,
6485
// swap out the transitive requirements scanning for offline extractor
65-
ExperimentalScannerActions: osvscanner.ExperimentalScannerActions{
66-
PluginsEnabled: []string{"python/requirements"},
67-
PluginsDisabled: []string{"python/requirementsenhanceable"},
68-
},
86+
ExperimentalScannerActions: exp,
6987
}) // TODO: Do logging?
7088

7189
response := VulnerabilitiesResponse{}

clients/vulnerabilities.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ type VulnerabilitiesClient interface {
2929

3030
// DefaultVulnerabilitiesClient returns a new OSV Vulnerabilities client.
3131
func DefaultVulnerabilitiesClient() VulnerabilitiesClient {
32-
return osvClient{local: false}
32+
return NewOSVClient(nil)
3333
}
3434

3535
// ExperimentalLocalOSVClient returns an OSV Vulnerabilities client which

cron/internal/worker/main.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,9 @@ func main() {
330330
info := version.GetVersionInfo()
331331
actions := osvscanner.ExperimentalScannerActions{}
332332
actions.RequestUserAgent = fmt.Sprintf("scorecard-cron/%s", info.GitVersion)
333+
osvConfig := clients.OSVConfig{}
334+
osvConfig.UserAgent = actions.RequestUserAgent
335+
clients.NewOSVClient(&osvConfig)
333336
flag.Parse()
334337
if err := config.ReadConfig(); err != nil {
335338
panic(err)

main.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,18 @@ import (
2222
"github.com/google/osv-scanner/v2/pkg/osvscanner"
2323
"sigs.k8s.io/release-utils/version"
2424

25+
"github.com/ossf/scorecard/v5/clients"
2526
"github.com/ossf/scorecard/v5/cmd"
2627
"github.com/ossf/scorecard/v5/options"
2728
)
2829

2930
func main() {
3031
info := version.GetVersionInfo()
3132
actions := osvscanner.ExperimentalScannerActions{}
33+
config := clients.OSVConfig{}
3234
actions.RequestUserAgent = fmt.Sprintf("scorecard-cli/%s", info.GitVersion)
35+
config.UserAgent = actions.RequestUserAgent
36+
clients.NewOSVClient(&config)
3337
opts := options.New()
3438
if err := cmd.New(opts).Execute(); err != nil {
3539
log.Fatalf("error during command execution: %v", err)

0 commit comments

Comments
 (0)