├── .github └── workflows │ ├── gosec.yml │ ├── publish.yml │ ├── test.yml │ └── trivy.yml ├── .gitignore ├── CLAUDE.md ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── go.mod ├── go.sum ├── main.go └── pkg ├── controller ├── cli │ ├── cli.go │ ├── config │ │ ├── bq.go │ │ ├── cs.go │ │ ├── github_app.go │ │ ├── policy.go │ │ └── sentry.go │ ├── insert.go │ └── serve │ │ └── serve.go └── server │ ├── github.go │ ├── github_test.go │ ├── middleware.go │ ├── server.go │ └── testdata │ └── github │ ├── pull_request.opened.json │ ├── pull_request.synchronize-draft.json │ ├── pull_request.synchronize.json │ ├── push.default.json │ └── push.json ├── domain ├── interfaces │ ├── infra.go │ └── usecase.go ├── logic │ ├── diff.go │ ├── diff_test.go │ ├── filter.go │ └── filter_test.go ├── mock │ ├── cloud_storage.go │ ├── infra.go │ └── usecase.go ├── model │ ├── bigquery.go │ ├── config.go │ ├── config_test.go │ ├── github.go │ ├── github_test.go │ ├── result.go │ ├── schema │ │ └── ignore.cue │ ├── testdata │ │ └── config │ │ │ └── ignore.cue │ ├── trivy │ │ ├── detected_license.go │ │ ├── image.go │ │ ├── misconfiguration.go │ │ ├── report.go │ │ ├── secret_finding.go │ │ └── vulnerability.go │ └── usecase.go └── types │ ├── const.go │ ├── error.go │ ├── github.go │ └── types.go ├── infra ├── bq │ ├── client.go │ ├── client_test.go │ ├── data.json │ └── testdata │ │ └── data.json ├── clients.go ├── cs │ ├── client.go │ └── client_test.go ├── gh │ ├── client.go │ ├── client_test.go │ ├── comments.json │ └── queries │ │ ├── list_comments.graphql │ │ └── minimize_comment.graphql └── trivy │ ├── client.go │ └── client_test.go ├── usecase ├── comment_githug_pr.go ├── comment_githug_pr_test.go ├── export_test.go ├── insert_scan_result.go ├── scan_github_repo.go ├── scan_github_repo_test.go ├── templates │ └── comment_body.md ├── testdata │ ├── octovy-test-code-main.zip │ └── trivy-result.json └── usecase.go └── utils ├── context.go ├── error.go ├── hash.go ├── hash_test.go ├── logger.go ├── safe.go └── test.go /.github/workflows/gosec.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/.github/workflows/gosec.yml -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/.github/workflows/publish.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.github/workflows/trivy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/.github/workflows/trivy.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/.gitignore -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/CLAUDE.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/README.md -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/go.sum -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/main.go -------------------------------------------------------------------------------- /pkg/controller/cli/cli.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/cli/cli.go -------------------------------------------------------------------------------- /pkg/controller/cli/config/bq.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/cli/config/bq.go -------------------------------------------------------------------------------- /pkg/controller/cli/config/cs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/cli/config/cs.go -------------------------------------------------------------------------------- /pkg/controller/cli/config/github_app.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/cli/config/github_app.go -------------------------------------------------------------------------------- /pkg/controller/cli/config/policy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/cli/config/policy.go -------------------------------------------------------------------------------- /pkg/controller/cli/config/sentry.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/cli/config/sentry.go -------------------------------------------------------------------------------- /pkg/controller/cli/insert.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/cli/insert.go -------------------------------------------------------------------------------- /pkg/controller/cli/serve/serve.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/cli/serve/serve.go -------------------------------------------------------------------------------- /pkg/controller/server/github.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/server/github.go -------------------------------------------------------------------------------- /pkg/controller/server/github_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/server/github_test.go -------------------------------------------------------------------------------- /pkg/controller/server/middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/server/middleware.go -------------------------------------------------------------------------------- /pkg/controller/server/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/server/server.go -------------------------------------------------------------------------------- /pkg/controller/server/testdata/github/pull_request.opened.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/server/testdata/github/pull_request.opened.json -------------------------------------------------------------------------------- /pkg/controller/server/testdata/github/pull_request.synchronize-draft.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/server/testdata/github/pull_request.synchronize-draft.json -------------------------------------------------------------------------------- /pkg/controller/server/testdata/github/pull_request.synchronize.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/server/testdata/github/pull_request.synchronize.json -------------------------------------------------------------------------------- /pkg/controller/server/testdata/github/push.default.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/server/testdata/github/push.default.json -------------------------------------------------------------------------------- /pkg/controller/server/testdata/github/push.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/controller/server/testdata/github/push.json -------------------------------------------------------------------------------- /pkg/domain/interfaces/infra.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/interfaces/infra.go -------------------------------------------------------------------------------- /pkg/domain/interfaces/usecase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/interfaces/usecase.go -------------------------------------------------------------------------------- /pkg/domain/logic/diff.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/logic/diff.go -------------------------------------------------------------------------------- /pkg/domain/logic/diff_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/logic/diff_test.go -------------------------------------------------------------------------------- /pkg/domain/logic/filter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/logic/filter.go -------------------------------------------------------------------------------- /pkg/domain/logic/filter_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/logic/filter_test.go -------------------------------------------------------------------------------- /pkg/domain/mock/cloud_storage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/mock/cloud_storage.go -------------------------------------------------------------------------------- /pkg/domain/mock/infra.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/mock/infra.go -------------------------------------------------------------------------------- /pkg/domain/mock/usecase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/mock/usecase.go -------------------------------------------------------------------------------- /pkg/domain/model/bigquery.go: -------------------------------------------------------------------------------- 1 | package model 2 | -------------------------------------------------------------------------------- /pkg/domain/model/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/model/config.go -------------------------------------------------------------------------------- /pkg/domain/model/config_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/model/config_test.go -------------------------------------------------------------------------------- /pkg/domain/model/github.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/model/github.go -------------------------------------------------------------------------------- /pkg/domain/model/github_test.go: -------------------------------------------------------------------------------- 1 | package model_test 2 | -------------------------------------------------------------------------------- /pkg/domain/model/result.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/model/result.go -------------------------------------------------------------------------------- /pkg/domain/model/schema/ignore.cue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/model/schema/ignore.cue -------------------------------------------------------------------------------- /pkg/domain/model/testdata/config/ignore.cue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/model/testdata/config/ignore.cue -------------------------------------------------------------------------------- /pkg/domain/model/trivy/detected_license.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/model/trivy/detected_license.go -------------------------------------------------------------------------------- /pkg/domain/model/trivy/image.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/model/trivy/image.go -------------------------------------------------------------------------------- /pkg/domain/model/trivy/misconfiguration.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/model/trivy/misconfiguration.go -------------------------------------------------------------------------------- /pkg/domain/model/trivy/report.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/model/trivy/report.go -------------------------------------------------------------------------------- /pkg/domain/model/trivy/secret_finding.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/model/trivy/secret_finding.go -------------------------------------------------------------------------------- /pkg/domain/model/trivy/vulnerability.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/model/trivy/vulnerability.go -------------------------------------------------------------------------------- /pkg/domain/model/usecase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/model/usecase.go -------------------------------------------------------------------------------- /pkg/domain/types/const.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | const ( 4 | GitHubCommentSignature = "" 5 | ) 6 | -------------------------------------------------------------------------------- /pkg/domain/types/error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/types/error.go -------------------------------------------------------------------------------- /pkg/domain/types/github.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/types/github.go -------------------------------------------------------------------------------- /pkg/domain/types/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/domain/types/types.go -------------------------------------------------------------------------------- /pkg/infra/bq/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/infra/bq/client.go -------------------------------------------------------------------------------- /pkg/infra/bq/client_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/infra/bq/client_test.go -------------------------------------------------------------------------------- /pkg/infra/bq/data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/infra/bq/data.json -------------------------------------------------------------------------------- /pkg/infra/bq/testdata/data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/infra/bq/testdata/data.json -------------------------------------------------------------------------------- /pkg/infra/clients.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/infra/clients.go -------------------------------------------------------------------------------- /pkg/infra/cs/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/infra/cs/client.go -------------------------------------------------------------------------------- /pkg/infra/cs/client_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/infra/cs/client_test.go -------------------------------------------------------------------------------- /pkg/infra/gh/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/infra/gh/client.go -------------------------------------------------------------------------------- /pkg/infra/gh/client_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/infra/gh/client_test.go -------------------------------------------------------------------------------- /pkg/infra/gh/comments.json: -------------------------------------------------------------------------------- 1 | null 2 | -------------------------------------------------------------------------------- /pkg/infra/gh/queries/list_comments.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/infra/gh/queries/list_comments.graphql -------------------------------------------------------------------------------- /pkg/infra/gh/queries/minimize_comment.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/infra/gh/queries/minimize_comment.graphql -------------------------------------------------------------------------------- /pkg/infra/trivy/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/infra/trivy/client.go -------------------------------------------------------------------------------- /pkg/infra/trivy/client_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/infra/trivy/client_test.go -------------------------------------------------------------------------------- /pkg/usecase/comment_githug_pr.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/usecase/comment_githug_pr.go -------------------------------------------------------------------------------- /pkg/usecase/comment_githug_pr_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/usecase/comment_githug_pr_test.go -------------------------------------------------------------------------------- /pkg/usecase/export_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/usecase/export_test.go -------------------------------------------------------------------------------- /pkg/usecase/insert_scan_result.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/usecase/insert_scan_result.go -------------------------------------------------------------------------------- /pkg/usecase/scan_github_repo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/usecase/scan_github_repo.go -------------------------------------------------------------------------------- /pkg/usecase/scan_github_repo_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/usecase/scan_github_repo_test.go -------------------------------------------------------------------------------- /pkg/usecase/templates/comment_body.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/usecase/templates/comment_body.md -------------------------------------------------------------------------------- /pkg/usecase/testdata/octovy-test-code-main.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/usecase/testdata/octovy-test-code-main.zip -------------------------------------------------------------------------------- /pkg/usecase/testdata/trivy-result.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/usecase/testdata/trivy-result.json -------------------------------------------------------------------------------- /pkg/usecase/usecase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/usecase/usecase.go -------------------------------------------------------------------------------- /pkg/utils/context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/utils/context.go -------------------------------------------------------------------------------- /pkg/utils/error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/utils/error.go -------------------------------------------------------------------------------- /pkg/utils/hash.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/utils/hash.go -------------------------------------------------------------------------------- /pkg/utils/hash_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/utils/hash_test.go -------------------------------------------------------------------------------- /pkg/utils/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/utils/logger.go -------------------------------------------------------------------------------- /pkg/utils/safe.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/utils/safe.go -------------------------------------------------------------------------------- /pkg/utils/test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secmon-lab/octovy/HEAD/pkg/utils/test.go --------------------------------------------------------------------------------