diff --git a/detector/cve_client.go b/detector/cve_client.go index 5be55469..dd84ae0a 100644 --- a/detector/cve_client.go +++ b/detector/cve_client.go @@ -44,21 +44,18 @@ func (api goCveDictClient) closeDB() error { if api.driver == nil { return nil } - if err := api.driver.CloseDB(); err != nil { - return xerrors.Errorf("Failed to close DB: %+v", err) - } - return nil + return api.driver.CloseDB() } func (api goCveDictClient) fetchCveDetails(cveIDs []string) (cveDetails []cvemodels.CveDetail, err error) { - for _, cveID := range cveIDs { - cveDetail, err := api.driver.Get(cveID) - if err != nil { - return nil, xerrors.Errorf("Failed to fetch CVE. err: %w", err) - } - cveDetails = append(cveDetails, *cveDetail) + m, err := api.driver.GetMulti(cveIDs) + if err != nil { + return nil, xerrors.Errorf("Failed to GetMulti. err: %w", err) } - return + for _, v := range m { + cveDetails = append(cveDetails, v) + } + return cveDetails, nil } type response struct { diff --git a/go.mod b/go.mod index fa826e3f..26c0c264 100644 --- a/go.mod +++ b/go.mod @@ -51,13 +51,13 @@ require ( github.com/spf13/afero v1.6.0 github.com/spf13/cast v1.4.1 // indirect github.com/spf13/cobra v1.2.1 - github.com/vulsio/go-cve-dictionary v0.8.1 + github.com/vulsio/go-cve-dictionary v0.8.2-0.20210930001709-cf3186eb9baf github.com/vulsio/go-exploitdb v0.4.2-0.20210930011714-10b78a3740a9 github.com/vulsio/go-msfdb v0.2.1-0.20210928020521-9b56a938f544 github.com/vulsio/gost v0.4.1-0.20210928234623-3e6372ba2821 github.com/vulsio/goval-dictionary v0.6.1 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect - golang.org/x/net v0.0.0-20210902165921-8d991716f632 // indirect + golang.org/x/net v0.0.0-20210916014120-12bc252f5db8 // indirect golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f golang.org/x/sync v0.0.0-20210220032951-036812b2e83c golang.org/x/text v0.3.7 // indirect @@ -80,7 +80,7 @@ require ( github.com/Masterminds/semver v1.5.0 // indirect github.com/Masterminds/sprig v2.22.0+incompatible // indirect github.com/PuerkitoBio/goquery v1.7.1 // indirect - github.com/andybalholm/cascadia v1.2.0 // indirect + github.com/andybalholm/cascadia v1.3.1 // indirect github.com/aquasecurity/go-dep-parser v0.0.0-20210815080135-5be65146849a // indirect github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce // indirect github.com/aquasecurity/go-npm-version v0.0.0-20201110091526-0b796d180798 // indirect diff --git a/go.sum b/go.sum index b9f44b83..dccfeadb 100644 --- a/go.sum +++ b/go.sum @@ -198,8 +198,9 @@ github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:C github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc= github.com/alicebob/miniredis/v2 v2.14.1/go.mod h1:uS970Sw5Gs9/iK3yBg0l9Uj9s25wXxSpQUE9EaJ/Blg= github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= -github.com/andybalholm/cascadia v1.2.0 h1:vuRCkM5Ozh/BfmsaTm26kbjm0mIOM3yS5Ek/F5h18aE= github.com/andybalholm/cascadia v1.2.0/go.mod h1:YCyR8vOZT9aZ1CHEd8ap0gMVm2aFgxBp0T0eFw1RUQY= +github.com/andybalholm/cascadia v1.3.1 h1:nhxRkql1kdYCc8Snf7D5/D3spOX+dBgjA6u8x004T2c= +github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= @@ -1590,8 +1591,8 @@ github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6Ac github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/vmware/govmomi v0.20.3/go.mod h1:URlwyTFZX72RmxtxuaFL2Uj3fD1JTvZdx59bHWk6aFU= -github.com/vulsio/go-cve-dictionary v0.8.1 h1:vpxOq7OAFVqEGfxcRZ5tRKfCd8Wuioj6yNosJ0Nx8d4= -github.com/vulsio/go-cve-dictionary v0.8.1/go.mod h1:PdkEViYpf0sx4H0YF7Sk/Xo+j8Agof4aOVoQxzL+TQA= +github.com/vulsio/go-cve-dictionary v0.8.2-0.20210930001709-cf3186eb9baf h1:P6s8j72GuepPMPFJEijGp/woZyAE1RuY6jW0oSxbdRg= +github.com/vulsio/go-cve-dictionary v0.8.2-0.20210930001709-cf3186eb9baf/go.mod h1:Ii9TEH35giMSWJM2FwGm1PCPxuBKrbaYhDun2PM7ERo= github.com/vulsio/go-exploitdb v0.4.2-0.20210930011714-10b78a3740a9 h1:WGNUxybShyToLOhX2jA7H8QHbyF86MqardaxS6hNLfc= github.com/vulsio/go-exploitdb v0.4.2-0.20210930011714-10b78a3740a9/go.mod h1:C1X/lRIvDDBWDeW19Msw7asZ4q0pFjmFx/kXGns2raA= github.com/vulsio/go-msfdb v0.2.1-0.20210928020521-9b56a938f544 h1:wG6rTODeLpm+N8wERjdVTo5kr64WqNEDR+VrKny/vAo= @@ -1832,8 +1833,8 @@ golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210902165921-8d991716f632 h1:900XJE4Rn/iPU+xD5ZznOe4GKKc4AdFK0IO1P6Z3/lQ= -golang.org/x/net v0.0.0-20210902165921-8d991716f632/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210916014120-12bc252f5db8 h1:/6y1LfuqNuQdHAm0jjtPtgRcxIxjVZgm5OTu8/QhZvk= +golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180724155351-3d292e4d0cdc/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=