Commit Graph

88 Commits

Author SHA1 Message Date
Simarpreet Singh
77f1abc17d Integration tests for docker mode (#335)
* wip: run trivy after adding image

Signed-off-by: Simarpreet Singh <simar@linux.com>

* integration: Add an integration test for docker mode

Signed-off-by: Simarpreet Singh <simar@linux.com>

* integration: Add error checks for docker_engine_test

Signed-off-by: Simarpreet Singh <simar@linux.com>

* circleci: add specific docker version

Signed-off-by: Simarpreet Singh <simar@linux.com>

* circleci: add specific docker version

Signed-off-by: Simarpreet Singh <simar@linux.com>

* docker_engine_test: Add a sad path

Signed-off-by: Simarpreet Singh <simar@linux.com>

* circleci: Add docker_version by param

Signed-off-by: Simarpreet Singh <simar@linux.com>

* circleci: Add more docker versions

Signed-off-by: Simarpreet Singh <simar@linux.com>

* test(integration): remove old docker versions

* chore(ci): add requires

Co-authored-by: Teppei Fukuda <knqyf263@gmail.com>
2019-12-26 12:48:17 +02:00
Masahiro Fujimura
b127c1c8a7 Support SUSE (#337)
* Add suse support

* Add suse support

* Add OpenSUSETumbleweed

* mv suse to detector

* Add trivy-db

* Fix suse test

* Add integration test

* Change README.md

* change go.mod

* Fix bug

* Fix integration

* Fix golden file

* update go.mod

Co-authored-by: Teppei Fukuda <knqyf263@gmail.com>
2019-12-23 21:27:25 +02:00
Teppei Fukuda
cee08c38f4 feat(db): show progress when downloading the DB (#317)
* fix(github): return db size

* fix(github_mock): add size

* feat(indicator): add progress bar

* refactor(config): remove global Quiet

* fix(db): take progress bar as an argument

* fix(progress): inject progress bar
2019-12-16 19:23:08 +02:00
Teppei Fukuda
af584a8517 Revert "change mod genuinetools/reg to vanilla (#297)" (#321)
This reverts commit 1e9dcdb7d1.
2019-12-16 10:18:24 +02:00
jabielecki
1805a956a3 refactor for newest fanal (#305)
Changes for compatilibity with PR aquasecurity/fanal#47

Signed-off-by: Jakub Bielecki <jakub.bielecki@codilime.com>
2019-12-15 10:22:48 +02:00
Teppei Fukuda
74717b888e feat: support client/server mode (#295)
* chore(app): change dir

* feat(rpc): add a proto file and auto-generated files

* chore(dep): add dependencies

* fix(app): fix import path

* fix(integration): fix import path

* fix(protoc): use enum for severity

* chore(Makefile): add fmt andd protoc

* chore(clang): add .clang-format

* refactor: split functions for client/server (#296)

* refactor(db): split db.Download

* refactor(standalone): create a different package

* refactor(vulnerability): split FillAndFilter

* fix(protoc): use enum for severity

* chore(Makefile): add fmt andd protoc

* chore(clang): add .clang-format

* fix(db): remove an unused variable

* fix(db): expose the github client as an argument of constructor

* refactor(vulnerability): add the detail message

* feat(rpc): add rpc client (#302)

* fix(protoc): use enum for severity

* chore(Makefile): add fmt andd protoc

* chore(clang): add .clang-format

* feat(rpc): convert types

* feat(rpc): add rpc client

* token: Refactor to handle bad headers being set

Signed-off-by: Simarpreet Singh <simar@linux.com>

* feat(rpc): add rpc server (#303)

* feat(rpc): add rpc server

* feat(utils): add CopyFile

* feat(server/config): add config struct

* feat(detector): add detector

* feat(scanner): delegate procedures to detector

* fix(scanner): fix the interface

* test(mock): add mocks

* test(rpc/server): add tests

* test(rpc/ospkg/server): add tests

* tets(os/detector): add tests

* refactor(library): move directories

* chore(dependency): add google/wire

* refactor(library): introduce google/wire

* refactor(ospkg/detector): move directory

* feat(rpc): add eosl

* refactor(ospkg): introduce google/wire

* refactor(wire): bind an interface

* refactor(client): use wire.Struct

* chore(Makefile): fix wire

* test(server): add AssertExpectations

* test(server): add AssertExpectations

* refactor(server): remove debug log

* refactor(error): add more context messages

* test(server): fix error message

* refactor(test): create a constructor of mock

* refactor(config): remove an unused variable

* test(config): add an assertion to test the config struct

* feat(client/server): add sub commands (#304)

* feat(rpc): add rpc server

* feat(utils): add CopyFile

* feat(server/config): add config struct

* feat(detector): add detector

* feat(scanner): delegate procedures to detector

* fix(scanner): fix the interface

* feat(client/server): add sub commands

* merge(server3)

* test(scan): remove an unused mock

* refactor(client): generate the constructor by wire

* fix(cli): change the default port

* fix(server): use auto-generated constructor

* feat(ospkg): return eosl

* test(integration): add integration tests for client/server (#306)

* fix(server): remove unnecessary options

* test(integration): add integration tests for client/server

* fix(server): wrap an error

* fix(server): change the update interval

* fix(server): display the error detail

* test(config): add an assertion to test the config struct

* fix(client): returns an error when failing to initizlie a logger

* test(ospkg/server): add eosl

* Squashed commit of the following:

* test(server): refactor and add tests (#307)

* test(github): create a mock

* test(db): create a mock

* test(server): add tests for DB hot update

* chore(db): add a log message

* refactor(db): introduce google/wire

* refactor(rpc): move directory

* refactor(injector): fix import name

* refactor(import): remove new lines

* fix(server): display the error detail

* fix(server): change the update interval

* fix(server): wrap an error

* test(integration): add integration tests for client/server

* fix(server): remove unnecessary options

* refactor(server): return an error when failing to initialize a logger

* refactor(server): remove unused error

* fix(client/server): fix default port

* chore(README): add client/server

* chore(README): update
2019-12-13 15:00:11 +02:00
jabielecki
1e9dcdb7d1 change mod genuinetools/reg to vanilla (#297)
Instead of using tomoyamachi's fork we can now use the vanilla upstream
package genuinetools/reg. This package gets better maintenance and is
the same as aquasecurity/fanal uses.

Signed-off-by: Jakub Bielecki <jakub.bielecki@codilime.com>
2019-11-28 09:20:57 +02:00
Teppei Fukuda
3a53a88139 refactor(app): use internal and separate configurations (#291)
* refactor(cmd): move app to internal

* refactor(config): inject logger

* test(config): add tests
2019-11-21 17:49:43 -08:00
Teppei Fukuda
6cbbb22ab4 fix(alpine): handle rc version (#289)
* fix(alpine): handle rc version

* chore(mod): update dependencies
2019-11-21 11:20:24 +02:00
Masahiro Fujimura
30c1a00225 Update readme (#287)
* Add oracle support for README

* Fix amazon linux target packages
2019-11-19 20:53:05 +02:00
Masahiro Fujimura
b345342369 Add oracle linux support (#286)
* Add oracle

* Add oracle

* Add golden json

* Add integration test

* Update go.{mod,sum}

* go mod tidy

* Use k8s/utils clock.Clock interface

* Fix Detect vulnerability oracle
2019-11-19 17:18:25 +02:00
Teppei Fukuda
15af65b9c5 feat(github): add GITHUB_TOKEN for rate limiting (#281) 2019-11-15 16:45:07 +02:00
Teppei Fukuda
c2fdfab3ed fix(lockfile): files under vendor dir (#279) 2019-11-15 16:03:15 +02:00
knqyf263
35a7d9bb15 chore(module): update dependencies 2019-11-01 22:19:54 +02:00
knqyf263
46c7ff7a83 test(db): add tests 2019-10-31 23:53:46 +02:00
Teppei Fukuda
20babc46a1 Bump Go 1.13 (#218) 2019-10-23 17:00:03 +03:00
Teppei Fukuda
ff873a274b Support Amazon Linux (#182)
* Support Amazon Linux

* amazon: Add tests for Scanner Detect functionality

* amazon: Add more test cases for unhappy paths.

This commit also asserts the logged output via observer.

Signed-off-by: Simarpreet Singh <simar@linux.com>

* amazon: Add a test case for invalid fixed pkg version

Signed-off-by: Simarpreet Singh <simar@linux.com>

* mod: go mod tidy

Signed-off-by: Simarpreet Singh <simar@linux.com>

* amazon: Inject dependency seams for exposed db interface and logger.

This commit also exposes an interface for doing db operations.

Signed-off-by: Simarpreet Singh <simar@linux.com>

* amazon: Use injected logger for scanner.

Signed-off-by: Simarpreet Singh <simar@linux.com>

* amazon_test: Add a sample testdata dir

Signed-off-by: Simarpreet Singh <simar@linux.com>

* amazon: Add tests for for Get() for amazon vulns.

Signed-off-by: Simarpreet Singh <simar@linux.com>

* vulnsrc_test: Fix invocation call to SetVersion()

Signed-off-by: Simarpreet Singh <simar@linux.com>

* amazon_test: Add a test for severirtyFromPriority

Signed-off-by: Simarpreet Singh <simar@linux.com>

* amazon_test: Add tests for constructVersion()

Signed-off-by: Simarpreet Singh <simar@linux.com>

* amazon: Refactor walkFunc outside for testability purposes

Signed-off-by: Simarpreet Singh <simar@linux.com>

* amazon: Refactor walkFn and add tests for it.

Signed-off-by: Simarpreet Singh <simar@linux.com>

* amazon: Refactor commitFunc closure and add tests

This commit also introduces an interface for the
vulnerability package to be used as a seam.

Signed-off-by: Simarpreet Singh <simar@linux.com>

* Revert "amazon: Use injected logger for scanner."

This reverts commit 5a81e4d824a95f4de4aae2e2b903eedd0f7e241f.

* test(amazon): fix failed tests

* fix(vulnerability): trim references

* test(amazon): add integration test
2019-10-22 09:31:15 +03:00
Teppei Fukuda
f8509846cf test(integration): add integration tests (#201)
* divide into NewApp function

* sort scan results for idempotency

* chore(integration): add integration tests

* tar_input_test: strengthen assertions

Signed-off-by: Simarpreet Singh <simar@linux.com>

* writer_test: Add a happy path for TestReportWriter

Signed-off-by: Simarpreet Singh <simar@linux.com>

* writer_test: switch to table test cases

Signed-off-by: Simarpreet Singh <simar@linux.com>

* writer_test: Add more scenarios for TestReportWriter_Table

Signed-off-by: Simarpreet Singh <simar@linux.com>

* writer: Change back to []Results and add happy path for JSON writer

Signed-off-by: Simarpreet Singh <simar@linux.com>

* writer_test: Switch to a table driven format

Signed-off-by: Simarpreet Singh <simar@linux.com>

* writer_test: cleanup

Signed-off-by: Simarpreet Singh <simar@linux.com>

* scan: Go back to report.Result by value

Signed-off-by: Simarpreet Singh <simar@linux.com>

* Revert "scan: Go back to report.Result by value"

This reverts commit 03b6f7abd7d0d22d87c825d0ef3759cca200b9fc.

* switch back to by value for results

Signed-off-by: Simarpreet Singh <simar@linux.com>

* writer_test: document a behavior with template inputs

Signed-off-by: Simarpreet Singh <simar@linux.com>

* vulnerability: Add a failing test to show unexpected sorting behavior.

Signed-off-by: Simarpreet Singh <simar@linux.com>

* report: Simplify []*Result to []Result.

Signed-off-by: Simarpreet Singh <simar@linux.com>

* test(template): add happy path

* test(vulnerability): fix expected values

* tar_input_test: Move gunzipDB

Signed-off-by: Simarpreet Singh <simar@linux.com>
2019-10-18 13:58:27 -07:00
Teppei Fukuda
0fff415c2a Support Kaniko (#171) 2019-10-02 08:49:30 +03:00
Teppei Fukuda
987538fc49 Display an error message when rpm not found (#167) 2019-09-26 14:31:15 +03:00
Teppei Fukuda
2642020398 Support distroless and ignore lock files under vendor dir (#166) 2019-09-25 16:40:24 +03:00
Teppei Fukuda
43568ccd69 Update xerrors version (#158) 2019-09-24 21:26:22 +03:00
knqyf263
a843682f7c Transfer repositoriy 2019-08-18 22:22:54 -10:00
Teppei Fukuda
9a9cb016fa Add tests to utils (#116) 2019-08-16 15:31:41 -10:00
Tomoya Amachi
75b944ff50 update go.mod (#86) 2019-07-07 14:24:01 +09:00
knqyf263
a8f7ecefae Update dependencies 2019-06-07 23:46:55 +09:00
Tomoya Amachi
6fa78df282 auth for private docker registry from ENV vars (#52)
* auth for private docker registry from env vars

* fix typo

* delete GCP and AWS ENV vars

* update TOC

* fix typo
2019-05-24 13:26:41 +09:00
Masahiro
76ee7291d6 Support Poetry (#49)
* Support Poetry

* Fix conflict

* Tidy go.sum
2019-05-22 08:40:10 +09:00
Tomoya Amachi
8d7c2e6d2a Fix yarn parser (#47)
* update go-dep-parser for yarn bugfix

* fixbug: yarn.lock parse error

* enhanced error messages : detect amazon linux and opensuse
2019-05-22 00:50:53 +09:00
Naoki Harima
e85e961af6 Update fanal version (#15)
* Update fanal version

* Update fanal version

* do go mod tidy
2019-05-17 19:00:22 +09:00
Tomoya Amachi
4d20d3f543 check yarn.lock in node scanner (#7)
* check yarn.lock in node scanner

* update README and go tidy
2019-05-16 11:14:10 +09:00
knqyf263
17b5a60247 Use src package 2019-05-14 16:44:23 +09:00
knqyf263
9006dd5d16 Update dependencies 2019-05-13 15:16:47 +09:00
knqyf263
6284def316 Aanalyze commands 2019-05-13 04:11:34 +09:00
Masahiro
0c11078302 Add Cargo scanner (#5) 2019-05-12 23:08:02 +09:00
knqyf263
abeeb37e75 Clear cache 2019-05-07 21:34:00 +09:00
Teppei Fukuda
1291b9a194 Display advisory information (#2)
* Use fork tablewriter

* Display advisory information

* Update README
2019-05-07 20:46:11 +09:00
Teppei Fukuda
84fec5ae12 Initial commit (#1)
* initial
2019-05-07 15:41:03 +09:00