diff --git a/.github/settings.yml b/.github/settings.yml
index 4921f0d7d..fd36baee7 100644
--- a/.github/settings.yml
+++ b/.github/settings.yml
@@ -4,13 +4,13 @@ repository:
# See https://docs.github.com/en/rest/reference/repos#update-a-repository for all available settings.
# The name of the repository. Changing this will rename the repository
- name: 'dracon'
+ name: 'smithy'
# A short description of the repository that will show up on GitHub
- description: 'Security scanning & static analysis tool - forked and rewritten from @thought-machine/dracon'
+ description: 'Security scanning & static analysis tool - forked and rewritten from @thought-machine/smithy'
# A URL with more information about the repository
- homepage: 'https://ocurity.com'
+ homepage: 'https://smithy.security/'
# A comma-separated list of topics to set on the repository
topics: 'SAST, DAST, DevSecOps, Pipelines, Tekton'
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 76a26f93f..8f216b5e9 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -28,26 +28,26 @@ jobs:
- name: Publish Docker images
run: |
make -j 16 publish-containers
- make draconctl-image-publish DRACON_VERSION=latest
+ make smithyctl-image-publish SMITHY_VERSION=latest
- name: Publish component Helm package
run: |
set -e
- DRACON_VERSION_SEMVER=$(sed 's/v//' <<< ${{ github.ref_name }})
+ SMITHY_VERSION_SEMVER=$(sed 's/v//' <<< ${{ github.ref_name }})
# Package and Publish Migrations
# this must be the first step, because the migrations are a dependency of the components
# it is not set explicitly yet as a dependency, but it will be set soon
helm package --dependency-update \
--app-version ${{ github.ref_name }} \
- --version ${DRACON_VERSION_SEMVER} \
+ --version ${SMITHY_VERSION_SEMVER} \
./deploy/deduplication-db-migrations/chart
- helm push deduplication-db-migrations-${DRACON_VERSION_SEMVER}.tgz oci://ghcr.io/ocurity/dracon/charts
+ helm push deduplication-db-migrations-${SMITHY_VERSION_SEMVER}.tgz oci://ghcr.io/smithy-security/smithy/charts
- make cmd/draconctl/bin
+ make cmd/smithyctl/bin
# Package and Publish Components
- bin/cmd/linux/amd64/draconctl components package --version ${{ github.ref_name }} \
- --chart-version ${DRACON_VERSION_SEMVER} \
- --name dracon-oss-components \
+ bin/cmd/linux/amd64/smithyctl components package --version ${{ github.ref_name }} \
+ --chart-version ${SMITHY_VERSION_SEMVER} \
+ --name smithy-security-oss-components \
./components
- helm push dracon-oss-components-${DRACON_VERSION_SEMVER}.tgz oci://ghcr.io/ocurity/dracon/charts
+ helm push smithy-security-oss-components-${SMITHY_VERSION_SEMVER}.tgz oci://ghcr.io/smithy-security/smithy/charts
diff --git a/.gitignore b/.gitignore
index 970f4e7fe..a4204f449 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,5 +6,5 @@ bin
.custom_image
tests/output
.vscode/
-deploy/dracon/chart/charts
+deploy/smithy/chart/charts
.idea/
diff --git a/.reviewdog.yml b/.reviewdog.yml
index f109995f7..54a548c09 100644
--- a/.reviewdog.yml
+++ b/.reviewdog.yml
@@ -1,11 +1,11 @@
---
runner:
go/vet:
- cmd: go vet $(go list ./... | grep -v /vendor/ | grep -v github.com/ocurity/dracon/api/proto/)
+ cmd: go vet $(go list ./... | grep -v /vendor/ | grep -v github.com/smithy-security/smithy/api/proto/)
format: govet
go/staticcheck:
- cmd: staticcheck -checks "all,-SA1019,-ST1000" $(go list ./... | grep -v /vendor/ | grep -v github.com/ocurity/dracon/api/proto)
+ cmd: staticcheck -checks "all,-SA1019,-ST1000" $(go list ./... | grep -v /vendor/ | grep -v github.com/smithy-security/smithy/api/proto)
format: staticcheck
go/revive:
@@ -14,22 +14,22 @@ runner:
- '%f:%l:%c: %m'
go/containedctx:
- cmd: go vet -vettool=$(which containedctx) $(go list ./... | grep -v /vendor/ | grep -v github.com/ocurity/dracon/api/proto)
+ cmd: go vet -vettool=$(which containedctx) $(go list ./... | grep -v /vendor/ | grep -v github.com/smithy-security/smithy/api/proto)
errorformat:
- '%f:%l:%c: %m'
go/ineffassign:
- cmd: ineffassign $(go list ./... | grep -v /vendor/ | grep -v github.com/ocurity/dracon/api/proto)
+ cmd: ineffassign $(go list ./... | grep -v /vendor/ | grep -v github.com/smithy-security/smithy/api/proto)
errorformat:
- '%f:%l:%c: %m'
go/errorlint:
- cmd: go-errorlint -errorf-multi -errorf -test $(go list ./... | grep -v /vendor/ | grep -v github.com/ocurity/dracon/api/proto)
+ cmd: go-errorlint -errorf-multi -errorf -test $(go list ./... | grep -v /vendor/ | grep -v github.com/smithy-security/smithy/api/proto)
errorformat:
- '%f:%l:%c: %m'
go/errcheck:
- cmd: errcheck -asserts -blank $(go list ./... | grep -v /vendor/ | grep -v github.com/ocurity/dracon/api/proto)
+ cmd: errcheck -asserts -blank $(go list ./... | grep -v /vendor/ | grep -v github.com/smithy-security/smithy/api/proto)
errorformat:
- '%f:%l:%c:%m'
diff --git a/Makefile b/Makefile
index cc7875e5b..cb8dcb8e7 100644
--- a/Makefile
+++ b/Makefile
@@ -13,12 +13,12 @@ GO_TEST_PACKAGES=$(shell go list ./... | grep -v /vendor/)
# Deployment vars
# The following variables are used to define the deployment environment
# e.g. what are the versions of the components, or the container registry, these are used by make targets that deploy things
-CONTAINER_REPO=ghcr.io/ocurity/dracon
-SOURCE_CODE_REPO=https://github.com/ocurity/dracon
-DRACON_DEV_VERSION=$(shell echo $(latest_tag)$$([ $(commits_since_latest_tag) -eq 0 ] || echo "-$$(git log -n 1 --pretty='format:%h')" )$$([ -z "$$(git status --porcelain=v1 2>/dev/null)" ] || echo "-dirty" ))
-DRACON_VERSION=$(shell (echo $(CONTAINER_REPO) | grep -q '^ghcr' && echo $(latest_tag)) || echo $(DRACON_DEV_VERSION) )
-DRACON_OSS_COMPONENTS_NAME=dracon-oss-components
-DRACON_OSS_COMPONENTS_PACKAGE_URL=oci://ghcr.io/ocurity/dracon/charts/$(DRACON_OSS_COMPONENTS_NAME)
+CONTAINER_REPO=ghcr.io/smithy-security/smithy
+SOURCE_CODE_REPO=https://github.com/smithy-security/smithy
+SMITHY_DEV_VERSION=$(shell echo $(latest_tag)$$([ $(commits_since_latest_tag) -eq 0 ] || echo "-$$(git log -n 1 --pretty='format:%h')" )$$([ -z "$$(git status --porcelain=v1 2>/dev/null)" ] || echo "-dirty" ))
+SMITHY_VERSION=$(shell (echo $(CONTAINER_REPO) | grep -q '^ghcr' && echo $(latest_tag)) || echo $(SMITHY_DEV_VERSION) )
+SMITHY_OSS_COMPONENTS_NAME=smithy-security-oss-components
+SMITHY_OSS_COMPONENTS_PACKAGE_URL=oci://ghcr.io/smithy-security/smithy/charts/$(SMITHY_OSS_COMPONENTS_NAME)
TEKTON_VERSION=0.44.0
TEKTON_DASHBOARD_VERSION=0.29.2
@@ -31,7 +31,7 @@ ES_OPERATOR_VERSION=2.2.0
ES_VERSION=8.3.2
MONGODB_VERSION=13.3.0
PG_VERSION=11.9.8
-DRACON_NS=dracon
+SMITHY_NS=smithy
TEKTON_NS=tekton-pipelines
ARANGODB_NS=arangodb
@@ -44,7 +44,7 @@ export
########################################
############# BUILD TARGETS ############
########################################
-.PHONY: components component-binaries cmd/draconctl/bin protos build publish-component-containers publish-containers draconctl-image draconctl-image-publish clean-protos clean
+.PHONY: components component-binaries cmd/smithyctl/bin protos build publish-component-containers publish-containers smithyctl-image smithyctl-image-publish clean-protos clean
$(component_binaries):
./scripts/build_component_binary.sh $@
@@ -58,23 +58,23 @@ $(component_containers): %/docker: %/bin
components: $(component_containers)
-cmd/draconctl/bin:
+cmd/smithyctl/bin:
$(eval GOOS:=linux)
$(eval GOARCH:=amd64)
- CGO_ENABLED=0 GOOS=$(GOOS) GOARCH=$(GOARCH) go build -o bin/cmd/$(GOOS)/$(GOARCH)/draconctl cmd/draconctl/main.go
+ CGO_ENABLED=0 GOOS=$(GOOS) GOARCH=$(GOARCH) go build -o bin/cmd/$(GOOS)/$(GOARCH)/smithyctl cmd/smithyctl/main.go
-draconctl-image: cmd/draconctl/bin
+smithyctl-image: cmd/smithyctl/bin
$(eval GOOS:=linux)
$(eval GOARCH:=amd64)
- $(DOCKER) build -t "${CONTAINER_REPO}/draconctl:${DRACON_VERSION}" \
+ $(DOCKER) build -t "${CONTAINER_REPO}/smithyctl:${SMITHY_VERSION}" \
--build-arg GOOS=$(GOOS) \
--build-arg GOARCH=$(GOARCH) \
$$([ "${SOURCE_CODE_REPO}" != "" ] && echo "--label=org.opencontainers.image.source=${SOURCE_CODE_REPO}" ) \
- -f containers/Dockerfile.draconctl . \
+ -f containers/Dockerfile.smithyctl . \
--platform "$(GOOS)/$(GOARCH)"
-draconctl-image-publish: draconctl-image
- $(DOCKER) push "${CONTAINER_REPO}/draconctl:${DRACON_VERSION}"
+smithyctl-image-publish: smithyctl-image
+ $(DOCKER) push "${CONTAINER_REPO}/smithyctl:${SMITHY_VERSION}"
third_party/tektoncd/swagger-v$(TEKTON_VERSION).json:
@wget "https://raw.githubusercontent.com/tektoncd/pipeline/v$(TEKTON_VERSION)/pkg/apis/pipeline/v1beta1/swagger.json" -O $@
@@ -95,7 +95,7 @@ $(component_containers_publish): %/publish: %/docker
publish-component-containers: $(component_containers_publish)
-publish-containers: publish-component-containers draconctl-image-publish
+publish-containers: publish-component-containers smithyctl-image-publish
clean-protos:
@find . -not -path './vendor/*' -name '*.pb.go' -delete
@@ -135,7 +135,7 @@ go-tests:
go-cover: go-tests
@go tool cover -html=tests/output/cover.out -o=tests/output/cover.html && open tests/output/cover.html
-migration-tests: cmd/draconctl/bin
+migration-tests: cmd/smithyctl/bin
cd tests/migrations/ && docker compose up --abort-on-container-exit --build --exit-code-from tester
test: go-tests migration-tests
@@ -169,7 +169,7 @@ print-%:
########## DEPLOYMENT TARGETS ##########
########################################
.PHONY: deploy-nginx deploy-arangodb-crds deploy-arangodb-operator add-es-helm-repo deploy-elasticoperator \
- tektoncd-dashboard-helm deploy-tektoncd-dashboard add-bitnami-repo dev-dracon dev-deploy dev-teardown \
+ tektoncd-dashboard-helm deploy-tektoncd-dashboard add-bitnami-repo dev-smithy dev-deploy dev-teardown \
install install-oss-components deploy-cluster
deploy-nginx:
@@ -229,16 +229,16 @@ deploy-cluster:
install: deploy-cluster dev-infra deploy-elasticoperator deploy-arangodb-crds add-bitnami-repo
@echo "fetching dependencies if needed"
- @helm dependency build ./deploy/dracon/chart
+ @helm dependency build ./deploy/smithy/chart
- @echo "deploying dracon"
- @helm upgrade dracon ./deploy/dracon/chart \
+ @echo "deploying smithy"
+ @helm upgrade smithy ./deploy/smithy/chart \
--install \
- --values ./deploy/dracon/values/dev.yaml \
+ --values ./deploy/smithy/values/dev.yaml \
--create-namespace \
--set "image.registry=$(CONTAINER_REPO)" \
- --namespace $(DRACON_NS) \
- --version $(DRACON_VERSION) \
+ --namespace $(SMITHY_NS) \
+ --version $(SMITHY_VERSION) \
--wait
@echo "Applying migrations"
@@ -247,69 +247,69 @@ install: deploy-cluster dev-infra deploy-elasticoperator deploy-arangodb-crds ad
--values ./deploy/deduplication-db-migrations/values/dev.yaml \
--create-namespace \
--set "image.registry=$(CONTAINER_REPO)" \
- --namespace $(DRACON_NS) \
- --set "image.tag=$(DRACON_VERSION)" \
+ --namespace $(SMITHY_NS) \
+ --set "image.tag=$(SMITHY_VERSION)" \
--wait
@echo "Installing Components"
# we are setting the container repo to it's own value so that we can override it from other make targets
# e.g. when installing oss components from locally built components, we want to `make install` with CONTAINER_REPO being the kind-registry, and the package_url being the component tar.gz
- $(MAKE) install-oss-components CONTAINER_REPO=$(CONTAINER_REPO) DRACON_OSS_COMPONENTS_PACKAGE_URL=$(DRACON_OSS_COMPONENTS_PACKAGE_URL)
+ $(MAKE) install-oss-components CONTAINER_REPO=$(CONTAINER_REPO) SMITHY_OSS_COMPONENTS_PACKAGE_URL=$(SMITHY_OSS_COMPONENTS_PACKAGE_URL)
dev-deploy-oss-components:
- @echo "Deploying components in local dracon instance"
+ @echo "Deploying components in local smithy instance"
$(MAKE) dev-build-oss-components CONTAINER_REPO=$(CONTAINER_REPO)
- $(MAKE) install-oss-components CONTAINER_REPO=$(CONTAINER_REPO) DRACON_OSS_COMPONENTS_PACKAGE_URL=$(DRACON_OSS_COMPONENTS_PACKAGE_URL)
+ $(MAKE) install-oss-components CONTAINER_REPO=$(CONTAINER_REPO) SMITHY_OSS_COMPONENTS_PACKAGE_URL=$(SMITHY_OSS_COMPONENTS_PACKAGE_URL)
install-oss-components:
- @helm upgrade $(DRACON_OSS_COMPONENTS_NAME) \
- $(DRACON_OSS_COMPONENTS_PACKAGE_URL) \
+ @helm upgrade $(SMITHY_OSS_COMPONENTS_NAME) \
+ $(SMITHY_OSS_COMPONENTS_PACKAGE_URL) \
--install \
--create-namespace \
- --namespace $(DRACON_NS) \
+ --namespace $(SMITHY_NS) \
--set image.registry=$(CONTAINER_REPO) \
--values ./deploy/deduplication-db-migrations/values/dev.yaml
- @echo "Done! Bumped version to $(DRACON_VERSION)"
+ @echo "Done! Bumped version to $(SMITHY_VERSION)"
dev-build-oss-components:
- @echo "Building open-source components for local dracon instance..."
+ @echo "Building open-source components for local smithy instance..."
$(eval GOOS:=linux)
$(eval GOARCH:=amd64)
- $(eval CONTAINER_REPO:=localhost:5000/ocurity/dracon)
+ $(eval CONTAINER_REPO:=localhost:5000/smithy-security/smithy)
$(eval TMP_DIR:=tmp)
@mkdir $(TMP_DIR)
- $(MAKE) cmd/draconctl/bin
+ $(MAKE) cmd/smithyctl/bin
$(MAKE) -j 16 publish-component-containers CONTAINER_REPO=$(CONTAINER_REPO)
@docker run \
--platform $(GOOS)/$(GOARCH) \
-v ./components:/components \
-v ./tmp:/tmp \
- $(CONTAINER_REPO)/draconctl:$(DRACON_VERSION) components package \
- --version $(DRACON_VERSION) \
- --chart-version $(DRACON_VERSION) \
- --name $(DRACON_OSS_COMPONENTS_NAME) \
+ $(CONTAINER_REPO)/smithyctl:$(SMITHY_VERSION) components package \
+ --version $(SMITHY_VERSION) \
+ --chart-version $(SMITHY_VERSION) \
+ --name $(SMITHY_OSS_COMPONENTS_NAME) \
./components
@rm -r $(TMP_DIR)
-dev-dracon:
+dev-smithy:
$(eval GOOS:=linux)
$(eval GOARCH:=amd64)
- $(eval CONTAINER_REPO:=localhost:5000/ocurity/dracon)
- $(eval DRACON_OSS_COMPONENTS_PACKAGE_URL:=./$(DRACON_OSS_COMPONENTS_NAME)-$(DRACON_VERSION).tgz)
- $(eval IN_CLUSTER_CONTAINER_REPO:=kind-registry:5000/ocurity/dracon)
+ $(eval CONTAINER_REPO:=localhost:5000/smithy-security/smithy)
+ $(eval SMITHY_OSS_COMPONENTS_PACKAGE_URL:=./$(SMITHY_OSS_COMPONENTS_NAME)-$(SMITHY_VERSION).tgz)
+ $(eval IN_CLUSTER_CONTAINER_REPO:=kind-registry:5000/smithy-security/smithy)
- $(MAKE) -j 16 draconctl-image-publish CONTAINER_REPO=$(CONTAINER_REPO)
+ $(MAKE) -j 16 smithyctl-image-publish CONTAINER_REPO=$(CONTAINER_REPO)
$(MAKE) -j 16 dev-build-oss-components CONTAINER_REPO=$(CONTAINER_REPO)
- $(MAKE) install CONTAINER_REPO=$(IN_CLUSTER_CONTAINER_REPO) DRACON_OSS_COMPONENTS_PACKAGE_URL=$(DRACON_OSS_COMPONENTS_PACKAGE_URL)
+ $(MAKE) install CONTAINER_REPO=$(IN_CLUSTER_CONTAINER_REPO) SMITHY_OSS_COMPONENTS_PACKAGE_URL=$(SMITHY_OSS_COMPONENTS_PACKAGE_URL)
dev-infra: deploy-nginx deploy-tektoncd-pipeline deploy-tektoncd-dashboard
-dev-deploy: deploy-cluster dev-infra dev-dracon
+dev-deploy: deploy-cluster dev-infra dev-smithy
dev-teardown:
- @kind delete clusters dracon-demo
+ @kind delete clusters smithy-demo
build-buf-container:
$(DOCKER) build . -t $(BUF_CONTAINER) -f containers/Dockerfile.buf
diff --git a/README.md b/README.md
index 7bc67793d..76f90ebb2 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,18 @@
-# Dracon
+# Smithy
-[![Lint](https://github.com/ocurity/dracon/actions/workflows/lint.yml/badge.svg)](https://github.com/ocurity/dracon/actions/workflows/lint.yml)
-[![Format](https://github.com/ocurity/dracon/actions/workflows/format.yml/badge.svg)](https://github.com/ocurity/dracon/actions/workflows/format.yml)
-[![Test](https://github.com/ocurity/dracon/actions/workflows/test.yml/badge.svg)](https://github.com/ocurity/dracon/actions/workflows/test.yml)
-[![Publish](https://github.com/ocurity/dracon/actions/workflows/publish.yml/badge.svg)](https://github.com/ocurity/dracon/actions/workflows/publish.yml)
+[![Lint](https://github.com/smithy-security/smithy/actions/workflows/lint.yml/badge.svg)](https://github.com/smithy-security/smithy/actions/workflows/lint.yml)
+[![Format](https://github.com/smithy-security/smithy/actions/workflows/format.yml/badge.svg)](https://github.com/smithy-security/smithy/actions/workflows/format.yml)
+[![Test](https://github.com/smithy-security/smithy/actions/workflows/test.yml/badge.svg)](https://github.com/smithy-security/smithy/actions/workflows/test.yml)
+[![Publish](https://github.com/smithy-security/smithy/actions/workflows/publish.yml/badge.svg)](https://github.com/smithy-security/smithy/actions/workflows/publish.yml)
-
+
-
+
-By [Ocurity](https://ocurity.com)
+By [Smithy](https://smithy.security/)
Security scanning,results unification and enrichment tool
([ASOC](https://www.gartner.com/reviews/market/application-security-orchestration-and-correlation-asoc-tools))
@@ -66,13 +66,13 @@ flowchart LR
## Getting Started
The [Getting Started](docs/getting-started.md) tutorial explains
-how to get started with Dracon.
+how to get started with Smithy.
You can also access our community contributed pipelines
-[here](https://github.com/ocurity/dracon-community-pipelines).
+[here](https://github.com/smithy-security/smithy-community-pipelines).
## Announcements
-This version of Dracon was announced at OWASP Appsec Dublin in 2023. Check out
+This version of Smithy was announced at OWASP Appsec Dublin in 2023. Check out
[the slides](docs/presentations/Global_AppSecDublin_Presentation.pdf) and
[the video](https://www.youtube.com/watch?app=desktop\&list=PLpr-xdpM8wG8479ud_l4W93WU5MP2bg78\&v=i9j7n0WDBO0\&feature=youtu.be)
of the presentation.
@@ -80,7 +80,7 @@ of the presentation.
## Support
If you have questions, reach out to us by opening a new
-[issue](https://github.com/ocurity/dracon/issues/new) on GitHub.
+[issue](https://github.com/smithy-security/smithy/issues/new) on GitHub.
You can also get support on our [Discord server](https://discord.gg/xzsHxUxK).
@@ -91,5 +91,5 @@ and [releasing](docs/contributers/RELEASES.md) guides on how to get started.
## License
-Dracon is under the Apache 2.0 license. See the [LICENSE](LICENSE) file for
+Smithy is under the Apache 2.0 license. See the [LICENSE](LICENSE) file for
details.
diff --git a/api/proto/v1/engine.pb.go b/api/proto/v1/engine.pb.go
index 630bd36c3..236a76e83 100644
--- a/api/proto/v1/engine.pb.go
+++ b/api/proto/v1/engine.pb.go
@@ -225,53 +225,57 @@ var File_api_proto_v1_engine_proto protoreflect.FileDescriptor
var file_api_proto_v1_engine_proto_rawDesc = []byte{
0x0a, 0x19, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x65,
- 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x6f, 0x63, 0x75,
- 0x72, 0x69, 0x74, 0x79, 0x2e, 0x64, 0x72, 0x61, 0x63, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x1a, 0x18,
- 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x73, 0x73,
- 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
- 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf0, 0x01, 0x0a, 0x08, 0x53, 0x63,
- 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x75,
- 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x63, 0x61, 0x6e, 0x55,
- 0x75, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x0f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72,
- 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
- 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x73, 0x63, 0x61, 0x6e, 0x53, 0x74,
- 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x73, 0x63, 0x61, 0x6e, 0x5f,
- 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x63, 0x75,
- 0x72, 0x69, 0x74, 0x79, 0x2e, 0x64, 0x72, 0x61, 0x63, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53,
+ 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x73, 0x6d, 0x69,
+ 0x74, 0x68, 0x79, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x73, 0x6d, 0x69,
+ 0x74, 0x68, 0x79, 0x2e, 0x76, 0x31, 0x1a, 0x18, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xf8, 0x01, 0x0a, 0x08, 0x53, 0x63, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b,
+ 0x0a, 0x09, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x73, 0x63, 0x61, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x0f, 0x73,
+ 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
+ 0x52, 0x0d, 0x73, 0x63, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x4e, 0x0a, 0x09, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e, 0x73, 0x65, 0x63, 0x75,
+ 0x72, 0x69, 0x74, 0x79, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x53,
0x63, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x63, 0x61, 0x6e, 0x54, 0x61, 0x67, 0x73,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x63, 0x61, 0x6e, 0x54, 0x61, 0x67, 0x73, 0x1a,
0x3b, 0x0a, 0x0d, 0x53, 0x63, 0x61, 0x6e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbe, 0x01, 0x0a,
+ 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xce, 0x01, 0x0a,
0x12, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79,
- 0x2e, 0x64, 0x72, 0x61, 0x63, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x61, 0x6e, 0x49,
- 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x73, 0x63, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a,
- 0x09, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x74, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x69, 0x73,
- 0x73, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, 0x63, 0x75,
- 0x72, 0x69, 0x74, 0x79, 0x2e, 0x64, 0x72, 0x61, 0x63, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49,
+ 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e,
+ 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e,
+ 0x76, 0x31, 0x2e, 0x53, 0x63, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x73, 0x63, 0x61,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x6f, 0x6c, 0x4e, 0x61,
+ 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e, 0x73, 0x65, 0x63, 0x75,
+ 0x72, 0x69, 0x74, 0x79, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x49,
0x73, 0x73, 0x75, 0x65, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
0x73, 0x63, 0x61, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0a, 0x73, 0x63, 0x61, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xa8, 0x01,
+ 0x09, 0x52, 0x0a, 0x73, 0x63, 0x61, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xb8, 0x01,
0x0a, 0x1a, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68,
- 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x10,
+ 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x10,
0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79,
- 0x2e, 0x64, 0x72, 0x61, 0x63, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63,
- 0x68, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0f, 0x6f,
- 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x38,
- 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20,
- 0x2e, 0x6f, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x64, 0x72, 0x61, 0x63, 0x6f, 0x6e, 0x2e,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e,
+ 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e,
+ 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e,
+ 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e,
0x76, 0x31, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65,
- 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x42, 0x28, 0x5a, 0x26, 0x67, 0x69, 0x74, 0x68,
- 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x64,
- 0x72, 0x61, 0x63, 0x6f, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
- 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68,
+ 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2d, 0x73, 0x65,
+ 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2f, 0x61, 0x70,
+ 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
}
var (
@@ -288,21 +292,21 @@ func file_api_proto_v1_engine_proto_rawDescGZIP() []byte {
var file_api_proto_v1_engine_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_api_proto_v1_engine_proto_goTypes = []any{
- (*ScanInfo)(nil), // 0: ocurity.dracon.v1.ScanInfo
- (*LaunchToolResponse)(nil), // 1: ocurity.dracon.v1.LaunchToolResponse
- (*EnrichedLaunchToolResponse)(nil), // 2: ocurity.dracon.v1.EnrichedLaunchToolResponse
- nil, // 3: ocurity.dracon.v1.ScanInfo.ScanTagsEntry
+ (*ScanInfo)(nil), // 0: smithy.security.smithy.v1.ScanInfo
+ (*LaunchToolResponse)(nil), // 1: smithy.security.smithy.v1.LaunchToolResponse
+ (*EnrichedLaunchToolResponse)(nil), // 2: smithy.security.smithy.v1.EnrichedLaunchToolResponse
+ nil, // 3: smithy.security.smithy.v1.ScanInfo.ScanTagsEntry
(*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp
- (*Issue)(nil), // 5: ocurity.dracon.v1.Issue
- (*EnrichedIssue)(nil), // 6: ocurity.dracon.v1.EnrichedIssue
+ (*Issue)(nil), // 5: smithy.security.smithy.v1.Issue
+ (*EnrichedIssue)(nil), // 6: smithy.security.smithy.v1.EnrichedIssue
}
var file_api_proto_v1_engine_proto_depIdxs = []int32{
- 4, // 0: ocurity.dracon.v1.ScanInfo.scan_start_time:type_name -> google.protobuf.Timestamp
- 3, // 1: ocurity.dracon.v1.ScanInfo.scan_tags:type_name -> ocurity.dracon.v1.ScanInfo.ScanTagsEntry
- 0, // 2: ocurity.dracon.v1.LaunchToolResponse.scan_info:type_name -> ocurity.dracon.v1.ScanInfo
- 5, // 3: ocurity.dracon.v1.LaunchToolResponse.issues:type_name -> ocurity.dracon.v1.Issue
- 1, // 4: ocurity.dracon.v1.EnrichedLaunchToolResponse.original_results:type_name -> ocurity.dracon.v1.LaunchToolResponse
- 6, // 5: ocurity.dracon.v1.EnrichedLaunchToolResponse.issues:type_name -> ocurity.dracon.v1.EnrichedIssue
+ 4, // 0: smithy.security.smithy.v1.ScanInfo.scan_start_time:type_name -> google.protobuf.Timestamp
+ 3, // 1: smithy.security.smithy.v1.ScanInfo.scan_tags:type_name -> smithy.security.smithy.v1.ScanInfo.ScanTagsEntry
+ 0, // 2: smithy.security.smithy.v1.LaunchToolResponse.scan_info:type_name -> smithy.security.smithy.v1.ScanInfo
+ 5, // 3: smithy.security.smithy.v1.LaunchToolResponse.issues:type_name -> smithy.security.smithy.v1.Issue
+ 1, // 4: smithy.security.smithy.v1.EnrichedLaunchToolResponse.original_results:type_name -> smithy.security.smithy.v1.LaunchToolResponse
+ 6, // 5: smithy.security.smithy.v1.EnrichedLaunchToolResponse.issues:type_name -> smithy.security.smithy.v1.EnrichedIssue
6, // [6:6] is the sub-list for method output_type
6, // [6:6] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name
diff --git a/api/proto/v1/engine.proto b/api/proto/v1/engine.proto
index c37bc94bd..5bf17785c 100644
--- a/api/proto/v1/engine.proto
+++ b/api/proto/v1/engine.proto
@@ -1,11 +1,11 @@
syntax = "proto3";
-package ocurity.dracon.v1;
+package smithy.security.smithy.v1;
import "api/proto/v1/issue.proto";
import "google/protobuf/timestamp.proto";
-option go_package = "github.com/ocurity/dracon/api/proto/v1";
+option go_package = "github.com/smithy-security/smithy/api/proto/v1";
/*
Scan related information, unique and immutable per scan run
@@ -29,7 +29,7 @@ message LaunchToolResponse {
// The name of the tool that ran the scan
string tool_name = 2;
// Issues discovered during the scan
- repeated dracon.v1.Issue issues = 3;
+ repeated smithy.v1.Issue issues = 3;
// The target of the scan
string scan_target = 4;
}
diff --git a/api/proto/v1/issue.pb.go b/api/proto/v1/issue.pb.go
index d0c9a99a1..0c1125d74 100644
--- a/api/proto/v1/issue.pb.go
+++ b/api/proto/v1/issue.pb.go
@@ -165,14 +165,14 @@ type Issue struct {
// The finding title from the tool
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
// A severity indication, defaults to unspecified
- Severity Severity `protobuf:"varint,4,opt,name=severity,proto3,enum=ocurity.dracon.v1.Severity" json:"severity,omitempty"`
+ Severity Severity `protobuf:"varint,4,opt,name=severity,proto3,enum=smithy.security.smithy.v1.Severity" json:"severity,omitempty"`
// An optional cvss if the tool reports it
Cvss float64 `protobuf:"fixed64,5,opt,name=cvss,proto3" json:"cvss,omitempty"`
// Confidence indication, defaults to Unspecified
- Confidence Confidence `protobuf:"varint,6,opt,name=confidence,proto3,enum=ocurity.dracon.v1.Confidence" json:"confidence,omitempty"`
+ Confidence Confidence `protobuf:"varint,6,opt,name=confidence,proto3,enum=smithy.security.smithy.v1.Confidence" json:"confidence,omitempty"`
// human readable description of the issue
Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"`
- // Source of the scan e.g. https://github.com/ocurity/dracon.git?ref=, github.com:tektoncd/pipeline.git?ref=, local?ref=local
+ // Source of the scan e.g. https://github.com/smithy-security/smithy.git?ref=, github.com:tektoncd/pipeline.git?ref=, local?ref=local
Source string `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"`
// [Optional] the CVE causing this vulnerability
Cve string `protobuf:"bytes,9,opt,name=cve,proto3" json:"cve,omitempty"`
@@ -412,43 +412,45 @@ var File_api_proto_v1_issue_proto protoreflect.FileDescriptor
var file_api_proto_v1_issue_proto_rawDesc = []byte{
0x0a, 0x18, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x69,
- 0x73, 0x73, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x6f, 0x63, 0x75, 0x72,
- 0x69, 0x74, 0x79, 0x2e, 0x64, 0x72, 0x61, 0x63, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74,
- 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2,
- 0x03, 0x0a, 0x05, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67,
- 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
- 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x73, 0x65,
- 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6f,
- 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x64, 0x72, 0x61, 0x63, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
+ 0x73, 0x73, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x73, 0x6d, 0x69, 0x74,
+ 0x68, 0x79, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x73, 0x6d, 0x69, 0x74,
+ 0x68, 0x79, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x03, 0x0a, 0x05, 0x49, 0x73, 0x73, 0x75, 0x65,
+ 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05,
+ 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74,
+ 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e, 0x73, 0x65,
+ 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e, 0x76, 0x31,
0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72,
0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x76, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
- 0x01, 0x52, 0x04, 0x63, 0x76, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6f, 0x63,
- 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x64, 0x72, 0x61, 0x63, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
- 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66,
- 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
- 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x12, 0x10, 0x0a, 0x03, 0x63, 0x76, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63,
- 0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x79, 0x63, 0x6c, 0x6f, 0x6e,
- 0x65, 0x5f, 0x64, 0x5f, 0x78, 0x5f, 0x73, 0x5f, 0x62, 0x5f, 0x6f, 0x5f, 0x6d, 0x18, 0x0b, 0x20,
- 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x79, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x44, 0x58,
- 0x53, 0x42, 0x4f, 0x4d, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65,
- 0x78, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09,
- 0x48, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65,
- 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x77, 0x65, 0x18, 0x0d, 0x20, 0x03,
- 0x28, 0x05, 0x52, 0x03, 0x63, 0x77, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x79, 0x63, 0x6c,
- 0x6f, 0x6e, 0x65, 0x5f, 0x64, 0x5f, 0x78, 0x5f, 0x73, 0x5f, 0x62, 0x5f, 0x6f, 0x5f, 0x6d, 0x42,
- 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d,
- 0x65, 0x6e, 0x74, 0x22, 0xa2, 0x03, 0x0a, 0x0d, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64,
- 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x72, 0x61, 0x77, 0x5f, 0x69, 0x73, 0x73,
- 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, 0x63, 0x75, 0x72, 0x69,
- 0x74, 0x79, 0x2e, 0x64, 0x72, 0x61, 0x63, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73,
+ 0x01, 0x52, 0x04, 0x63, 0x76, 0x73, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x6d,
+ 0x69, 0x74, 0x68, 0x79, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x73, 0x6d,
+ 0x69, 0x74, 0x68, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e,
+ 0x63, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x20,
+ 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x76, 0x65, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75,
+ 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x2f,
+ 0x0a, 0x13, 0x63, 0x79, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x64, 0x5f, 0x78, 0x5f, 0x73, 0x5f,
+ 0x62, 0x5f, 0x6f, 0x5f, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x63,
+ 0x79, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x44, 0x58, 0x53, 0x42, 0x4f, 0x4d, 0x88, 0x01, 0x01, 0x12,
+ 0x2c, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65,
+ 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74,
+ 0x65, 0x78, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x10, 0x0a,
+ 0x03, 0x63, 0x77, 0x65, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x03, 0x63, 0x77, 0x65, 0x42,
+ 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x64, 0x5f, 0x78, 0x5f,
+ 0x73, 0x5f, 0x62, 0x5f, 0x6f, 0x5f, 0x6d, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
+ 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xb2, 0x03, 0x0a, 0x0d,
+ 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x3d, 0x0a,
+ 0x09, 0x72, 0x61, 0x77, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x20, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69,
+ 0x74, 0x79, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73,
0x75, 0x65, 0x52, 0x08, 0x72, 0x61, 0x77, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x39, 0x0a, 0x0a,
0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
@@ -462,36 +464,37 @@ var file_api_proto_v1_issue_proto_rawDesc = []byte{
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68,
- 0x61, 0x73, 0x68, 0x12, 0x53, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x63, 0x75, 0x72, 0x69,
- 0x74, 0x79, 0x2e, 0x64, 0x72, 0x61, 0x63, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x72,
- 0x69, 0x63, 0x68, 0x65, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e,
- 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f,
- 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
- 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
- 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x96, 0x01, 0x0a, 0x0a, 0x43, 0x6f, 0x6e,
- 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x46, 0x49,
- 0x44, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
- 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x44, 0x45, 0x4e, 0x43,
- 0x45, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x46,
- 0x49, 0x44, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11,
- 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x44, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55,
- 0x4d, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x44, 0x45, 0x4e, 0x43,
- 0x45, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4e, 0x46,
- 0x49, 0x44, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10,
- 0x05, 0x2a, 0x88, 0x01, 0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18,
- 0x0a, 0x14, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
- 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x45, 0x56, 0x45,
- 0x52, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53,
- 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x13, 0x0a,
- 0x0f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d,
- 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x48,
- 0x49, 0x47, 0x48, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54,
- 0x59, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x05, 0x42, 0x28, 0x5a, 0x26,
- 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x63, 0x75, 0x72, 0x69,
- 0x74, 0x79, 0x2f, 0x64, 0x72, 0x61, 0x63, 0x6f, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72,
+ 0x61, 0x73, 0x68, 0x12, 0x5b, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68,
+ 0x79, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x73, 0x6d, 0x69, 0x74, 0x68,
+ 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x49, 0x73, 0x73,
+ 0x75, 0x65, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x2a, 0x96, 0x01, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12,
+ 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x44, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x55, 0x4e,
+ 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x43,
+ 0x4f, 0x4e, 0x46, 0x49, 0x44, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x01,
+ 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x44, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4c,
+ 0x4f, 0x57, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x44, 0x45, 0x4e,
+ 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x43,
+ 0x4f, 0x4e, 0x46, 0x49, 0x44, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04,
+ 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x44, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x43,
+ 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x05, 0x2a, 0x88, 0x01, 0x0a, 0x08, 0x53, 0x65,
+ 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49,
+ 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
+ 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x46,
+ 0x4f, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f,
+ 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54,
+ 0x59, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x45,
+ 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x12, 0x15, 0x0a,
+ 0x11, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43,
+ 0x41, 0x4c, 0x10, 0x05, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x2f, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69,
+ 0x74, 0x79, 0x2f, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
@@ -510,20 +513,20 @@ func file_api_proto_v1_issue_proto_rawDescGZIP() []byte {
var file_api_proto_v1_issue_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_api_proto_v1_issue_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_api_proto_v1_issue_proto_goTypes = []any{
- (Confidence)(0), // 0: ocurity.dracon.v1.Confidence
- (Severity)(0), // 1: ocurity.dracon.v1.Severity
- (*Issue)(nil), // 2: ocurity.dracon.v1.Issue
- (*EnrichedIssue)(nil), // 3: ocurity.dracon.v1.EnrichedIssue
- nil, // 4: ocurity.dracon.v1.EnrichedIssue.AnnotationsEntry
+ (Confidence)(0), // 0: smithy.security.smithy.v1.Confidence
+ (Severity)(0), // 1: smithy.security.smithy.v1.Severity
+ (*Issue)(nil), // 2: smithy.security.smithy.v1.Issue
+ (*EnrichedIssue)(nil), // 3: smithy.security.smithy.v1.EnrichedIssue
+ nil, // 4: smithy.security.smithy.v1.EnrichedIssue.AnnotationsEntry
(*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp
}
var file_api_proto_v1_issue_proto_depIdxs = []int32{
- 1, // 0: ocurity.dracon.v1.Issue.severity:type_name -> ocurity.dracon.v1.Severity
- 0, // 1: ocurity.dracon.v1.Issue.confidence:type_name -> ocurity.dracon.v1.Confidence
- 2, // 2: ocurity.dracon.v1.EnrichedIssue.raw_issue:type_name -> ocurity.dracon.v1.Issue
- 5, // 3: ocurity.dracon.v1.EnrichedIssue.first_seen:type_name -> google.protobuf.Timestamp
- 5, // 4: ocurity.dracon.v1.EnrichedIssue.updated_at:type_name -> google.protobuf.Timestamp
- 4, // 5: ocurity.dracon.v1.EnrichedIssue.annotations:type_name -> ocurity.dracon.v1.EnrichedIssue.AnnotationsEntry
+ 1, // 0: smithy.security.smithy.v1.Issue.severity:type_name -> smithy.security.smithy.v1.Severity
+ 0, // 1: smithy.security.smithy.v1.Issue.confidence:type_name -> smithy.security.smithy.v1.Confidence
+ 2, // 2: smithy.security.smithy.v1.EnrichedIssue.raw_issue:type_name -> smithy.security.smithy.v1.Issue
+ 5, // 3: smithy.security.smithy.v1.EnrichedIssue.first_seen:type_name -> google.protobuf.Timestamp
+ 5, // 4: smithy.security.smithy.v1.EnrichedIssue.updated_at:type_name -> google.protobuf.Timestamp
+ 4, // 5: smithy.security.smithy.v1.EnrichedIssue.annotations:type_name -> smithy.security.smithy.v1.EnrichedIssue.AnnotationsEntry
6, // [6:6] is the sub-list for method output_type
6, // [6:6] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name
diff --git a/api/proto/v1/issue.proto b/api/proto/v1/issue.proto
index 29a0694cd..c6f665000 100644
--- a/api/proto/v1/issue.proto
+++ b/api/proto/v1/issue.proto
@@ -1,10 +1,10 @@
syntax = "proto3";
-package ocurity.dracon.v1;
+package smithy.security.smithy.v1;
import "google/protobuf/timestamp.proto";
-option go_package = "github.com/ocurity/dracon/api/proto/v1";
+option go_package = "github.com/smithy-security/smithy/api/proto/v1";
/* Confidence represents the tool's confidence that an issue exists */
enum Confidence {
@@ -54,7 +54,7 @@ message Issue {
Confidence confidence = 6;
// human readable description of the issue
string description = 7;
- // Source of the scan e.g. https://github.com/ocurity/dracon.git?ref=, github.com:tektoncd/pipeline.git?ref=, local?ref=local
+ // Source of the scan e.g. https://github.com/smithy-security/smithy.git?ref=, github.com:tektoncd/pipeline.git?ref=, local?ref=local
string source = 8;
// [Optional] the CVE causing this vulnerability
string cve = 9;
diff --git a/assets/dracon-logo-dark.svg b/assets/smithy-logo-dark.svg
similarity index 99%
rename from assets/dracon-logo-dark.svg
rename to assets/smithy-logo-dark.svg
index 3483c8baf..d13a9fb20 100644
--- a/assets/dracon-logo-dark.svg
+++ b/assets/smithy-logo-dark.svg
@@ -8,7 +8,7 @@
version="1.1"
id="svg428"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
- sodipodi:docname="dracon-logo.svg"
+ sodipodi:docname="smithy-logo.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
diff --git a/assets/dracon-logo-light.svg b/assets/smithy-logo-light.svg
similarity index 99%
rename from assets/dracon-logo-light.svg
rename to assets/smithy-logo-light.svg
index 151bde668..34201a2a0 100644
--- a/assets/dracon-logo-light.svg
+++ b/assets/smithy-logo-light.svg
@@ -7,7 +7,7 @@
viewBox="0 0 82.073227 56.902706"
version="1.1"
id="svg428"
- sodipodi:docname="dracon-logo-white.svg"
+ sodipodi:docname="smithy-logo-white.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
diff --git a/cmd/draconctl/components/components.go b/cmd/smithyctl/components/components.go
similarity index 100%
rename from cmd/draconctl/components/components.go
rename to cmd/smithyctl/components/components.go
diff --git a/cmd/draconctl/components/package.go b/cmd/smithyctl/components/package.go
similarity index 95%
rename from cmd/draconctl/components/package.go
rename to cmd/smithyctl/components/package.go
index 9cb436d3b..7e5821947 100644
--- a/cmd/draconctl/components/package.go
+++ b/cmd/smithyctl/components/package.go
@@ -4,7 +4,7 @@ import (
"github.com/go-errors/errors"
"github.com/spf13/cobra"
- "github.com/ocurity/dracon/pkg/components"
+ "github.com/smithy-security/smithy/pkg/components"
)
var packageSubCmdFlags struct {
diff --git a/cmd/draconctl/main.go b/cmd/smithyctl/main.go
similarity index 84%
rename from cmd/draconctl/main.go
rename to cmd/smithyctl/main.go
index 87f23bafc..bec86103c 100644
--- a/cmd/draconctl/main.go
+++ b/cmd/smithyctl/main.go
@@ -12,15 +12,15 @@ import (
"github.com/spf13/pflag"
"github.com/spf13/viper"
- "github.com/ocurity/dracon/cmd/draconctl/components"
- "github.com/ocurity/dracon/cmd/draconctl/migrations"
- "github.com/ocurity/dracon/cmd/draconctl/pipelines"
+ "github.com/smithy-security/smithy/cmd/smithyctl/components"
+ "github.com/smithy-security/smithy/cmd/smithyctl/migrations"
+ "github.com/smithy-security/smithy/cmd/smithyctl/pipelines"
)
var (
rootCmd = &cobra.Command{
- Use: "draconctl",
- Short: "A CLI to manage all things related to Dracon",
+ Use: "smithyctl",
+ Short: "A CLI to manage all things related to Smithy",
PersistentPreRunE: func(cmd *cobra.Command, _ []string) error {
// You can bind cobra and viper in a few locations, but PersistencePreRunE on the root command works well
return initializeConfig(cmd)
@@ -54,12 +54,12 @@ func initializeConfig(cmd *cobra.Command) error {
// When we bind flags to environment variables expect that the
// environment variables are prefixed, e.g. a flag like --number
- // binds to an environment variable DRACONCTL_NUMBER. This helps
+ // binds to an environment variable SMITHYCTL_NUMBER. This helps
// avoid conflicts.
- v.SetEnvPrefix("draconctl")
+ v.SetEnvPrefix("smithyctl")
// Environment variables can't have dashes in them, so bind them to their equivalent
- // keys with underscores, e.g. --favorite-color to DRACONCTL_FAVORITE_COLOR
+ // keys with underscores, e.g. --favorite-color to SMITHYCTL_FAVORITE_COLOR
v.SetEnvKeyReplacer(strings.NewReplacer("-", "_"))
// Bind to environment variables
diff --git a/cmd/draconctl/migrations/apply.go b/cmd/smithyctl/migrations/apply.go
similarity index 84%
rename from cmd/draconctl/migrations/apply.go
rename to cmd/smithyctl/migrations/apply.go
index 4a4ed70e9..0c8132a7d 100644
--- a/cmd/draconctl/migrations/apply.go
+++ b/cmd/smithyctl/migrations/apply.go
@@ -9,7 +9,7 @@ import (
"github.com/golang-migrate/migrate/v4"
"github.com/spf13/cobra"
- "github.com/ocurity/dracon/pkg/db"
+ "github.com/smithy-security/smithy/pkg/db"
)
var applySubCmd = &cobra.Command{
@@ -19,15 +19,15 @@ var applySubCmd = &cobra.Command{
RunE: entrypointWrapper(applyMigrations),
Example: `1.Run the command as a K8s Job in your local dev environment:
-$ draconctl migrations apply --url "postgres://postgres:postgres@postgres.dracon.svc.cluster.local:5432/?sslmode=disable" \
+$ smithyctl migrations apply --url "postgres://postgres:postgres@postgres.smithy.svc.cluster.local:5432/?sslmode=disable" \
--as-k8s-job \
- --namespace dracon
+ --namespace smithy
If you can directly access the database then you can apply migrations as follows:
-$ draconctl migrations apply --url "postgres://postgres:postgres@localhost:5432/?sslmode=disable" --migrations-path ./pkg/enrichment
+$ smithyctl migrations apply --url "postgres://postgres:postgres@localhost:5432/?sslmode=disable" --migrations-path ./pkg/enrichment
or
-$ DRACONCTL_MIGRATIONS_PATH=./pkg/enrichment draconctl migrations apply --url "postgres://postgres:postgres@localhost:5432/?sslmode=disable"
+$ SMITHYCTL_MIGRATIONS_PATH=./pkg/enrichment smithyctl migrations apply --url "postgres://postgres:postgres@localhost:5432/?sslmode=disable"
`,
}
diff --git a/cmd/draconctl/migrations/inspect.go b/cmd/smithyctl/migrations/inspect.go
similarity index 98%
rename from cmd/draconctl/migrations/inspect.go
rename to cmd/smithyctl/migrations/inspect.go
index 1259dde32..c3b09b269 100644
--- a/cmd/draconctl/migrations/inspect.go
+++ b/cmd/smithyctl/migrations/inspect.go
@@ -11,7 +11,7 @@ import (
"github.com/olekukonko/tablewriter"
"github.com/spf13/cobra"
- "github.com/ocurity/dracon/pkg/db"
+ "github.com/smithy-security/smithy/pkg/db"
)
var inspectSubCmd = &cobra.Command{
diff --git a/cmd/draconctl/migrations/migrations.go b/cmd/smithyctl/migrations/migrations.go
similarity index 95%
rename from cmd/draconctl/migrations/migrations.go
rename to cmd/smithyctl/migrations/migrations.go
index dd5c04edf..562997be3 100644
--- a/cmd/draconctl/migrations/migrations.go
+++ b/cmd/smithyctl/migrations/migrations.go
@@ -24,8 +24,8 @@ import (
"k8s.io/client-go/tools/leaderelection"
"k8s.io/client-go/tools/leaderelection/resourcelock"
- "github.com/ocurity/dracon/pkg/k8s"
- "github.com/ocurity/dracon/pkg/manifests"
+ "github.com/smithy-security/smithy/pkg/k8s"
+ "github.com/smithy-security/smithy/pkg/manifests"
)
var migrationsCmdConfig = struct {
@@ -70,8 +70,8 @@ func init() {
migrationsCmd.PersistentFlags().StringVar(&migrationsAsK8sJobConfig.kubeConfig, "kubeconfig", "", "Path to kube config file")
migrationsCmd.PersistentFlags().StringVar(&migrationsAsK8sJobConfig.leaseLockName, "lease-lock", "migration-job-lock", "Name for the lease lock configmap to use")
migrationsCmd.PersistentFlags().StringVarP(&migrationsAsK8sJobConfig.namespace, "namespace", "n", "default", "Namespace where the migration job will be deployed")
- migrationsCmd.PersistentFlags().StringVarP(&migrationsAsK8sJobConfig.image, "image", "i", "", "Image to use containing draconctl binary to run command")
- migrationsCmd.PersistentFlags().StringVar(&migrationsAsK8sJobConfig.ssa, "ssa-name", "draconctl", "Name to use for server-side apply")
+ migrationsCmd.PersistentFlags().StringVarP(&migrationsAsK8sJobConfig.image, "image", "i", "", "Image to use containing smithyctl binary to run command")
+ migrationsCmd.PersistentFlags().StringVar(&migrationsAsK8sJobConfig.ssa, "ssa-name", "smithyctl", "Name to use for server-side apply")
// migrationsCmd.Flags().Bool("provide-password", false, "Provide the password via a console")
migrationsCmd.PersistentFlags().StringVar(&migrationsCmdConfig.migratiosnPath, "migrations-path", "", "path of where to find the migrations")
@@ -194,16 +194,16 @@ func grabLeaderLock(f cmdEntrypoint, cmd *cobra.Command, args []string, restCfg
// generateMigrationJob generates a Job manifest
func generateMigrationJob(cmdName string) *batchv1.Job {
if migrationsAsK8sJobConfig.image == "" {
- migrationsAsK8sJobConfig.image = "https://ghcr.io/ocurity/dracon/draconctl:latest"
+ migrationsAsK8sJobConfig.image = "https://ghcr.io/smithy-security/smithy/smithyctl:latest"
}
migrationJob := batchv1.Job{
ObjectMeta: metav1.ObjectMeta{
- Name: "dracon-migrations",
+ Name: "smithy-migrations",
Namespace: migrationsAsK8sJobConfig.namespace,
Labels: labels.Set{
- "v1.dracon.ocurity.com": "migrations",
- "generator": "draconctl",
+ "v1.smithy.smithy-security.com": "migrations",
+ "generator": "smithyctl",
},
},
Spec: batchv1.JobSpec{
@@ -212,13 +212,13 @@ func generateMigrationJob(cmdName string) *batchv1.Job {
Containers: []corev1.Container{
{
Env: getEnvVars(),
- Name: "dracon-migrations",
+ Name: "smithy-migrations",
Image: migrationsAsK8sJobConfig.image,
Args: getCleanedUpArgs(cmdName, os.Args[1:]),
},
},
RestartPolicy: corev1.RestartPolicyNever,
- ServiceAccountName: "dracon-migrations",
+ ServiceAccountName: "smithy-migrations",
},
},
},
@@ -230,7 +230,7 @@ func generateMigrationJob(cmdName string) *batchv1.Job {
func getEnvVars() []corev1.EnvVar {
res := []corev1.EnvVar{{Name: "", Value: ""}}
if migrationsCmdConfig.migratiosnPath != "" {
- res = []corev1.EnvVar{{Name: "DRACONCTL_MIGRATIONS_PATH", Value: migrationsCmdConfig.migratiosnPath}}
+ res = []corev1.EnvVar{{Name: "SMITHYCTL_MIGRATIONS_PATH", Value: migrationsCmdConfig.migratiosnPath}}
}
return res
}
@@ -309,7 +309,7 @@ func jobPodLogWatcher(ctx context.Context, client k8s.ClientInterface, namespace
var watcher watch.Interface
watcher, err = client.
BatchV1().
- Jobs("dracon").
+ Jobs("smithy").
Watch(ctx, metav1.ListOptions{
LabelSelector: metav1.FormatLabelSelector(deployedJob.Spec.Selector),
TimeoutSeconds: i64Ptr(120),
diff --git a/cmd/draconctl/migrations/revert.go b/cmd/smithyctl/migrations/revert.go
similarity index 97%
rename from cmd/draconctl/migrations/revert.go
rename to cmd/smithyctl/migrations/revert.go
index 397dc3695..d74ba1ac4 100644
--- a/cmd/draconctl/migrations/revert.go
+++ b/cmd/smithyctl/migrations/revert.go
@@ -9,7 +9,7 @@ import (
"github.com/golang-migrate/migrate/v4"
"github.com/spf13/cobra"
- "github.com/ocurity/dracon/pkg/db"
+ "github.com/smithy-security/smithy/pkg/db"
)
var revertCmdConfig = struct {
diff --git a/cmd/draconctl/pipelines/deploy.go b/cmd/smithyctl/pipelines/deploy.go
similarity index 91%
rename from cmd/draconctl/pipelines/deploy.go
rename to cmd/smithyctl/pipelines/deploy.go
index 2c8649972..c3e566192 100644
--- a/cmd/draconctl/pipelines/deploy.go
+++ b/cmd/smithyctl/pipelines/deploy.go
@@ -9,11 +9,11 @@ import (
"k8s.io/cli-runtime/pkg/genericclioptions"
kustomizetypes "sigs.k8s.io/kustomize/api/types"
- "github.com/ocurity/dracon/pkg/components"
- "github.com/ocurity/dracon/pkg/files"
- "github.com/ocurity/dracon/pkg/k8s"
- "github.com/ocurity/dracon/pkg/manifests"
- "github.com/ocurity/dracon/pkg/pipelines"
+ "github.com/smithy-security/smithy/pkg/components"
+ "github.com/smithy-security/smithy/pkg/files"
+ "github.com/smithy-security/smithy/pkg/k8s"
+ "github.com/smithy-security/smithy/pkg/manifests"
+ "github.com/smithy-security/smithy/pkg/pipelines"
)
var deploySubCmd = &cobra.Command{
@@ -34,7 +34,7 @@ var deploySubCmdFlags struct {
func init() {
deploySubCmd.Flags().BoolVar(&deploySubCmdFlags.dryRun, "dry-run", false, "If set, print the generated pipeline in the stdout")
- deploySubCmd.Flags().StringVar(&deploySubCmdFlags.ssa, "ssa", "draconctl", "Server-side apply ID")
+ deploySubCmd.Flags().StringVar(&deploySubCmdFlags.ssa, "ssa", "smithyctl", "Server-side apply ID")
deploySubCmdFlags.k8sConfigFlags = genericclioptions.NewConfigFlags(false)
deploySubCmdFlags.k8sConfigFlags.AddFlags(deploySubCmd.Flags())
@@ -94,7 +94,7 @@ func deployPipeline(cmd *cobra.Command, args []string) error {
}
if *deploySubCmdFlags.k8sConfigFlags.Namespace == "" {
- *deploySubCmdFlags.k8sConfigFlags.Namespace = "dracon"
+ *deploySubCmdFlags.k8sConfigFlags.Namespace = "smithy"
}
deploymentOrchestrator := pipelines.NewTektonV1Beta1Orchestrator(client, *deploySubCmdFlags.k8sConfigFlags.Namespace)
diff --git a/cmd/draconctl/pipelines/pipelines.go b/cmd/smithyctl/pipelines/pipelines.go
similarity index 100%
rename from cmd/draconctl/pipelines/pipelines.go
rename to cmd/smithyctl/pipelines/pipelines.go
diff --git a/components/base/pipeline.yaml b/components/base/pipeline.yaml
index deb3658db..11aaf68f6 100644
--- a/components/base/pipeline.yaml
+++ b/components/base/pipeline.yaml
@@ -2,7 +2,7 @@
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
- name: dracon
+ name: smithy
spec:
workspaces: []
tasks: []
diff --git a/components/base/task.yaml b/components/base/task.yaml
index fc987aeb1..047c31777 100644
--- a/components/base/task.yaml
+++ b/components/base/task.yaml
@@ -4,23 +4,23 @@ kind: Task
metadata:
name: base
labels:
- v1.dracon.ocurity.com/component: base
+ v1.smithy.smithy-security.com/component: base
spec:
params:
- name: base-scan-tags
type: string
default: ""
results:
- - name: dracon-scan-start-time
+ - name: smithy-scan-start-time
description: Start time of the scan.
- - name: dracon-scan-id
+ - name: smithy-scan-id
description: Unique id of the scan.
- - name: dracon-scan-tags
+ - name: smithy-scan-tags
description: serialized map[string]string of tags for this scan
steps:
- name: generate-scan-id-start-time
image: docker.io/busybox:1.35.0
script: |
- cat /proc/sys/kernel/random/uuid | tee $(results.dracon-scan-id.path)
- date +"%Y-%m-%dT%H:%M:%SZ" | tee $(results.dracon-scan-start-time.path)
- echo "$(params.base-scan-tags)" | tee $(results.dracon-scan-tags.path)
+ cat /proc/sys/kernel/random/uuid | tee $(results.smithy-scan-id.path)
+ date +"%Y-%m-%dT%H:%M:%SZ" | tee $(results.smithy-scan-start-time.path)
+ echo "$(params.base-scan-tags)" | tee $(results.smithy-scan-tags.path)
diff --git a/components/component.go b/components/component.go
index 8486be2a2..86268785c 100644
--- a/components/component.go
+++ b/components/component.go
@@ -1,10 +1,10 @@
package components
const (
- // EnvDraconStartTime Start Time of Dracon Scan in RFC3339.
- EnvDraconStartTime = "DRACON_SCAN_TIME"
- // EnvDraconScanID the ID of the dracon scan.
- EnvDraconScanID = "DRACON_SCAN_ID"
- // EnvDraconScanTags the tags of the dracon scan.
- EnvDraconScanTags = "DRACON_SCAN_TAGS"
+ // EnvSmithyStartTime Start Time of Smithy Scan in RFC3339.
+ EnvSmithyStartTime = "SMITHY_SCAN_TIME"
+ // EnvSmithyScanID the ID of the smithy scan.
+ EnvSmithyScanID = "SMITHY_SCAN_ID"
+ // EnvSmithyScanTags the tags of the smithy scan.
+ EnvSmithyScanTags = "SMITHY_SCAN_TAGS"
)
diff --git a/components/consumers/arangodb/main.go b/components/consumers/arangodb/main.go
index a10d1df92..0eb201774 100644
--- a/components/consumers/arangodb/main.go
+++ b/components/consumers/arangodb/main.go
@@ -7,10 +7,10 @@ import (
"fmt"
"log"
- driver "github.com/arangodb/go-driver"
+ "github.com/arangodb/go-driver"
"github.com/arangodb/go-driver/http"
- "github.com/ocurity/dracon/components/consumers"
+ "github.com/smithy-security/smithy/components/consumers"
)
var (
@@ -26,8 +26,8 @@ var (
func init() {
flag.StringVar(&dbURL, "db-url", "https://localhost:8529", "URL to connect to ArangoDB.")
- flag.StringVar(&dbName, "db-name", "dracon", "The ArangoDB database name to use.")
- flag.StringVar(&collectionName, "collection-name", "dracon", "The ArangoDB collection name to use.")
+ flag.StringVar(&dbName, "db-name", "smithy", "The ArangoDB database name to use.")
+ flag.StringVar(&collectionName, "collection-name", "smithy", "The ArangoDB collection name to use.")
flag.StringVar(&basicAuthUser, "basic-auth-user", "", "")
flag.StringVar(&basicAuthPass, "basic-auth-pass", "", "")
flag.BoolVar(&tlsInsecureSkipVerify, "tls-insecure-skip-verify", false, "Setting this skips verification of server TLS certificates.")
@@ -62,19 +62,19 @@ func main() {
ctx := context.Background()
- // Open the DB for Dracon, creating it if it does not exist.
+ // Open the DB for Smithy, creating it if it does not exist.
db, err := getDatabase(ctx, c, dbName)
if err != nil {
log.Fatalf("could not get database: %s", err)
}
- // Open a collection for Dracon, creating it if doest not exist.
+ // Open a collection for Smithy, creating it if doest not exist.
col, err := getCollection(ctx, db, collectionName)
if err != nil {
log.Fatalf("could not get collection: %s", err)
}
- // Enumerate Dracon Issues to consume and create documents for each of them.
+ // Enumerate Smithy Issues to consume and create documents for each of them.
if consumers.Raw {
log.Println("Parsing Raw results")
responses, err := consumers.LoadToolResponse()
diff --git a/components/consumers/arangodb/task.yaml b/components/consumers/arangodb/task.yaml
index 5365e9d1a..75b67701b 100644
--- a/components/consumers/arangodb/task.yaml
+++ b/components/consumers/arangodb/task.yaml
@@ -4,7 +4,7 @@ kind: Task
metadata:
name: consumer-arangodb
labels:
- v1.dracon.ocurity.com/component: consumer
+ v1.smithy.smithy-security.com/component: consumer
spec:
description: Pushes findings to an ArangoDB database.
workspaces:
@@ -13,13 +13,13 @@ spec:
steps:
- name: run-consumer
imagePullPolicy: IfNotPresent
- image: '{{ default "ghcr.io/ocurity/dracon" .Values.image.registry }}/components/consumers/arangodb:{{ .Chart.AppVersion }}'
+ image: '{{ default "ghcr.io/smithy-security/smithy" .Values.image.registry }}/components/consumers/arangodb:{{ .Chart.AppVersion }}'
command: ["/app/components/consumers/arangodb/arangodb"]
args: [
- "-in", "$(workspaces.output.path)/.dracon/enrichers/",
- "-db-url", "https://dracon.arangodb.svc:8529",
- "-db-name", "dracon",
- "-collection-name", "dracon",
+ "-in", "$(workspaces.output.path)/.smithy/enrichers/",
+ "-db-url", "https://smithy.arangodb.svc:8529",
+ "-db-name", "smithy",
+ "-collection-name", "smithy",
"-basic-auth-user", "",
"-basic-auth-pass", "",
"-tls-insecure-skip-verify",
diff --git a/components/consumers/aws-s3/main.go b/components/consumers/aws-s3/main.go
index 3a29c5a8d..cd4544bc1 100644
--- a/components/consumers/aws-s3/main.go
+++ b/components/consumers/aws-s3/main.go
@@ -1,5 +1,5 @@
// Package main of the aws-s3 consumer implements a simple consumer for
-// uploading dracon results to the S3 bucket passed as an argument
+// uploading smithy results to the S3 bucket passed as an argument
// the consumer expects the environment variables
// AWS_ACCESS_KEY_ID
// AWS_SECRET_ACCESS_KEY
@@ -17,7 +17,7 @@ import (
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/s3/s3manager"
- "github.com/ocurity/dracon/components/consumers"
+ "github.com/smithy-security/smithy/components/consumers"
)
var (
@@ -40,14 +40,14 @@ func main() {
if err != nil {
log.Fatal("could not marshal results, err:", err)
}
- filename := fmt.Sprintf("ocurity scan %s-%s", responses[0].GetScanInfo().GetScanUuid(), responses[0].GetToolName())
+ filename := fmt.Sprintf("smithy scan %s-%s", responses[0].GetScanInfo().GetScanUuid(), responses[0].GetToolName())
sendToS3(filename, bucket, region, s3Data)
} else {
responses, err := consumers.LoadEnrichedToolResponse()
if err != nil {
log.Fatal("could not load enriched results, file malformed: ", err)
}
- filename := fmt.Sprintf("ocurity scan %s-%s", responses[0].OriginalResults.GetScanInfo().GetScanUuid(), responses[0].OriginalResults.GetToolName())
+ filename := fmt.Sprintf("smithy scan %s-%s", responses[0].OriginalResults.GetScanInfo().GetScanUuid(), responses[0].OriginalResults.GetToolName())
s3Data, err := json.Marshal(responses)
if err != nil {
log.Fatal("could not marshal results, err:", err)
diff --git a/components/consumers/aws-s3/task.yaml b/components/consumers/aws-s3/task.yaml
index fb891859d..a168e451b 100644
--- a/components/consumers/aws-s3/task.yaml
+++ b/components/consumers/aws-s3/task.yaml
@@ -4,7 +4,7 @@ kind: Task
metadata:
name: consumer-aws-s3
labels:
- v1.dracon.ocurity.com/component: consumer
+ v1.smithy.smithy-security.com/component: consumer
spec:
description: Pushes findings to an S3 bucket.
volumes:
@@ -25,7 +25,7 @@ spec:
steps:
- name: run-consumer
imagePullPolicy: IfNotPresent
- image: '{{ default "ghcr.io/ocurity/dracon" .Values.image.registry }}/components/consumers/aws-s3:{{ .Chart.AppVersion }}'
+ image: '{{ default "ghcr.io/smithy-security/smithy" .Values.image.registry }}/components/consumers/aws-s3:{{ .Chart.AppVersion }}'
env:
- name: AWS_ACCESS_KEY_ID
value: "$(params.consumer-aws-s3-access-key-id)"
@@ -35,7 +35,7 @@ spec:
args:
[
"-in",
- "$(workspaces.output.path)/.dracon/enrichers/",
+ "$(workspaces.output.path)/.smithy/enrichers/",
"-bucket",
"$(params.consumer-aws-s3-bucket-name)",
"-region",
diff --git a/components/consumers/bigquery/main.go b/components/consumers/bigquery/main.go
index 34ed2a880..58a686324 100644
--- a/components/consumers/bigquery/main.go
+++ b/components/consumers/bigquery/main.go
@@ -1,4 +1,4 @@
-// Package main of the bigquery consumer puts dracon issues into the target bigquery dataset, it will create teh dataset and the schema if one does not exist
+// Package main of the bigquery consumer puts smithy issues into the target bigquery dataset, it will create teh dataset and the schema if one does not exist
package main
import (
@@ -12,8 +12,8 @@ import (
"golang.org/x/oauth2"
"google.golang.org/api/option"
- "github.com/ocurity/dracon/components/consumers"
- "github.com/ocurity/dracon/pkg/enumtransformers"
+ "github.com/smithy-security/smithy/components/consumers"
+ "github.com/smithy-security/smithy/pkg/enumtransformers"
)
var (
@@ -52,36 +52,36 @@ func run(ctx context.Context) error {
log.Println("Dataset", dataset, "does not exist", "creating")
if err = dataset.Create(context.Background(), &bigquery.DatasetMetadata{
Name: datasetName,
- Description: "a dataset to store findings from the Dracon ASOC framework",
+ Description: "a dataset to store findings from the Smithy ASOC framework",
Location: "EU",
}); err != nil {
return err
}
}
- table := dataset.Table("dracon")
+ table := dataset.Table("smithy")
tmeta, err := table.Metadata(context.Background())
if err != nil {
- log.Println("Table dracon does not exist creating")
- schema, err := bigquery.InferSchema(bqDraconIssue{})
+ log.Println("Table smithy does not exist creating")
+ schema, err := bigquery.InferSchema(bqSmithyIssue{})
if err != nil {
return err
}
if err = table.Create(context.Background(), &bigquery.TableMetadata{
- Name: "dracon",
- Description: "a table to store dracon findings",
+ Name: "smithy",
+ Description: "a table to store smithy findings",
Schema: schema,
}); err != nil {
return err
}
} else if tmeta.Schema == nil {
- log.Println("Schema for table dracon does not exist creating")
- schema, err := bigquery.InferSchema(bqDraconIssue{})
+ log.Println("Schema for table smithy does not exist creating")
+ schema, err := bigquery.InferSchema(bqSmithyIssue{})
if err != nil {
return err
}
_, err = table.Update(context.Background(), bigquery.TableMetadataToUpdate{
- Name: "dracon",
- Description: "a table to store dracon findings",
+ Name: "smithy",
+ Description: "a table to store smithy findings",
Schema: schema,
}, tmeta.ETag)
if err != nil {
@@ -89,7 +89,7 @@ func run(ctx context.Context) error {
}
}
inserter := table.Inserter()
- // Enumerate Dracon Issues to consume and create documents for each of them.
+ // Enumerate Smithy Issues to consume and create documents for each of them.
if consumers.Raw {
log.Println("Parsing Raw results")
responses, err := consumers.LoadToolResponse()
@@ -98,7 +98,7 @@ func run(ctx context.Context) error {
}
for _, res := range responses {
for _, iss := range res.GetIssues() {
- if err = insert(ctx, inserter, bqDraconIssue{
+ if err = insert(ctx, inserter, bqSmithyIssue{
Confidence: enumtransformers.ConfidenceToText(iss.GetConfidence()),
Cve: iss.GetCve(),
Cvss: iss.GetCvss(),
@@ -124,11 +124,11 @@ func run(ctx context.Context) error {
}
for _, res := range responses {
for _, iss := range res.GetIssues() {
- var annotations []*bqDraconAnnotations
+ var annotations []*bqSmithyAnnotations
for k, v := range iss.GetAnnotations() {
- annotations = append(annotations, &bqDraconAnnotations{Key: k, Value: v})
+ annotations = append(annotations, &bqSmithyAnnotations{Key: k, Value: v})
}
- if err = insert(ctx, inserter, bqDraconIssue{
+ if err = insert(ctx, inserter, bqSmithyIssue{
Annotations: annotations,
Confidence: enumtransformers.ConfidenceToText(iss.GetRawIssue().GetConfidence()),
PreviousCounts: int(iss.GetCount()),
@@ -155,8 +155,8 @@ func run(ctx context.Context) error {
return nil
}
-func insert(ctx context.Context, inserter *bigquery.Inserter, issue bqDraconIssue, issueUUID string) error {
- schema, err := bigquery.InferSchema(bqDraconIssue{})
+func insert(ctx context.Context, inserter *bigquery.Inserter, issue bqSmithyIssue, issueUUID string) error {
+ schema, err := bigquery.InferSchema(bqSmithyIssue{})
if err != nil {
return err
}
@@ -168,13 +168,13 @@ func insert(ctx context.Context, inserter *bigquery.Inserter, issue bqDraconIssu
return inserter.Put(ctx, data)
}
-type bqDraconAnnotations struct {
+type bqSmithyAnnotations struct {
Key string `bigquery:"key"`
Value string `bigquery:"value"`
}
-type bqDraconIssue struct {
- Annotations []*bqDraconAnnotations `bigquery:"annotations"`
+type bqSmithyIssue struct {
+ Annotations []*bqSmithyAnnotations `bigquery:"annotations"`
Confidence string `bigquery:"confidence"`
Cve string `bigquery:"cve"`
Cvss float64 `bigquery:"cvss"`
diff --git a/components/consumers/bigquery/task.yaml b/components/consumers/bigquery/task.yaml
index 121b6b92e..2d1f0c1aa 100644
--- a/components/consumers/bigquery/task.yaml
+++ b/components/consumers/bigquery/task.yaml
@@ -4,7 +4,7 @@ kind: Task
metadata:
name: consumer-bigquery
labels:
- v1.dracon.ocurity.com/component: consumer
+ v1.smithy.smithy-security.com/component: consumer
spec:
description: Pushes findings to a BigQuery database.
volumes:
@@ -15,7 +15,7 @@ spec:
type: string
- name: consumer-bigquery-dataset
type: string
- default: "dracon"
+ default: "smithy"
- name: consumer-bigquery-token
type: string
workspaces:
@@ -24,12 +24,12 @@ spec:
steps:
- name: run-consumer
imagePullPolicy: IfNotPresent
- image: '{{ default "ghcr.io/ocurity/dracon" .Values.image.registry }}/components/consumers/bigquery:{{ .Chart.AppVersion }}'
+ image: '{{ default "ghcr.io/smithy-security/smithy" .Values.image.registry }}/components/consumers/bigquery:{{ .Chart.AppVersion }}'
command: ["/app/components/consumers/bigquery/bigquery"]
args:
[
"-in",
- "$(workspaces.output.path)/.dracon/enrichers/",
+ "$(workspaces.output.path)/.smithy/enrichers/",
"-project-id",
"$(params.consumer-bigquery-project-id)",
"-dataset",
diff --git a/components/consumers/consumer.go b/components/consumers/consumer.go
index c30bdab21..929797e7c 100644
--- a/components/consumers/consumer.go
+++ b/components/consumers/consumer.go
@@ -1,4 +1,4 @@
-// Package consumers provides helper functions for working with Dracon compatible outputs as a Consumer.
+// Package consumers provides helper functions for working with Smithy compatible outputs as a Consumer.
// Subdirectories in this package have more complete example usages of this package.
package consumers
@@ -8,9 +8,9 @@ import (
"log/slog"
"os"
- draconapiv1 "github.com/ocurity/dracon/api/proto/v1"
- "github.com/ocurity/dracon/components"
- "github.com/ocurity/dracon/pkg/putil"
+ smithyapiv1 "github.com/smithy-security/smithy/api/proto/v1"
+ "github.com/smithy-security/smithy/components"
+ "github.com/smithy-security/smithy/pkg/putil"
)
var (
@@ -22,7 +22,7 @@ var (
)
func init() {
- flag.StringVar(&inResults, "in", "", "the directory where dracon producer/enricher outputs are")
+ flag.StringVar(&inResults, "in", "", "the directory where smithy producer/enricher outputs are")
flag.BoolVar(&Raw, "raw", false, "if the non-enriched results should be used")
flag.BoolVar(&debug, "debug", false, "turn on debug logging")
}
@@ -35,7 +35,7 @@ func ParseFlags() error {
if debug {
logLevel = slog.LevelDebug
}
- slog.SetDefault(slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: logLevel})).With("scanID", os.Getenv(components.EnvDraconScanID)))
+ slog.SetDefault(slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: logLevel})).With("scanID", os.Getenv(components.EnvSmithyScanID)))
if len(inResults) < 1 {
return fmt.Errorf("in is undefined")
}
@@ -43,11 +43,11 @@ func ParseFlags() error {
}
// LoadToolResponse loads raw results from producers.
-func LoadToolResponse() ([]*draconapiv1.LaunchToolResponse, error) {
+func LoadToolResponse() ([]*smithyapiv1.LaunchToolResponse, error) {
return putil.LoadToolResponse(inResults)
}
// LoadEnrichedToolResponse loads enriched results from the enricher.
-func LoadEnrichedToolResponse() ([]*draconapiv1.EnrichedLaunchToolResponse, error) {
+func LoadEnrichedToolResponse() ([]*smithyapiv1.EnrichedLaunchToolResponse, error) {
return putil.LoadEnrichedToolResponse(inResults)
}
diff --git a/components/consumers/consumer_test.go b/components/consumers/consumer_test.go
index bea00a76e..57d4b14e2 100644
--- a/components/consumers/consumer_test.go
+++ b/components/consumers/consumer_test.go
@@ -9,25 +9,25 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
- draconapiv1 "github.com/ocurity/dracon/api/proto/v1"
- "github.com/ocurity/dracon/components"
- "github.com/ocurity/dracon/pkg/putil"
+ smithyapiv1 "github.com/smithy-security/smithy/api/proto/v1"
+ "github.com/smithy-security/smithy/components"
+ "github.com/smithy-security/smithy/pkg/putil"
)
func TestLoadToolResponse(t *testing.T) {
- tmpDir, err := os.MkdirTemp("", "dracon-test")
+ tmpDir, err := os.MkdirTemp("", "smithy-test")
require.NoError(t, err)
- tmpFile, err := os.CreateTemp(tmpDir, "dracon-test-*.pb")
+ tmpFile, err := os.CreateTemp(tmpDir, "smithy-test-*.pb")
require.NoError(t, err)
defer require.NoError(t, os.Remove(tmpFile.Name()))
- issues := []*draconapiv1.Issue{
+ issues := []*smithyapiv1.Issue{
{
- Target: "/dracon/source/foobar",
- Title: "/dracon/source/barfoo",
- Description: "/dracon/source/example.yaml",
+ Target: "/smithy/source/foobar",
+ Title: "/smithy/source/barfoo",
+ Description: "/smithy/source/example.yaml",
},
}
timestamp := time.Now().UTC()
@@ -39,9 +39,9 @@ func TestLoadToolResponse(t *testing.T) {
scanTags, err := json.Marshal(tags)
assert.NoError(t, err)
- require.NoError(t, os.Setenv(components.EnvDraconStartTime, timestamp.Format(time.RFC3339)))
- require.NoError(t, os.Setenv(components.EnvDraconScanID, scanID))
- require.NoError(t, os.Setenv(components.EnvDraconScanTags, string(scanTags)))
+ require.NoError(t, os.Setenv(components.EnvSmithyStartTime, timestamp.Format(time.RFC3339)))
+ require.NoError(t, os.Setenv(components.EnvSmithyScanID, scanID))
+ require.NoError(t, os.Setenv(components.EnvSmithyScanTags, string(scanTags)))
resultTempDir := tmpFile.Name()
resultFile := "test-tool"
diff --git a/components/consumers/defectdojo/client/client.go b/components/consumers/defectdojo/client/client.go
index 59e2f0e4a..a94870377 100644
--- a/components/consumers/defectdojo/client/client.go
+++ b/components/consumers/defectdojo/client/client.go
@@ -8,7 +8,7 @@ import (
"io"
"net/http"
- "github.com/ocurity/dracon/components/consumers/defectdojo/types"
+ "github.com/smithy-security/smithy/components/consumers/defectdojo/types"
)
// Client represents a DefectDojo client.
diff --git a/components/consumers/defectdojo/client/client_test.go b/components/consumers/defectdojo/client/client_test.go
index c4cd20e50..ec95a2b38 100644
--- a/components/consumers/defectdojo/client/client_test.go
+++ b/components/consumers/defectdojo/client/client_test.go
@@ -10,7 +10,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
- "github.com/ocurity/dracon/components/consumers/defectdojo/types"
+ "github.com/smithy-security/smithy/components/consumers/defectdojo/types"
)
func TestDojoClient(t *testing.T) {
@@ -89,18 +89,18 @@ func TestCreateEngagement(t *testing.T) {
expectedEngagement := types.EngagementRequest{
Tags: []string{"foo.git/somesha"},
- Name: "dracon scan foo",
+ Name: "smithy scan foo",
TargetStart: "2022-06-01",
TargetEnd: "2022-06-01",
DeduplicationOnEngagement: true,
Product: 2,
}
assert.Equal(t, expectedEngagement, engagement)
- _, err = w.Write([]byte(`{"id":4,"tags":["foo.git/somesha"],"name":"dracon scan foo","description":null,"version":"string","first_contacted":null,"target_start":"2022-06-01","target_end":"2022-06-01","reason":null,"updated":"2022-06-01T16:29:18.965507Z","created":"2022-06-01T16:29:18.908694Z","active":true,"tracker":null,"test_strategy":null,"threat_model":true,"api_test":true,"pen_test":true,"check_list":true,"status":"","progress":"threat_model","tmodel_path":"none","done_testing":false,"engagement_type":"Interactive","build_id":"foo","commit_hash":null,"branch_tag":null,"source_code_management_uri":null,"deduplication_on_engagement":false,"lead":null,"requester":null,"preset":null,"report_type":null,"product":2,"build_server":null,"source_code_management_server":null,"orchestration_engine":null,"notes":[],"files":[],"risk_acceptance":[]}`))
+ _, err = w.Write([]byte(`{"id":4,"tags":["foo.git/somesha"],"name":"smithy scan foo","description":null,"version":"string","first_contacted":null,"target_start":"2022-06-01","target_end":"2022-06-01","reason":null,"updated":"2022-06-01T16:29:18.965507Z","created":"2022-06-01T16:29:18.908694Z","active":true,"tracker":null,"test_strategy":null,"threat_model":true,"api_test":true,"pen_test":true,"check_list":true,"status":"","progress":"threat_model","tmodel_path":"none","done_testing":false,"engagement_type":"Interactive","build_id":"foo","commit_hash":null,"branch_tag":null,"source_code_management_uri":null,"deduplication_on_engagement":false,"lead":null,"requester":null,"preset":null,"report_type":null,"product":2,"build_server":null,"source_code_management_server":null,"orchestration_engine":null,"notes":[],"files":[],"risk_acceptance":[]}`))
require.NoError(t, err)
}))
c := &Client{host: mockTs.URL, apiToken: "test", user: ""}
- _, err := c.CreateEngagement("dracon scan foo", "2022-06-01", []string{"foo.git/somesha"}, 2)
+ _, err := c.CreateEngagement("smithy scan foo", "2022-06-01", []string{"foo.git/somesha"}, 2)
require.NoError(t, err)
assert.True(t, called)
}
diff --git a/components/consumers/defectdojo/main.go b/components/consumers/defectdojo/main.go
index b13278465..bedc07a78 100644
--- a/components/consumers/defectdojo/main.go
+++ b/components/consumers/defectdojo/main.go
@@ -5,11 +5,11 @@ import (
"log"
"strconv"
- v1 "github.com/ocurity/dracon/api/proto/v1"
- "github.com/ocurity/dracon/components/consumers"
- "github.com/ocurity/dracon/components/consumers/defectdojo/client"
- "github.com/ocurity/dracon/pkg/enumtransformers"
- "github.com/ocurity/dracon/pkg/templating"
+ v1 "github.com/smithy-security/smithy/api/proto/v1"
+ "github.com/smithy-security/smithy/components/consumers"
+ "github.com/smithy-security/smithy/components/consumers/defectdojo/client"
+ "github.com/smithy-security/smithy/pkg/enumtransformers"
+ "github.com/smithy-security/smithy/pkg/templating"
)
// DojoTimeFormat is the time format accepted by defect dojo.
@@ -36,7 +36,7 @@ func handleRawResults(product int, dojoClient *client.Client, responses []*v1.La
if scanUUID == "" {
log.Fatalln("Non-uuid scan", responses)
}
- tags := []string{"DraconScan", "RawScan", scanUUID}
+ tags := []string{"SmithyScan", "RawScan", scanUUID}
engagement, err := dojoClient.CreateEngagement( // with current architecture, all responses should have the same scaninfo
scanUUID, responses[0].GetScanInfo().GetScanStartTime().AsTime().Format(DojoTimeFormat), tags, int32(product))
@@ -46,7 +46,7 @@ func handleRawResults(product int, dojoClient *client.Client, responses []*v1.La
for _, res := range responses {
log.Println("handling response for tool", res.GetToolName(), "with", len(res.GetIssues()), "findings")
startTime := res.GetScanInfo().GetScanStartTime().AsTime()
- test, err := dojoClient.CreateTest(startTime.Format(DojoTestTimeFormat), res.GetToolName(), "", []string{"DraconScan", "RawTest", scanUUID}, engagement.ID)
+ test, err := dojoClient.CreateTest(startTime.Format(DojoTestTimeFormat), res.GetToolName(), "", []string{"SmithyScan", "RawTest", scanUUID}, engagement.ID)
if err != nil {
log.Printf("could not create test in defectdojo, err: %#v", err)
return err
@@ -63,7 +63,7 @@ func handleRawResults(product int, dojoClient *client.Client, responses []*v1.La
iss.GetTarget(),
startTime.Format(DojoTimeFormat),
severityToDojoSeverity(iss.Severity),
- []string{"DraconScan", "RawFinding", scanUUID, res.GetToolName()},
+ []string{"SmithyScan", "RawFinding", scanUUID, res.GetToolName()},
test.ID,
0,
0,
@@ -90,7 +90,7 @@ func handleEnrichedResults(product int, dojoClient *client.Client, responses []*
if scanUUID == "" {
log.Fatalln("Non-uuid scan", responses)
}
- tags := []string{"DraconScan", "EnrichedScan", scanUUID}
+ tags := []string{"SmithyScan", "EnrichedScan", scanUUID}
engagement, err := dojoClient.CreateEngagement( // with current architecture, all responses should have the same scaninfo
scanUUID,
responses[0].GetOriginalResults().GetScanInfo().GetScanStartTime().AsTime().Format(DojoTimeFormat), tags, int32(product))
@@ -102,7 +102,7 @@ func handleEnrichedResults(product int, dojoClient *client.Client, responses []*
log.Println("handling response for tool", res.GetOriginalResults().GetToolName(), "with", len(res.GetIssues()), "findings")
scanStartTime := res.GetOriginalResults().GetScanInfo().GetScanStartTime().AsTime()
- test, err := dojoClient.CreateTest(scanStartTime.Format(DojoTestTimeFormat), res.GetOriginalResults().GetToolName(), "", []string{"DraconScan", "EnrichedTest", scanUUID}, engagement.ID)
+ test, err := dojoClient.CreateTest(scanStartTime.Format(DojoTestTimeFormat), res.GetOriginalResults().GetToolName(), "", []string{"SmithyScan", "EnrichedTest", scanUUID}, engagement.ID)
if err != nil {
log.Println("could not create test in defectdojo, err:", err)
return err
@@ -124,7 +124,7 @@ func handleEnrichedResults(product int, dojoClient *client.Client, responses []*
rawIss.GetTarget(),
scanStartTime.Format(DojoTimeFormat),
severityToDojoSeverity(rawIss.Severity),
- []string{"DraconScan", "EnrichedFinding", scanUUID, res.GetOriginalResults().GetToolName()},
+ []string{"SmithyScan", "EnrichedFinding", scanUUID, res.GetOriginalResults().GetToolName()},
test.ID, 0, 0, dojoClient.UserID,
iss.GetFalsePositive(),
duplicate,
@@ -149,7 +149,7 @@ func main() {
flag.StringVar(&authURL, "dojoURL", "", "defect dojo api base url")
flag.StringVar(&productID, "dojoProductID", "", "defect dojo product ID if you want to create an engagement")
flag.StringVar(&issueTemplate, "descriptionTemplate", "", "a Go Template string describing how to show Raw or Enriched issues")
- flag.BoolVar(&newEngagementEveryScan, "createEngagement", false, "for every dracon scan id, create a different engagement")
+ flag.BoolVar(&newEngagementEveryScan, "createEngagement", false, "for every smithy scan id, create a different engagement")
flag.Parse()
diff --git a/components/consumers/defectdojo/main_test.go b/components/consumers/defectdojo/main_test.go
index 415907856..88a121a36 100644
--- a/components/consumers/defectdojo/main_test.go
+++ b/components/consumers/defectdojo/main_test.go
@@ -15,10 +15,10 @@ import (
"github.com/stretchr/testify/require"
"google.golang.org/protobuf/types/known/timestamppb"
- v1 "github.com/ocurity/dracon/api/proto/v1"
- "github.com/ocurity/dracon/components/consumers/defectdojo/client"
- "github.com/ocurity/dracon/components/consumers/defectdojo/types"
- "github.com/ocurity/dracon/pkg/templating"
+ v1 "github.com/smithy-security/smithy/api/proto/v1"
+ "github.com/smithy-security/smithy/components/consumers/defectdojo/client"
+ "github.com/smithy-security/smithy/components/consumers/defectdojo/types"
+ "github.com/smithy-security/smithy/pkg/templating"
)
func createObjects(product int, scanType string) ([]*v1.LaunchToolResponse, []*types.TestCreateRequest, []*types.FindingCreateRequest, []*types.EngagementRequest, []*v1.EnrichedLaunchToolResponse) {
@@ -31,7 +31,7 @@ func createObjects(product int, scanType string) ([]*v1.LaunchToolResponse, []*t
var findingsRequests []*types.FindingCreateRequest
engagementRequests := []*types.EngagementRequest{
{
- Tags: []string{"DraconScan", scanType + "Scan", scanID},
+ Tags: []string{"SmithyScan", scanType + "Scan", scanID},
Name: scanID,
Description: "",
TargetStart: times.Format(DojoTimeFormat), TargetEnd: times.Format(DojoTimeFormat),
@@ -54,7 +54,7 @@ func createObjects(product int, scanType string) ([]*v1.LaunchToolResponse, []*t
OriginalResults: response,
}
test := &types.TestCreateRequest{
- Tags: []string{"DraconScan", scanType + "Test", scanID},
+ Tags: []string{"SmithyScan", scanType + "Test", scanID},
Title: toolName,
TargetStart: times.Format(DojoTestTimeFormat),
TargetEnd: times.Format(DojoTestTimeFormat),
@@ -106,7 +106,7 @@ func createObjects(product int, scanType string) ([]*v1.LaunchToolResponse, []*t
d = desc
}
findingsReq := &types.FindingCreateRequest{
- Tags: []string{"DraconScan", scanType + "Finding", scanID, toolName},
+ Tags: []string{"SmithyScan", scanType + "Finding", scanID, toolName},
Title: x.Title,
Date: times.Format(DojoTimeFormat),
Severity: "Info",
diff --git a/components/consumers/defectdojo/task.yaml b/components/consumers/defectdojo/task.yaml
index 42f510cf0..5aab3931b 100644
--- a/components/consumers/defectdojo/task.yaml
+++ b/components/consumers/defectdojo/task.yaml
@@ -4,7 +4,7 @@ kind: Task
metadata:
name: consumer-defectdojo
labels:
- v1.dracon.ocurity.com/component: consumer
+ v1.smithy.smithy-security.com/component: consumer
spec:
description: Pushes findings to a DefectDojo vulnerability management instance.
params:
@@ -25,10 +25,10 @@ spec:
steps:
- name: run-consumer
imagePullPolicy: IfNotPresent
- image: '{{ default "ghcr.io/ocurity/dracon" .Values.image.registry }}/components/consumers/defectdojo:{{ .Chart.AppVersion }}'
+ image: '{{ default "ghcr.io/smithy-security/smithy" .Values.image.registry }}/components/consumers/defectdojo:{{ .Chart.AppVersion }}'
command: ["/app/components/consumers/defectdojo/defectdojo"]
args: [
- "-in", "$(workspaces.output.path)/.dracon/enrichers/",
+ "-in", "$(workspaces.output.path)/.smithy/enrichers/",
"-dojoUser", "$(params.consumer-defectdojo-user)",
"-dojoToken", "$(params.consumer-defectdojo-token)",
"-dojoProductID", "$(params.consumer-defectdojo-product-id)",
diff --git a/components/consumers/dependency-track/README.md b/components/consumers/dependency-track/README.md
index b7d3eefe1..3bfce4d6d 100644
--- a/components/consumers/dependency-track/README.md
+++ b/components/consumers/dependency-track/README.md
@@ -1,9 +1,9 @@
-# Dracon Dependency Track Consumer
+# Smithy Dependency Track Consumer
-This producer imports SBOM results from Dracon producers into
+This producer imports SBOM results from Smithy producers into
[owasp/dependency-track](https://owasp.org/www-project-dependency-track/).
It ignores all other results as dependency-track does not do vulnerability
-management and Dracon does not have any VEX producers yet.
+management and Smithy does not have any VEX producers yet.
You can use this consumer to generate or keep up to date SBOMs for
your projects.
@@ -12,15 +12,15 @@ This consumer recognises the annotation from the codeowners enricher and will
add a project tag with each username found in the codeowners annotations.
The tag format is `Owner:`
-## Testing without Dracon
+## Testing without Smithy
-You can run this producer outside of dracon for development with
+You can run this producer outside of smithy for development with
```bash
go run ./components/consumers/dependency-track \
-apiKey= \
-projectName= \
-url= \
- -in \
+ -in \
-projectUUID=
```
diff --git a/components/consumers/dependency-track/main.go b/components/consumers/dependency-track/main.go
index cfea8da05..ec981edcf 100644
--- a/components/consumers/dependency-track/main.go
+++ b/components/consumers/dependency-track/main.go
@@ -14,9 +14,9 @@ import (
"github.com/go-errors/errors"
"github.com/google/uuid"
- v1 "github.com/ocurity/dracon/api/proto/v1"
- "github.com/ocurity/dracon/components/consumers"
- cyclonedx "github.com/ocurity/dracon/pkg/cyclonedx"
+ v1 "github.com/smithy-security/smithy/api/proto/v1"
+ "github.com/smithy-security/smithy/components/consumers"
+ "github.com/smithy-security/smithy/pkg/cyclonedx"
)
var (
@@ -123,7 +123,7 @@ func uploadBOMSFromEnriched(responses []*v1.EnrichedLaunchToolResponse) ([]strin
continue
}
}
- cdxbom, err := cyclonedx.FromDracon(bomIssue.GetRawIssue())
+ cdxbom, err := cyclonedx.FromSmithy(bomIssue.GetRawIssue())
if err != nil {
return tokens, err
}
@@ -160,7 +160,7 @@ func uploadBOMsFromRaw(responses []*v1.LaunchToolResponse) ([]string, error) {
continue
}
}
- cdxbom, err := cyclonedx.FromDracon(bomIssue)
+ cdxbom, err := cyclonedx.FromSmithy(bomIssue)
if err != nil {
return tokens, err
}
diff --git a/components/consumers/dependency-track/main_test.go b/components/consumers/dependency-track/main_test.go
index d1755eef3..37dd516a7 100644
--- a/components/consumers/dependency-track/main_test.go
+++ b/components/consumers/dependency-track/main_test.go
@@ -14,8 +14,8 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
- v1 "github.com/ocurity/dracon/api/proto/v1"
- cyclonedx "github.com/ocurity/dracon/pkg/cyclonedx"
+ v1 "github.com/smithy-security/smithy/api/proto/v1"
+ "github.com/smithy-security/smithy/pkg/cyclonedx"
)
func TestUploadBomsFromRaw(t *testing.T) {
@@ -59,7 +59,7 @@ func TestUploadBomsFromRaw(t *testing.T) {
require.NoError(t, err)
client = c
- issues, err := cyclonedx.ToDracon(rawSaaSBOM, "json", "")
+ issues, err := cyclonedx.ToSmithy(rawSaaSBOM, "json", "")
require.NoError(t, err)
ltr := v1.LaunchToolResponse{
@@ -112,7 +112,7 @@ func TestUploadBomsFromEnriched(t *testing.T) {
require.NoError(t, err)
client = c
- issues, err := cyclonedx.ToDracon(rawSaaSBOM, "json", "")
+ issues, err := cyclonedx.ToSmithy(rawSaaSBOM, "json", "")
require.NoError(t, err)
ltr := v1.LaunchToolResponse{
@@ -206,7 +206,7 @@ func TestUploadBomsFromEnrichedWithOwners(t *testing.T) {
require.NoError(t, err)
client = c
- issues, err := cyclonedx.ToDracon(rawSaaSBOM, "json", "")
+ issues, err := cyclonedx.ToSmithy(rawSaaSBOM, "json", "")
require.NoError(t, err)
ltr := v1.LaunchToolResponse{
diff --git a/components/consumers/dependency-track/task.yaml b/components/consumers/dependency-track/task.yaml
index 98dbf534c..3c4ac81f4 100644
--- a/components/consumers/dependency-track/task.yaml
+++ b/components/consumers/dependency-track/task.yaml
@@ -4,7 +4,7 @@ kind: Task
metadata:
name: consumer-dependency-track
labels:
- v1.dracon.ocurity.com/component: consumer
+ v1.smithy.smithy-security.com/component: consumer
spec:
description: Pushes findings to a Dependency-Track instance.
params:
@@ -31,10 +31,10 @@ spec:
steps:
- name: run-consumer
imagePullPolicy: IfNotPresent
- image: '{{ default "ghcr.io/ocurity/dracon" .Values.image.registry }}/components/consumers/dependency-track:{{ .Chart.AppVersion }}'
+ image: '{{ default "ghcr.io/smithy-security/smithy" .Values.image.registry }}/components/consumers/dependency-track:{{ .Chart.AppVersion }}'
command: ["/app/components/consumers/dependency-track/dependency-track"]
args: [
- "-in", "$(workspaces.output.path)/.dracon/enrichers/",
+ "-in", "$(workspaces.output.path)/.smithy/enrichers/",
"-url", "$(params.consumer-dependency-track-api-url)",
"-apiKey", "$(params.consumer-dependency-track-token)",
"-projectName", "$(params.consumer-dependency-track-project-name)",
diff --git a/components/consumers/elasticsearch/main.go b/components/consumers/elasticsearch/main.go
index 028099d1b..0ebce280a 100644
--- a/components/consumers/elasticsearch/main.go
+++ b/components/consumers/elasticsearch/main.go
@@ -10,14 +10,14 @@ import (
"strings"
"time"
- elasticsearch "github.com/elastic/go-elasticsearch/v8"
+ "github.com/elastic/go-elasticsearch/v8"
"github.com/elastic/go-elasticsearch/v8/esapi"
"github.com/go-errors/errors"
- v1 "github.com/ocurity/dracon/api/proto/v1"
- "github.com/ocurity/dracon/components/consumers"
- "github.com/ocurity/dracon/pkg/enumtransformers"
- "github.com/ocurity/dracon/pkg/templating"
+ v1 "github.com/smithy-security/smithy/api/proto/v1"
+ "github.com/smithy-security/smithy/components/consumers"
+ "github.com/smithy-security/smithy/pkg/enumtransformers"
+ "github.com/smithy-security/smithy/pkg/templating"
)
var (
diff --git a/components/consumers/elasticsearch/main_test.go b/components/consumers/elasticsearch/main_test.go
index 718a5293a..dabdbedbd 100644
--- a/components/consumers/elasticsearch/main_test.go
+++ b/components/consumers/elasticsearch/main_test.go
@@ -9,7 +9,7 @@ import (
"testing"
"time"
- v1 "github.com/ocurity/dracon/api/proto/v1"
+ v1 "github.com/smithy-security/smithy/api/proto/v1"
"github.com/stretchr/testify/require"
)
@@ -42,7 +42,7 @@ var (
)
func TestEsPushBasicAuth(t *testing.T) {
- esIndex = "dracon-es-test"
+ esIndex = "smithy-es-test"
esStub := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
buf := new(bytes.Buffer)
@@ -112,7 +112,7 @@ func TestEsPush(t *testing.T) {
require.NoError(t, err)
}
func TestEsPushAPIKey(t *testing.T) {
- esIndex = "dracon-es-test"
+ esIndex = "smithy-es-test"
esStub := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
buf := new(bytes.Buffer)
diff --git a/components/consumers/elasticsearch/task.yaml b/components/consumers/elasticsearch/task.yaml
index d4c8e084f..ae5374634 100644
--- a/components/consumers/elasticsearch/task.yaml
+++ b/components/consumers/elasticsearch/task.yaml
@@ -4,7 +4,7 @@ kind: Task
metadata:
name: consumer-elasticsearch
labels:
- v1.dracon.ocurity.com/component: consumer
+ v1.smithy.smithy-security.com/component: consumer
spec:
description: Pushes findings to an Elasticsearch database.
params:
@@ -29,11 +29,11 @@ spec:
steps:
- name: run-consumer
imagePullPolicy: IfNotPresent
- image: '{{ default "ghcr.io/ocurity/dracon" .Values.image.registry }}/components/consumers/elasticsearch:{{ .Chart.AppVersion }}'
+ image: '{{ default "ghcr.io/smithy-security/smithy" .Values.image.registry }}/components/consumers/elasticsearch:{{ .Chart.AppVersion }}'
command: ["/app/components/consumers/elasticsearch/elasticsearch"]
args:
- -in
- - "$(workspaces.output.path)/.dracon/enrichers/"
+ - "$(workspaces.output.path)/.smithy/enrichers/"
- -descriptionTemplate
- "$(params.consumer-elasticsearch-description-template)"
- -esIndex
diff --git a/components/consumers/jira/README.md b/components/consumers/jira/README.md
index ea1f6015c..50a224e5f 100644
--- a/components/consumers/jira/README.md
+++ b/components/consumers/jira/README.md
@@ -1,7 +1,7 @@
# Jira Consumer
The Jira Consumer allows you to publish Vulnerability Issues to your
-organisation's Jira workspace straight from the Dracon pipeline results.
+organisation's Jira workspace straight from the Smithy pipeline results.
Result fields such as 'target', 'cvss', 'severity', can either
be written in the description or mapped to specific custom fields used by your
workspace.
@@ -20,10 +20,10 @@ The configuration has three components:
* defaultValues: Here you can specify fields with default values such as:
Project Key, Issue Type, or even specific custom fields that your workspace
uses.
-* addToDescription: Here you can specify what fields from the Dracon Results you
+* addToDescription: Here you can specify what fields from the Smithy Results you
want written in the Issue's description.
* mappings: In case your organisation has specific fields for CVSS, Severity,
- etc, you can also map the dracon results straight to these fields.
+ etc, you can also map the smithy results straight to these fields.
If not, you can just add them to the description (see the point above).
There are more instructions in [docs](/docs/examples/jira-project/pipelinerun)
@@ -35,9 +35,9 @@ Authentication details for the Jira API are passed as environment variables.
These can be set up in the pipeline.yaml file or in the Dockerfile.
```text
-DRACON_JIRA_USER=""
-DRACON_JIRA_TOKEN="your api token"
-DRACON_JIRA_URL="domain your jira workspace is hosted on"
+SMITHY_JIRA_USER=""
+SMITHY_JIRA_TOKEN="your api token"
+SMITHY_JIRA_URL="domain your jira workspace is hosted on"
```
## Testing
@@ -72,7 +72,7 @@ Below is example configuration and an explanation of each field
"issueType": "Task",
"customFields": null
},
- "descriptionTemplate":"Dracon found '{{.RawIssue.Title}}' at '{{.RawIssue.Target}}', severity '{{.RawIssue.Severity}}', rule id: '{{.RawIssue.Type}}', CVSS '{{.RawIssue.Cvss}}' Confidence '{{.RawIssue.Confidence}}' Original Description: {{.RawIssue.Description}}, Cve {{.RawIssue.Cve}},\n{{ range $key,$element := .Annotations }}{{$key}}:{{$element}}\n{{end}}",
+ "descriptionTemplate":"Smithy found '{{.RawIssue.Title}}' at '{{.RawIssue.Target}}', severity '{{.RawIssue.Severity}}', rule id: '{{.RawIssue.Type}}', CVSS '{{.RawIssue.Cvss}}' Confidence '{{.RawIssue.Confidence}}' Original Description: {{.RawIssue.Description}}, Cve {{.RawIssue.Cve}},\n{{ range $key,$element := .Annotations }}{{$key}}:{{$element}}\n{{end}}",
"addToDescription": [
"scan_start_time",
"tool_name",
@@ -97,7 +97,7 @@ if you have configured a ticket type named "Vulnerability")
### customFields
-Since Jira supports custom fields this describes what information from a dracon
+Since Jira supports custom fields this describes what information from a smithy
issue should be mapped to a jira custom field. This element accepts:
A struct of:
@@ -112,10 +112,10 @@ A struct of:
### addToDescription
-An array of which dracon api fields to add to the jira ticket description.
+An array of which smithy api fields to add to the jira ticket description.
### mappings
-Not used for now, it's part of a yet-untested jira-to-dracon syncroniser which
+Not used for now, it's part of a yet-untested jira-to-smithy syncroniser which
makes jira into a more comprehensive vulnerability management platform.
If you need this please open a ticket.
diff --git a/components/consumers/jira/main.go b/components/consumers/jira/main.go
index 0dbf55a3b..ef220625c 100644
--- a/components/consumers/jira/main.go
+++ b/components/consumers/jira/main.go
@@ -5,23 +5,23 @@ import (
"log"
"os"
- "github.com/ocurity/dracon/components/consumers"
+ "github.com/smithy-security/smithy/components/consumers"
- "github.com/ocurity/dracon/components/consumers/jira/utils"
- "github.com/ocurity/dracon/pkg/jira/config"
- "github.com/ocurity/dracon/pkg/jira/jira"
+ "github.com/smithy-security/smithy/components/consumers/jira/utils"
+ "github.com/smithy-security/smithy/pkg/jira/config"
+ "github.com/smithy-security/smithy/pkg/jira/jira"
)
const (
// EnvJiraUser the Jira Username for the authentication (user@domain.com).
- EnvJiraUser = "DRACON_JIRA_USER"
+ EnvJiraUser = "SMITHY_JIRA_USER"
// EnvJiraToken the Jira API token for the authentication.
//nolint:gosec
- EnvJiraToken = "DRACON_JIRA_TOKEN"
+ EnvJiraToken = "SMITHY_JIRA_TOKEN"
// EnvJiraURL the domain to scrape.
- EnvJiraURL = "DRACON_JIRA_URL"
+ EnvJiraURL = "SMITHY_JIRA_URL"
// EnvConfigPath the path towards the config.yaml file.
- EnvConfigPath = "DRACON_JIRA_CONFIG_PATH"
+ EnvConfigPath = "SMITHY_JIRA_CONFIG_PATH"
)
var (
@@ -65,8 +65,8 @@ func main() {
// Authenticate Jira client
apiClient := jira.NewClient(authUser, authToken, jiraURL, dryRunMode, config)
- // Parse Dracon results
- draconResults, discardedIssues, err := utils.ProcessMessages(allowDuplicates, allowFP, severityThreshold)
+ // Parse Smithy results
+ smithyResults, discardedIssues, err := utils.ProcessMessages(allowDuplicates, allowFP, severityThreshold)
if err != nil {
log.Fatalf("Could not process messages: %s", err)
}
@@ -74,7 +74,7 @@ func main() {
// Create issues in Jira
createdIssues := 0
failedIssues := 0
- for _, result := range draconResults {
+ for _, result := range smithyResults {
if err := apiClient.CreateIssue(result); err != nil {
failedIssues++
if failOnError {
@@ -88,7 +88,7 @@ func main() {
// Output metrics
log.Printf("%d Issues have been discarded as duplicates or false positives\n", discardedIssues)
- log.Printf("Dracon results: %d; Created issues: %d; Issues failed to create: %d\n", len(draconResults), createdIssues, failedIssues)
+ log.Printf("Smithy results: %d; Created issues: %d; Issues failed to create: %d\n", len(smithyResults), createdIssues, failedIssues)
if failedIssues > 0 {
os.Exit(1)
}
diff --git a/components/consumers/jira/task.yaml b/components/consumers/jira/task.yaml
index b5bb27969..c11402357 100644
--- a/components/consumers/jira/task.yaml
+++ b/components/consumers/jira/task.yaml
@@ -4,7 +4,7 @@ kind: Task
metadata:
name: consumer-jira
labels:
- v1.dracon.ocurity.com/component: consumer
+ v1.smithy.smithy-security.com/component: consumer
spec:
description: Pushes findings to a Jira instance.
volumes:
@@ -28,8 +28,8 @@ spec:
imagePullPolicy: IfNotPresent
image: docker.io/busybox:1.35.0
script: |
- mkdir -p $(workspaces.output.path)/.dracon/consumers/jira
- cat <<'EOF' > $(workspaces.output.path)/.dracon/consumers/jira/config.json
+ mkdir -p $(workspaces.output.path)/.smithy/consumers/jira
+ cat <<'EOF' > $(workspaces.output.path)/.smithy/consumers/jira/config.json
{
"defaultValues": {
"project": "$(params.consumer-jira-project-name)",
@@ -40,23 +40,23 @@ spec:
"mappings": null
}
EOF
- cat $(workspaces.output.path)/.dracon/consumers/jira/config.json
+ cat $(workspaces.output.path)/.smithy/consumers/jira/config.json
- name: run-consumer
imagePullPolicy: IfNotPresent
- image: '{{ default "ghcr.io/ocurity/dracon" .Values.image.registry }}/components/consumers/jira:{{ .Chart.AppVersion }}'
+ image: '{{ default "ghcr.io/smithy-security/smithy" .Values.image.registry }}/components/consumers/jira:{{ .Chart.AppVersion }}'
command: ["/app/components/consumers/jira/jira"]
env:
- - name: DRACON_JIRA_TOKEN
+ - name: SMITHY_JIRA_TOKEN
value: $(params.consumer-jira-api-token)
- - name: DRACON_JIRA_USER
+ - name: SMITHY_JIRA_USER
value: $(params.consumer-jira-user)
- - name: DRACON_JIRA_URL
+ - name: SMITHY_JIRA_URL
value: $(params.consumer-jira-url)
- - name: DRACON_JIRA_CONFIG_PATH
- value: $(workspaces.output.path)/.dracon/consumers/jira/config.json
+ - name: SMITHY_JIRA_CONFIG_PATH
+ value: $(workspaces.output.path)/.smithy/consumers/jira/config.json
args: [
"-in",
- "$(workspaces.output.path)/.dracon/enrichers/",
+ "$(workspaces.output.path)/.smithy/enrichers/",
"-severity-threshold",
"0"
]
diff --git a/components/consumers/jira/utils/utils.go b/components/consumers/jira/utils/utils.go
index e01285b9b..9e53d71f4 100644
--- a/components/consumers/jira/utils/utils.go
+++ b/components/consumers/jira/utils/utils.go
@@ -3,13 +3,13 @@ package utils
import (
"log"
- v1 "github.com/ocurity/dracon/api/proto/v1"
- "github.com/ocurity/dracon/components/consumers"
- "github.com/ocurity/dracon/pkg/jira/document"
+ v1 "github.com/smithy-security/smithy/api/proto/v1"
+ "github.com/smithy-security/smithy/components/consumers"
+ "github.com/smithy-security/smithy/pkg/jira/document"
)
// ProcessMessages processess all the v1.LaunchToolResponses (or v1.EnrichedToolResponses if consumers.Raw is false) and returns:
-// :return messages - a list of HashMaps containing all the parsed dracon issues that are equal & above the specified severity threshold
+// :return messages - a list of HashMaps containing all the parsed smithy issues that are equal & above the specified severity threshold
// :return discardedMsgs - the number of messages that have been discarded by the allowDuplicates or allowFP policies
// :return error - if there is any error throughout the processing.
func ProcessMessages(allowDuplicates, allowFP bool, sevThreshold int) ([]document.Document, int, error) {
diff --git a/components/consumers/jira/utils/utils_test.go b/components/consumers/jira/utils/utils_test.go
index bd91dcfad..82ac38da3 100644
--- a/components/consumers/jira/utils/utils_test.go
+++ b/components/consumers/jira/utils/utils_test.go
@@ -9,8 +9,8 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
- v1 "github.com/ocurity/dracon/api/proto/v1"
- "github.com/ocurity/dracon/pkg/jira/document"
+ v1 "github.com/smithy-security/smithy/api/proto/v1"
+ "github.com/smithy-security/smithy/pkg/jira/document"
)
func TestProcessEnrichedMessages(t *testing.T) {
diff --git a/components/consumers/mongodb/main.go b/components/consumers/mongodb/main.go
index d083a357f..3b74bea8d 100644
--- a/components/consumers/mongodb/main.go
+++ b/components/consumers/mongodb/main.go
@@ -10,7 +10,7 @@ import (
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
- "github.com/ocurity/dracon/components/consumers"
+ "github.com/smithy-security/smithy/components/consumers"
)
var (
@@ -51,7 +51,7 @@ func run(ctx context.Context) error {
coll := client.Database(dbName).Collection(collectionName)
- // Enumerate Dracon Issues to consume and create documents for each of them.
+ // Enumerate Smithy Issues to consume and create documents for each of them.
if consumers.Raw {
log.Println("Parsing Raw results")
responses, err := consumers.LoadToolResponse()
diff --git a/components/consumers/mongodb/task.yaml b/components/consumers/mongodb/task.yaml
index d49680011..b3504abf0 100644
--- a/components/consumers/mongodb/task.yaml
+++ b/components/consumers/mongodb/task.yaml
@@ -4,13 +4,13 @@ kind: Task
metadata:
name: consumer-mongodb
labels:
- v1.dracon.ocurity.com/component: consumer
+ v1.smithy.smithy-security.com/component: consumer
spec:
description: Pushes findings to a MongoDB database.
params:
- name: consumer-mongodb-db-uri
type: string
- default: "mongodb://consumer-mongodb:consumer-mongodb@dracon-mongodb:27017/consumer-mongodb"
+ default: "mongodb://consumer-mongodb:consumer-mongodb@smithy-mongodb:27017/consumer-mongodb"
- name: consumer-mongodb-db-name
type: string
default: "consumer-mongodb"
@@ -23,10 +23,10 @@ spec:
steps:
- name: run-consumer
imagePullPolicy: IfNotPresent
- image: '{{ default "ghcr.io/ocurity/dracon" .Values.image.registry }}/components/consumers/mongodb:{{ .Chart.AppVersion }}'
+ image: '{{ default "ghcr.io/smithy-security/smithy" .Values.image.registry }}/components/consumers/mongodb:{{ .Chart.AppVersion }}'
command: ["/app/components/consumers/mongodb/mongodb"]
args: [
- "-in", "$(workspaces.output.path)/.dracon/enrichers/",
+ "-in", "$(workspaces.output.path)/.smithy/enrichers/",
"-db-uri", "$(params.consumer-mongodb-db-uri)",
"-db-name", "$(params.consumer-mongodb-db-name)",
"-collection-name", "$(params.consumer-mongodb-collection-name)",
diff --git a/components/consumers/pdf/Dockerfile b/components/consumers/pdf/Dockerfile
index b2ffb4a6b..304da6b0a 100644
--- a/components/consumers/pdf/Dockerfile
+++ b/components/consumers/pdf/Dockerfile
@@ -1,7 +1,7 @@
FROM golang:latest
WORKDIR /playwright
-RUN go mod init github.com/ocurity/pdf-consumer && \
+RUN go mod init github.com/smithy-security/pdf-consumer && \
go get -u github.com/playwright-community/playwright-go && \
go run github.com/playwright-community/playwright-go/cmd/playwright@latest install --with-deps
diff --git a/components/consumers/pdf/default.html b/components/consumers/pdf/default.html
index 6b49abe8c..0a9d7ecc8 100644
--- a/components/consumers/pdf/default.html
+++ b/components/consumers/pdf/default.html
@@ -110,8 +110,8 @@
-
- Dracon Report
+
+ Smithy Report
@@ -119,7 +119,7 @@
Dracon Report
-
This report summarizes the results of running Dracon.
+
This report summarizes the results of running Smithy.
@@ -180,4 +180,4 @@
Total High Severity Findings
{{end}}
-