From 58350ab626288a2f2f985da3f13d59d013bc78ab Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:02:00 +0100 Subject: [PATCH 01/40] Updated .gitignore to move openapi docs --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index beb1c0d2..9ad706a5 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,7 @@ plugins/* build/* !build/build.md bin/* -swaggerdocs/* +api/* **.env test/cacao/flatfile-db-example.json From 0e3a4eb0580175372506599baa9ae23b83a90bb8 Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:05:38 +0100 Subject: [PATCH 02/40] Moved main to cmd/soarca --- main.go => cmd/soarca/main.go | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) rename main.go => cmd/soarca/main.go (77%) diff --git a/main.go b/cmd/soarca/main.go similarity index 77% rename from main.go rename to cmd/soarca/main.go index 21903c21..fbb24813 100644 --- a/main.go +++ b/cmd/soarca/main.go @@ -3,11 +3,11 @@ package main import ( "fmt" + api "soarca/api" "soarca/internal/controller" - "soarca/logger" - "soarca/routes/status" - "soarca/swaggerdocs" - "soarca/utils" + "soarca/internal/logger" + "soarca/pkg/api/status" + "soarca/pkg/utils" "github.com/joho/godotenv" ) @@ -36,25 +36,25 @@ const banner = ` ` -// @title SOARCA API -// @version 1.0.0 +// @title SOARCA API +// @version 1.0.0 func main() { fmt.Print(banner) log.Info("Version: ", Version) log.Info("Buildtime: ", Buildtime) - errenv := godotenv.Load(".env") - if errenv != nil { + err := godotenv.Load(".env") + if err != nil { log.Warning("Failed to read env variable, but will continue") } Host = "localhost:" + utils.GetEnv("PORT", "8080") - swaggerdocs.SwaggerInfo.Host = Host + api.SwaggerInfo.Host = Host // Version is only available here status.SetVersion(Version) - errinit := controller.Initialize() - if errinit != nil { - log.Fatal("Something Went wrong with setting-up the app, msg: ", errinit) - panic(errinit) + err = controller.Initialize() + if err != nil { + log.Fatal("Something Went wrong with setting-up the app, msg: ", err) + panic(err) } } From 55926585935b5de5316431d06e91705be17976cd Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:06:55 +0100 Subject: [PATCH 03/40] Moved playbooks to examples folder --- {example => examples}/http-playbook.json | 0 {example => examples}/openc2-playbook.json | 0 {example => examples}/powershell-playbook.json | 0 {example => examples}/ssh-playbook.json | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename {example => examples}/http-playbook.json (100%) rename {example => examples}/openc2-playbook.json (100%) rename {example => examples}/powershell-playbook.json (100%) rename {example => examples}/ssh-playbook.json (100%) diff --git a/example/http-playbook.json b/examples/http-playbook.json similarity index 100% rename from example/http-playbook.json rename to examples/http-playbook.json diff --git a/example/openc2-playbook.json b/examples/openc2-playbook.json similarity index 100% rename from example/openc2-playbook.json rename to examples/openc2-playbook.json diff --git a/example/powershell-playbook.json b/examples/powershell-playbook.json similarity index 100% rename from example/powershell-playbook.json rename to examples/powershell-playbook.json diff --git a/example/ssh-playbook.json b/examples/ssh-playbook.json similarity index 100% rename from example/ssh-playbook.json rename to examples/ssh-playbook.json From 101bb73f3149ecbf3c92bf2ab68e116e92f632fa Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:08:28 +0100 Subject: [PATCH 04/40] Moved models inside pkg --- {models => pkg/models}/api/api.go | 0 {models => pkg/models}/api/error.go | 0 {models => pkg/models}/api/execution.go | 0 {models => pkg/models}/api/reporter.go | 0 {models => pkg/models}/api/status.go | 0 {models => pkg/models}/cacao/cacao.go | 0 {models => pkg/models}/cacao/initializers.go | 0 {models => pkg/models}/cacao/variables.go | 0 {models => pkg/models}/cacao/variables_test.go | 0 {models => pkg/models}/cache/cache.go | 0 {models => pkg/models}/decoder/decoder.go | 0 {models => pkg/models}/decoder/decoder_test.go | 0 {models => pkg/models}/execution/execution.go | 0 {models => pkg/models}/fin/fin.go | 0 {models => pkg/models}/fin/finmodel_test.go | 0 {models => pkg/models}/validator/playbook.go | 0 {models => pkg/models}/validator/schema.go | 0 .../models}/validator/schemas/agent-target/agent-target.json | 0 {models => pkg/models}/validator/schemas/agent-target/group.json | 0 .../models}/validator/schemas/agent-target/http-api.json | 0 .../models}/validator/schemas/agent-target/individual.json | 0 {models => pkg/models}/validator/schemas/agent-target/linux.json | 0 .../models}/validator/schemas/agent-target/location.json | 0 .../models}/validator/schemas/agent-target/net-address.json | 0 .../models}/validator/schemas/agent-target/organization.json | 0 {models => pkg/models}/validator/schemas/agent-target/sector.json | 0 .../models}/validator/schemas/agent-target/security-category.json | 0 {models => pkg/models}/validator/schemas/agent-target/ssh.json | 0 .../schemas/authentication-info/authentication-info.json | 0 .../models}/validator/schemas/authentication-info/http-basic.json | 0 .../models}/validator/schemas/authentication-info/oauth2.json | 0 .../models}/validator/schemas/authentication-info/user-auth.json | 0 {models => pkg/models}/validator/schemas/commands/bash.json | 0 .../models}/validator/schemas/commands/caldera-cmd.json | 0 .../models}/validator/schemas/commands/command-data.json | 0 {models => pkg/models}/validator/schemas/commands/elastic.json | 0 {models => pkg/models}/validator/schemas/commands/http-api.json | 0 {models => pkg/models}/validator/schemas/commands/jupyter.json | 0 {models => pkg/models}/validator/schemas/commands/kestrel.json | 0 {models => pkg/models}/validator/schemas/commands/manual.json | 0 .../models}/validator/schemas/commands/openc2-http.json | 0 {models => pkg/models}/validator/schemas/commands/powershell.json | 0 {models => pkg/models}/validator/schemas/commands/sigma.json | 0 {models => pkg/models}/validator/schemas/commands/ssh.json | 0 {models => pkg/models}/validator/schemas/commands/yara.json | 0 .../models}/validator/schemas/data-markings/data-marking.json | 0 .../models}/validator/schemas/data-markings/marking-iep.json | 0 .../validator/schemas/data-markings/marking-statement.json | 0 .../models}/validator/schemas/data-markings/marking-tlp.json | 0 .../models}/validator/schemas/data-types/civic-location.json | 0 {models => pkg/models}/validator/schemas/data-types/contact.json | 0 .../models}/validator/schemas/data-types/external-reference.json | 0 .../models}/validator/schemas/data-types/identifier.json | 0 .../validator/schemas/data-types/playbook-processing-summary.json | 0 .../models}/validator/schemas/data-types/signature.json | 0 .../models}/validator/schemas/data-types/timestamp.json | 0 {models => pkg/models}/validator/schemas/data-types/variable.json | 0 .../schemas/extension-definition/extension-definition.json | 0 {models => pkg/models}/validator/schemas/playbook.json | 0 {models => pkg/models}/validator/schemas/workflows/action.json | 0 {models => pkg/models}/validator/schemas/workflows/end.json | 0 .../models}/validator/schemas/workflows/if-condition.json | 0 {models => pkg/models}/validator/schemas/workflows/parallel.json | 0 .../models}/validator/schemas/workflows/playbook-action.json | 0 {models => pkg/models}/validator/schemas/workflows/start.json | 0 .../models}/validator/schemas/workflows/switch-condition.json | 0 .../models}/validator/schemas/workflows/while-condition.json | 0 .../models}/validator/schemas/workflows/workflow-step.json | 0 {models => pkg/models}/validator/validators_test.go | 0 69 files changed, 0 insertions(+), 0 deletions(-) rename {models => pkg/models}/api/api.go (100%) rename {models => pkg/models}/api/error.go (100%) rename {models => pkg/models}/api/execution.go (100%) rename {models => pkg/models}/api/reporter.go (100%) rename {models => pkg/models}/api/status.go (100%) rename {models => pkg/models}/cacao/cacao.go (100%) rename {models => pkg/models}/cacao/initializers.go (100%) rename {models => pkg/models}/cacao/variables.go (100%) rename {models => pkg/models}/cacao/variables_test.go (100%) rename {models => pkg/models}/cache/cache.go (100%) rename {models => pkg/models}/decoder/decoder.go (100%) rename {models => pkg/models}/decoder/decoder_test.go (100%) rename {models => pkg/models}/execution/execution.go (100%) rename {models => pkg/models}/fin/fin.go (100%) rename {models => pkg/models}/fin/finmodel_test.go (100%) rename {models => pkg/models}/validator/playbook.go (100%) rename {models => pkg/models}/validator/schema.go (100%) rename {models => pkg/models}/validator/schemas/agent-target/agent-target.json (100%) rename {models => pkg/models}/validator/schemas/agent-target/group.json (100%) rename {models => pkg/models}/validator/schemas/agent-target/http-api.json (100%) rename {models => pkg/models}/validator/schemas/agent-target/individual.json (100%) rename {models => pkg/models}/validator/schemas/agent-target/linux.json (100%) rename {models => pkg/models}/validator/schemas/agent-target/location.json (100%) rename {models => pkg/models}/validator/schemas/agent-target/net-address.json (100%) rename {models => pkg/models}/validator/schemas/agent-target/organization.json (100%) rename {models => pkg/models}/validator/schemas/agent-target/sector.json (100%) rename {models => pkg/models}/validator/schemas/agent-target/security-category.json (100%) rename {models => pkg/models}/validator/schemas/agent-target/ssh.json (100%) rename {models => pkg/models}/validator/schemas/authentication-info/authentication-info.json (100%) rename {models => pkg/models}/validator/schemas/authentication-info/http-basic.json (100%) rename {models => pkg/models}/validator/schemas/authentication-info/oauth2.json (100%) rename {models => pkg/models}/validator/schemas/authentication-info/user-auth.json (100%) rename {models => pkg/models}/validator/schemas/commands/bash.json (100%) rename {models => pkg/models}/validator/schemas/commands/caldera-cmd.json (100%) rename {models => pkg/models}/validator/schemas/commands/command-data.json (100%) rename {models => pkg/models}/validator/schemas/commands/elastic.json (100%) rename {models => pkg/models}/validator/schemas/commands/http-api.json (100%) rename {models => pkg/models}/validator/schemas/commands/jupyter.json (100%) rename {models => pkg/models}/validator/schemas/commands/kestrel.json (100%) rename {models => pkg/models}/validator/schemas/commands/manual.json (100%) rename {models => pkg/models}/validator/schemas/commands/openc2-http.json (100%) rename {models => pkg/models}/validator/schemas/commands/powershell.json (100%) rename {models => pkg/models}/validator/schemas/commands/sigma.json (100%) rename {models => pkg/models}/validator/schemas/commands/ssh.json (100%) rename {models => pkg/models}/validator/schemas/commands/yara.json (100%) rename {models => pkg/models}/validator/schemas/data-markings/data-marking.json (100%) rename {models => pkg/models}/validator/schemas/data-markings/marking-iep.json (100%) rename {models => pkg/models}/validator/schemas/data-markings/marking-statement.json (100%) rename {models => pkg/models}/validator/schemas/data-markings/marking-tlp.json (100%) rename {models => pkg/models}/validator/schemas/data-types/civic-location.json (100%) rename {models => pkg/models}/validator/schemas/data-types/contact.json (100%) rename {models => pkg/models}/validator/schemas/data-types/external-reference.json (100%) rename {models => pkg/models}/validator/schemas/data-types/identifier.json (100%) rename {models => pkg/models}/validator/schemas/data-types/playbook-processing-summary.json (100%) rename {models => pkg/models}/validator/schemas/data-types/signature.json (100%) rename {models => pkg/models}/validator/schemas/data-types/timestamp.json (100%) rename {models => pkg/models}/validator/schemas/data-types/variable.json (100%) rename {models => pkg/models}/validator/schemas/extension-definition/extension-definition.json (100%) rename {models => pkg/models}/validator/schemas/playbook.json (100%) rename {models => pkg/models}/validator/schemas/workflows/action.json (100%) rename {models => pkg/models}/validator/schemas/workflows/end.json (100%) rename {models => pkg/models}/validator/schemas/workflows/if-condition.json (100%) rename {models => pkg/models}/validator/schemas/workflows/parallel.json (100%) rename {models => pkg/models}/validator/schemas/workflows/playbook-action.json (100%) rename {models => pkg/models}/validator/schemas/workflows/start.json (100%) rename {models => pkg/models}/validator/schemas/workflows/switch-condition.json (100%) rename {models => pkg/models}/validator/schemas/workflows/while-condition.json (100%) rename {models => pkg/models}/validator/schemas/workflows/workflow-step.json (100%) rename {models => pkg/models}/validator/validators_test.go (100%) diff --git a/models/api/api.go b/pkg/models/api/api.go similarity index 100% rename from models/api/api.go rename to pkg/models/api/api.go diff --git a/models/api/error.go b/pkg/models/api/error.go similarity index 100% rename from models/api/error.go rename to pkg/models/api/error.go diff --git a/models/api/execution.go b/pkg/models/api/execution.go similarity index 100% rename from models/api/execution.go rename to pkg/models/api/execution.go diff --git a/models/api/reporter.go b/pkg/models/api/reporter.go similarity index 100% rename from models/api/reporter.go rename to pkg/models/api/reporter.go diff --git a/models/api/status.go b/pkg/models/api/status.go similarity index 100% rename from models/api/status.go rename to pkg/models/api/status.go diff --git a/models/cacao/cacao.go b/pkg/models/cacao/cacao.go similarity index 100% rename from models/cacao/cacao.go rename to pkg/models/cacao/cacao.go diff --git a/models/cacao/initializers.go b/pkg/models/cacao/initializers.go similarity index 100% rename from models/cacao/initializers.go rename to pkg/models/cacao/initializers.go diff --git a/models/cacao/variables.go b/pkg/models/cacao/variables.go similarity index 100% rename from models/cacao/variables.go rename to pkg/models/cacao/variables.go diff --git a/models/cacao/variables_test.go b/pkg/models/cacao/variables_test.go similarity index 100% rename from models/cacao/variables_test.go rename to pkg/models/cacao/variables_test.go diff --git a/models/cache/cache.go b/pkg/models/cache/cache.go similarity index 100% rename from models/cache/cache.go rename to pkg/models/cache/cache.go diff --git a/models/decoder/decoder.go b/pkg/models/decoder/decoder.go similarity index 100% rename from models/decoder/decoder.go rename to pkg/models/decoder/decoder.go diff --git a/models/decoder/decoder_test.go b/pkg/models/decoder/decoder_test.go similarity index 100% rename from models/decoder/decoder_test.go rename to pkg/models/decoder/decoder_test.go diff --git a/models/execution/execution.go b/pkg/models/execution/execution.go similarity index 100% rename from models/execution/execution.go rename to pkg/models/execution/execution.go diff --git a/models/fin/fin.go b/pkg/models/fin/fin.go similarity index 100% rename from models/fin/fin.go rename to pkg/models/fin/fin.go diff --git a/models/fin/finmodel_test.go b/pkg/models/fin/finmodel_test.go similarity index 100% rename from models/fin/finmodel_test.go rename to pkg/models/fin/finmodel_test.go diff --git a/models/validator/playbook.go b/pkg/models/validator/playbook.go similarity index 100% rename from models/validator/playbook.go rename to pkg/models/validator/playbook.go diff --git a/models/validator/schema.go b/pkg/models/validator/schema.go similarity index 100% rename from models/validator/schema.go rename to pkg/models/validator/schema.go diff --git a/models/validator/schemas/agent-target/agent-target.json b/pkg/models/validator/schemas/agent-target/agent-target.json similarity index 100% rename from models/validator/schemas/agent-target/agent-target.json rename to pkg/models/validator/schemas/agent-target/agent-target.json diff --git a/models/validator/schemas/agent-target/group.json b/pkg/models/validator/schemas/agent-target/group.json similarity index 100% rename from models/validator/schemas/agent-target/group.json rename to pkg/models/validator/schemas/agent-target/group.json diff --git a/models/validator/schemas/agent-target/http-api.json b/pkg/models/validator/schemas/agent-target/http-api.json similarity index 100% rename from models/validator/schemas/agent-target/http-api.json rename to pkg/models/validator/schemas/agent-target/http-api.json diff --git a/models/validator/schemas/agent-target/individual.json b/pkg/models/validator/schemas/agent-target/individual.json similarity index 100% rename from models/validator/schemas/agent-target/individual.json rename to pkg/models/validator/schemas/agent-target/individual.json diff --git a/models/validator/schemas/agent-target/linux.json b/pkg/models/validator/schemas/agent-target/linux.json similarity index 100% rename from models/validator/schemas/agent-target/linux.json rename to pkg/models/validator/schemas/agent-target/linux.json diff --git a/models/validator/schemas/agent-target/location.json b/pkg/models/validator/schemas/agent-target/location.json similarity index 100% rename from models/validator/schemas/agent-target/location.json rename to pkg/models/validator/schemas/agent-target/location.json diff --git a/models/validator/schemas/agent-target/net-address.json b/pkg/models/validator/schemas/agent-target/net-address.json similarity index 100% rename from models/validator/schemas/agent-target/net-address.json rename to pkg/models/validator/schemas/agent-target/net-address.json diff --git a/models/validator/schemas/agent-target/organization.json b/pkg/models/validator/schemas/agent-target/organization.json similarity index 100% rename from models/validator/schemas/agent-target/organization.json rename to pkg/models/validator/schemas/agent-target/organization.json diff --git a/models/validator/schemas/agent-target/sector.json b/pkg/models/validator/schemas/agent-target/sector.json similarity index 100% rename from models/validator/schemas/agent-target/sector.json rename to pkg/models/validator/schemas/agent-target/sector.json diff --git a/models/validator/schemas/agent-target/security-category.json b/pkg/models/validator/schemas/agent-target/security-category.json similarity index 100% rename from models/validator/schemas/agent-target/security-category.json rename to pkg/models/validator/schemas/agent-target/security-category.json diff --git a/models/validator/schemas/agent-target/ssh.json b/pkg/models/validator/schemas/agent-target/ssh.json similarity index 100% rename from models/validator/schemas/agent-target/ssh.json rename to pkg/models/validator/schemas/agent-target/ssh.json diff --git a/models/validator/schemas/authentication-info/authentication-info.json b/pkg/models/validator/schemas/authentication-info/authentication-info.json similarity index 100% rename from models/validator/schemas/authentication-info/authentication-info.json rename to pkg/models/validator/schemas/authentication-info/authentication-info.json diff --git a/models/validator/schemas/authentication-info/http-basic.json b/pkg/models/validator/schemas/authentication-info/http-basic.json similarity index 100% rename from models/validator/schemas/authentication-info/http-basic.json rename to pkg/models/validator/schemas/authentication-info/http-basic.json diff --git a/models/validator/schemas/authentication-info/oauth2.json b/pkg/models/validator/schemas/authentication-info/oauth2.json similarity index 100% rename from models/validator/schemas/authentication-info/oauth2.json rename to pkg/models/validator/schemas/authentication-info/oauth2.json diff --git a/models/validator/schemas/authentication-info/user-auth.json b/pkg/models/validator/schemas/authentication-info/user-auth.json similarity index 100% rename from models/validator/schemas/authentication-info/user-auth.json rename to pkg/models/validator/schemas/authentication-info/user-auth.json diff --git a/models/validator/schemas/commands/bash.json b/pkg/models/validator/schemas/commands/bash.json similarity index 100% rename from models/validator/schemas/commands/bash.json rename to pkg/models/validator/schemas/commands/bash.json diff --git a/models/validator/schemas/commands/caldera-cmd.json b/pkg/models/validator/schemas/commands/caldera-cmd.json similarity index 100% rename from models/validator/schemas/commands/caldera-cmd.json rename to pkg/models/validator/schemas/commands/caldera-cmd.json diff --git a/models/validator/schemas/commands/command-data.json b/pkg/models/validator/schemas/commands/command-data.json similarity index 100% rename from models/validator/schemas/commands/command-data.json rename to pkg/models/validator/schemas/commands/command-data.json diff --git a/models/validator/schemas/commands/elastic.json b/pkg/models/validator/schemas/commands/elastic.json similarity index 100% rename from models/validator/schemas/commands/elastic.json rename to pkg/models/validator/schemas/commands/elastic.json diff --git a/models/validator/schemas/commands/http-api.json b/pkg/models/validator/schemas/commands/http-api.json similarity index 100% rename from models/validator/schemas/commands/http-api.json rename to pkg/models/validator/schemas/commands/http-api.json diff --git a/models/validator/schemas/commands/jupyter.json b/pkg/models/validator/schemas/commands/jupyter.json similarity index 100% rename from models/validator/schemas/commands/jupyter.json rename to pkg/models/validator/schemas/commands/jupyter.json diff --git a/models/validator/schemas/commands/kestrel.json b/pkg/models/validator/schemas/commands/kestrel.json similarity index 100% rename from models/validator/schemas/commands/kestrel.json rename to pkg/models/validator/schemas/commands/kestrel.json diff --git a/models/validator/schemas/commands/manual.json b/pkg/models/validator/schemas/commands/manual.json similarity index 100% rename from models/validator/schemas/commands/manual.json rename to pkg/models/validator/schemas/commands/manual.json diff --git a/models/validator/schemas/commands/openc2-http.json b/pkg/models/validator/schemas/commands/openc2-http.json similarity index 100% rename from models/validator/schemas/commands/openc2-http.json rename to pkg/models/validator/schemas/commands/openc2-http.json diff --git a/models/validator/schemas/commands/powershell.json b/pkg/models/validator/schemas/commands/powershell.json similarity index 100% rename from models/validator/schemas/commands/powershell.json rename to pkg/models/validator/schemas/commands/powershell.json diff --git a/models/validator/schemas/commands/sigma.json b/pkg/models/validator/schemas/commands/sigma.json similarity index 100% rename from models/validator/schemas/commands/sigma.json rename to pkg/models/validator/schemas/commands/sigma.json diff --git a/models/validator/schemas/commands/ssh.json b/pkg/models/validator/schemas/commands/ssh.json similarity index 100% rename from models/validator/schemas/commands/ssh.json rename to pkg/models/validator/schemas/commands/ssh.json diff --git a/models/validator/schemas/commands/yara.json b/pkg/models/validator/schemas/commands/yara.json similarity index 100% rename from models/validator/schemas/commands/yara.json rename to pkg/models/validator/schemas/commands/yara.json diff --git a/models/validator/schemas/data-markings/data-marking.json b/pkg/models/validator/schemas/data-markings/data-marking.json similarity index 100% rename from models/validator/schemas/data-markings/data-marking.json rename to pkg/models/validator/schemas/data-markings/data-marking.json diff --git a/models/validator/schemas/data-markings/marking-iep.json b/pkg/models/validator/schemas/data-markings/marking-iep.json similarity index 100% rename from models/validator/schemas/data-markings/marking-iep.json rename to pkg/models/validator/schemas/data-markings/marking-iep.json diff --git a/models/validator/schemas/data-markings/marking-statement.json b/pkg/models/validator/schemas/data-markings/marking-statement.json similarity index 100% rename from models/validator/schemas/data-markings/marking-statement.json rename to pkg/models/validator/schemas/data-markings/marking-statement.json diff --git a/models/validator/schemas/data-markings/marking-tlp.json b/pkg/models/validator/schemas/data-markings/marking-tlp.json similarity index 100% rename from models/validator/schemas/data-markings/marking-tlp.json rename to pkg/models/validator/schemas/data-markings/marking-tlp.json diff --git a/models/validator/schemas/data-types/civic-location.json b/pkg/models/validator/schemas/data-types/civic-location.json similarity index 100% rename from models/validator/schemas/data-types/civic-location.json rename to pkg/models/validator/schemas/data-types/civic-location.json diff --git a/models/validator/schemas/data-types/contact.json b/pkg/models/validator/schemas/data-types/contact.json similarity index 100% rename from models/validator/schemas/data-types/contact.json rename to pkg/models/validator/schemas/data-types/contact.json diff --git a/models/validator/schemas/data-types/external-reference.json b/pkg/models/validator/schemas/data-types/external-reference.json similarity index 100% rename from models/validator/schemas/data-types/external-reference.json rename to pkg/models/validator/schemas/data-types/external-reference.json diff --git a/models/validator/schemas/data-types/identifier.json b/pkg/models/validator/schemas/data-types/identifier.json similarity index 100% rename from models/validator/schemas/data-types/identifier.json rename to pkg/models/validator/schemas/data-types/identifier.json diff --git a/models/validator/schemas/data-types/playbook-processing-summary.json b/pkg/models/validator/schemas/data-types/playbook-processing-summary.json similarity index 100% rename from models/validator/schemas/data-types/playbook-processing-summary.json rename to pkg/models/validator/schemas/data-types/playbook-processing-summary.json diff --git a/models/validator/schemas/data-types/signature.json b/pkg/models/validator/schemas/data-types/signature.json similarity index 100% rename from models/validator/schemas/data-types/signature.json rename to pkg/models/validator/schemas/data-types/signature.json diff --git a/models/validator/schemas/data-types/timestamp.json b/pkg/models/validator/schemas/data-types/timestamp.json similarity index 100% rename from models/validator/schemas/data-types/timestamp.json rename to pkg/models/validator/schemas/data-types/timestamp.json diff --git a/models/validator/schemas/data-types/variable.json b/pkg/models/validator/schemas/data-types/variable.json similarity index 100% rename from models/validator/schemas/data-types/variable.json rename to pkg/models/validator/schemas/data-types/variable.json diff --git a/models/validator/schemas/extension-definition/extension-definition.json b/pkg/models/validator/schemas/extension-definition/extension-definition.json similarity index 100% rename from models/validator/schemas/extension-definition/extension-definition.json rename to pkg/models/validator/schemas/extension-definition/extension-definition.json diff --git a/models/validator/schemas/playbook.json b/pkg/models/validator/schemas/playbook.json similarity index 100% rename from models/validator/schemas/playbook.json rename to pkg/models/validator/schemas/playbook.json diff --git a/models/validator/schemas/workflows/action.json b/pkg/models/validator/schemas/workflows/action.json similarity index 100% rename from models/validator/schemas/workflows/action.json rename to pkg/models/validator/schemas/workflows/action.json diff --git a/models/validator/schemas/workflows/end.json b/pkg/models/validator/schemas/workflows/end.json similarity index 100% rename from models/validator/schemas/workflows/end.json rename to pkg/models/validator/schemas/workflows/end.json diff --git a/models/validator/schemas/workflows/if-condition.json b/pkg/models/validator/schemas/workflows/if-condition.json similarity index 100% rename from models/validator/schemas/workflows/if-condition.json rename to pkg/models/validator/schemas/workflows/if-condition.json diff --git a/models/validator/schemas/workflows/parallel.json b/pkg/models/validator/schemas/workflows/parallel.json similarity index 100% rename from models/validator/schemas/workflows/parallel.json rename to pkg/models/validator/schemas/workflows/parallel.json diff --git a/models/validator/schemas/workflows/playbook-action.json b/pkg/models/validator/schemas/workflows/playbook-action.json similarity index 100% rename from models/validator/schemas/workflows/playbook-action.json rename to pkg/models/validator/schemas/workflows/playbook-action.json diff --git a/models/validator/schemas/workflows/start.json b/pkg/models/validator/schemas/workflows/start.json similarity index 100% rename from models/validator/schemas/workflows/start.json rename to pkg/models/validator/schemas/workflows/start.json diff --git a/models/validator/schemas/workflows/switch-condition.json b/pkg/models/validator/schemas/workflows/switch-condition.json similarity index 100% rename from models/validator/schemas/workflows/switch-condition.json rename to pkg/models/validator/schemas/workflows/switch-condition.json diff --git a/models/validator/schemas/workflows/while-condition.json b/pkg/models/validator/schemas/workflows/while-condition.json similarity index 100% rename from models/validator/schemas/workflows/while-condition.json rename to pkg/models/validator/schemas/workflows/while-condition.json diff --git a/models/validator/schemas/workflows/workflow-step.json b/pkg/models/validator/schemas/workflows/workflow-step.json similarity index 100% rename from models/validator/schemas/workflows/workflow-step.json rename to pkg/models/validator/schemas/workflows/workflow-step.json diff --git a/models/validator/validators_test.go b/pkg/models/validator/validators_test.go similarity index 100% rename from models/validator/validators_test.go rename to pkg/models/validator/validators_test.go From 54c4e5957b802a68e115eee1f8cada8ea191e36c Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:08:59 +0100 Subject: [PATCH 05/40] Fixed files in models --- pkg/models/api/reporter.go | 4 ++-- pkg/models/cache/cache.go | 2 +- pkg/models/decoder/decoder.go | 6 +++--- pkg/models/decoder/decoder_test.go | 2 +- pkg/models/fin/fin.go | 14 +++++++------- pkg/models/validator/playbook.go | 4 ++-- pkg/models/validator/schema.go | 6 +++--- pkg/models/validator/validators_test.go | 4 ++-- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/pkg/models/api/reporter.go b/pkg/models/api/reporter.go index 5c34aa70..424fc4fd 100644 --- a/pkg/models/api/reporter.go +++ b/pkg/models/api/reporter.go @@ -3,8 +3,8 @@ package api import ( "errors" "fmt" - "soarca/models/cacao" - cache_model "soarca/models/cache" + "soarca/pkg/models/cacao" + cache_model "soarca/pkg/models/cache" "time" ) diff --git a/pkg/models/cache/cache.go b/pkg/models/cache/cache.go index 5edb819e..9e480f07 100644 --- a/pkg/models/cache/cache.go +++ b/pkg/models/cache/cache.go @@ -1,7 +1,7 @@ package cache import ( - "soarca/models/cacao" + "soarca/pkg/models/cacao" "time" "github.com/google/uuid" diff --git a/pkg/models/decoder/decoder.go b/pkg/models/decoder/decoder.go index dc8d5538..af13b601 100644 --- a/pkg/models/decoder/decoder.go +++ b/pkg/models/decoder/decoder.go @@ -3,9 +3,9 @@ package decoder import ( "encoding/json" "reflect" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/validator" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/models/validator" ) type Empty struct{} diff --git a/pkg/models/decoder/decoder_test.go b/pkg/models/decoder/decoder_test.go index bb1eb60e..6cbfe547 100644 --- a/pkg/models/decoder/decoder_test.go +++ b/pkg/models/decoder/decoder_test.go @@ -15,7 +15,7 @@ import ( // The schemas are CDS01 compatible as they have the following properties renamed: // - "agents" from CDS01 instead of "agent_definitions" from CDS03+ // - "targets" from CDS01 instead of "target_definitions" from CDS03+ -var PB_PATH string = "../../test/playbooks/" +var PB_PATH string = "../../../test/playbooks/" func getTime(data string) time.Time { res, _ := time.Parse(time.RFC3339, data) diff --git a/pkg/models/fin/fin.go b/pkg/models/fin/fin.go index d98b8a69..1eb7b0ae 100644 --- a/pkg/models/fin/fin.go +++ b/pkg/models/fin/fin.go @@ -2,7 +2,7 @@ package fin import ( "encoding/json" - "soarca/models/cacao" + "soarca/pkg/models/cacao" "time" ) @@ -54,12 +54,12 @@ type Capability struct { // Step structure as example to the executor type Step struct { - Type string `json:"type"` - Name string `json:"name"` - Description string `json:"description"` - ExternalReferences []cacao.ExternalReferences `json:"external_references"` - Command string `json:"command"` - Target string `json:"target"` + Type string `json:"type"` + Name string `json:"name"` + Description string `json:"description"` + ExternalReferences []cacao.ExternalReferences `json:"external_references"` + Command string `json:"command"` + Target string `json:"target"` } // Unregister command structure diff --git a/pkg/models/validator/playbook.go b/pkg/models/validator/playbook.go index d62b43e4..c5951306 100644 --- a/pkg/models/validator/playbook.go +++ b/pkg/models/validator/playbook.go @@ -5,8 +5,8 @@ import ( "fmt" "net/mail" - "soarca/logger" - "soarca/models/cacao" + "soarca/internal/logger" + "soarca/pkg/models/cacao" ) func init() { diff --git a/pkg/models/validator/schema.go b/pkg/models/validator/schema.go index d9c8e272..5e955482 100644 --- a/pkg/models/validator/schema.go +++ b/pkg/models/validator/schema.go @@ -6,9 +6,9 @@ import ( "errors" "io/fs" "reflect" - "soarca/logger" - "soarca/models/cacao" - "soarca/utils" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/utils" "strings" "github.com/go-playground/validator/v10" diff --git a/pkg/models/validator/validators_test.go b/pkg/models/validator/validators_test.go index 0a8ce006..331c1c39 100644 --- a/pkg/models/validator/validators_test.go +++ b/pkg/models/validator/validators_test.go @@ -6,14 +6,14 @@ import ( "fmt" "io" "os" - "soarca/models/cacao" + "soarca/pkg/models/cacao" "strings" "testing" "github.com/go-playground/assert/v2" ) -var PB_PATH string = "../../test/playbooks/" +var PB_PATH string = "../../../test/playbooks/" func TestNotValidCacaoJsonInvalidAgentTargetType(t *testing.T) { jsonFile, err := os.Open(PB_PATH + "invalid_playbook.json") From 6f5e32535557b7ee0fab4d25b02b3247ab5d62aa Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:10:08 +0100 Subject: [PATCH 06/40] Moved decompose into pkg/core --- {internal => pkg/core}/decomposer/decomposer.go | 0 {internal => pkg/core}/decomposer/decomposer_test.go | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {internal => pkg/core}/decomposer/decomposer.go (100%) rename {internal => pkg/core}/decomposer/decomposer_test.go (100%) diff --git a/internal/decomposer/decomposer.go b/pkg/core/decomposer/decomposer.go similarity index 100% rename from internal/decomposer/decomposer.go rename to pkg/core/decomposer/decomposer.go diff --git a/internal/decomposer/decomposer_test.go b/pkg/core/decomposer/decomposer_test.go similarity index 100% rename from internal/decomposer/decomposer_test.go rename to pkg/core/decomposer/decomposer_test.go From 216b4c6d1885392756731fbf6b69b828e7a03e86 Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:10:29 +0100 Subject: [PATCH 07/40] Fixed decomposer path --- pkg/core/decomposer/decomposer.go | 16 ++++++++-------- pkg/core/decomposer/decomposer_test.go | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/pkg/core/decomposer/decomposer.go b/pkg/core/decomposer/decomposer.go index ddb61969..39deba81 100644 --- a/pkg/core/decomposer/decomposer.go +++ b/pkg/core/decomposer/decomposer.go @@ -5,15 +5,15 @@ import ( "fmt" "reflect" - "soarca/internal/executors" - "soarca/internal/executors/action" - "soarca/internal/executors/condition" - "soarca/internal/guid" + "soarca/internal/logger" "soarca/internal/reporter" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" - timeUtil "soarca/utils/time" + "soarca/pkg/core/executors" + "soarca/pkg/core/executors/action" + "soarca/pkg/core/executors/condition" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + "soarca/pkg/utils/guid" + timeUtil "soarca/pkg/utils/time" t "time" diff --git a/pkg/core/decomposer/decomposer_test.go b/pkg/core/decomposer/decomposer_test.go index cf915d1a..2bd212a2 100644 --- a/pkg/core/decomposer/decomposer_test.go +++ b/pkg/core/decomposer/decomposer_test.go @@ -6,9 +6,9 @@ import ( "testing" "time" - "soarca/internal/executors/action" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/core/executors/action" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "soarca/test/unittest/mocks/mock_executor" mock_condition_executor "soarca/test/unittest/mocks/mock_executor/condition" mock_playbook_action_executor "soarca/test/unittest/mocks/mock_executor/playbook_action" From 226dbdefeb7e023a85a92e0eb9dd16da968fedee Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:11:00 +0100 Subject: [PATCH 08/40] Moved executors into pkg/core --- {internal => pkg/core}/executors/action/action.go | 0 {internal => pkg/core}/executors/action/action_executor_test.go | 0 {internal => pkg/core}/executors/condition/condition.go | 0 .../core}/executors/condition/condition_executor_test.go | 0 {internal => pkg/core}/executors/executors.go | 0 .../core}/executors/playbook_action/playbook_action.go | 0 .../executors/playbook_action/playbook_action_executor_test.go | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename {internal => pkg/core}/executors/action/action.go (100%) rename {internal => pkg/core}/executors/action/action_executor_test.go (100%) rename {internal => pkg/core}/executors/condition/condition.go (100%) rename {internal => pkg/core}/executors/condition/condition_executor_test.go (100%) rename {internal => pkg/core}/executors/executors.go (100%) rename {internal => pkg/core}/executors/playbook_action/playbook_action.go (100%) rename {internal => pkg/core}/executors/playbook_action/playbook_action_executor_test.go (100%) diff --git a/internal/executors/action/action.go b/pkg/core/executors/action/action.go similarity index 100% rename from internal/executors/action/action.go rename to pkg/core/executors/action/action.go diff --git a/internal/executors/action/action_executor_test.go b/pkg/core/executors/action/action_executor_test.go similarity index 100% rename from internal/executors/action/action_executor_test.go rename to pkg/core/executors/action/action_executor_test.go diff --git a/internal/executors/condition/condition.go b/pkg/core/executors/condition/condition.go similarity index 100% rename from internal/executors/condition/condition.go rename to pkg/core/executors/condition/condition.go diff --git a/internal/executors/condition/condition_executor_test.go b/pkg/core/executors/condition/condition_executor_test.go similarity index 100% rename from internal/executors/condition/condition_executor_test.go rename to pkg/core/executors/condition/condition_executor_test.go diff --git a/internal/executors/executors.go b/pkg/core/executors/executors.go similarity index 100% rename from internal/executors/executors.go rename to pkg/core/executors/executors.go diff --git a/internal/executors/playbook_action/playbook_action.go b/pkg/core/executors/playbook_action/playbook_action.go similarity index 100% rename from internal/executors/playbook_action/playbook_action.go rename to pkg/core/executors/playbook_action/playbook_action.go diff --git a/internal/executors/playbook_action/playbook_action_executor_test.go b/pkg/core/executors/playbook_action/playbook_action_executor_test.go similarity index 100% rename from internal/executors/playbook_action/playbook_action_executor_test.go rename to pkg/core/executors/playbook_action/playbook_action_executor_test.go From 5fa13ae723c92e75103da6395972894acd15b5f5 Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:11:24 +0100 Subject: [PATCH 09/40] Fixed executors files --- pkg/core/executors/action/action.go | 10 +++++----- pkg/core/executors/action/action_executor_test.go | 6 +++--- pkg/core/executors/condition/condition.go | 10 +++++----- .../executors/condition/condition_executor_test.go | 4 ++-- pkg/core/executors/executors.go | 4 ++-- pkg/core/executors/playbook_action/playbook_action.go | 8 ++++---- .../playbook_action/playbook_action_executor_test.go | 6 +++--- 7 files changed, 24 insertions(+), 24 deletions(-) diff --git a/pkg/core/executors/action/action.go b/pkg/core/executors/action/action.go index 6b9f2ad4..235c959e 100644 --- a/pkg/core/executors/action/action.go +++ b/pkg/core/executors/action/action.go @@ -4,12 +4,12 @@ import ( "errors" "fmt" "reflect" - "soarca/internal/capability" + "soarca/internal/logger" "soarca/internal/reporter" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" - timeUtil "soarca/utils/time" + "soarca/pkg/capability" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + timeUtil "soarca/pkg/utils/time" ) var component = reflect.TypeOf(Executor{}).PkgPath() diff --git a/pkg/core/executors/action/action_executor_test.go b/pkg/core/executors/action/action_executor_test.go index 4e58d72d..b5795dde 100644 --- a/pkg/core/executors/action/action_executor_test.go +++ b/pkg/core/executors/action/action_executor_test.go @@ -5,9 +5,9 @@ import ( "testing" "time" - "soarca/internal/capability" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/capability" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "soarca/test/unittest/mocks/mock_capability" "soarca/test/unittest/mocks/mock_reporter" mock_time "soarca/test/unittest/mocks/mock_utils/time" diff --git a/pkg/core/executors/condition/condition.go b/pkg/core/executors/condition/condition.go index 9a5e8fc2..ba6bd7a1 100644 --- a/pkg/core/executors/condition/condition.go +++ b/pkg/core/executors/condition/condition.go @@ -4,12 +4,12 @@ import ( "errors" "fmt" "reflect" + "soarca/internal/logger" "soarca/internal/reporter" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" - "soarca/utils/stix/expression/comparison" - timeUtil "soarca/utils/time" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + "soarca/pkg/utils/stix/expression/comparison" + timeUtil "soarca/pkg/utils/time" ) var component = reflect.TypeOf(Executor{}).PkgPath() diff --git a/pkg/core/executors/condition/condition_executor_test.go b/pkg/core/executors/condition/condition_executor_test.go index efd5b371..4bad7065 100644 --- a/pkg/core/executors/condition/condition_executor_test.go +++ b/pkg/core/executors/condition/condition_executor_test.go @@ -2,8 +2,8 @@ package condition import ( "errors" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "soarca/test/unittest/mocks/mock_reporter" mock_stix "soarca/test/unittest/mocks/mock_utils/stix" mock_time "soarca/test/unittest/mocks/mock_utils/time" diff --git a/pkg/core/executors/executors.go b/pkg/core/executors/executors.go index eb978c04..fe1575a6 100644 --- a/pkg/core/executors/executors.go +++ b/pkg/core/executors/executors.go @@ -1,8 +1,8 @@ package executors import ( - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" ) type IPlaybookExecuter interface { diff --git a/pkg/core/executors/playbook_action/playbook_action.go b/pkg/core/executors/playbook_action/playbook_action.go index e8bb32a2..8feecf29 100644 --- a/pkg/core/executors/playbook_action/playbook_action.go +++ b/pkg/core/executors/playbook_action/playbook_action.go @@ -6,11 +6,11 @@ import ( "reflect" "soarca/internal/controller/database" "soarca/internal/controller/decomposer_controller" + "soarca/internal/logger" "soarca/internal/reporter" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" - timeUtil "soarca/utils/time" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + timeUtil "soarca/pkg/utils/time" ) type PlaybookAction struct { diff --git a/pkg/core/executors/playbook_action/playbook_action_executor_test.go b/pkg/core/executors/playbook_action/playbook_action_executor_test.go index 2e180383..cf0c9398 100644 --- a/pkg/core/executors/playbook_action/playbook_action_executor_test.go +++ b/pkg/core/executors/playbook_action/playbook_action_executor_test.go @@ -4,7 +4,7 @@ import ( "testing" "time" - "soarca/internal/decomposer" + "soarca/pkg/core/decomposer" mock_database_controller "soarca/test/unittest/mocks/mock_controller/database" mock_decomposer_controller "soarca/test/unittest/mocks/mock_controller/decomposer" "soarca/test/unittest/mocks/mock_decomposer" @@ -12,8 +12,8 @@ import ( "soarca/test/unittest/mocks/mock_reporter" mock_time "soarca/test/unittest/mocks/mock_utils/time" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "github.com/go-playground/assert/v2" "github.com/google/uuid" From 868f061715af67bde90e4a0569ff1297bd777f23 Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:12:10 +0100 Subject: [PATCH 10/40] Moved database into internal --- {database => internal/database}/database.go | 0 {database => internal/database}/memory/memory.go | 0 {database => internal/database}/memory/memory_test.go | 0 {database => internal/database}/mongodb/init.go | 0 {database => internal/database}/mongodb/mongo.go | 0 {database => internal/database}/playbook/playbook.go | 0 {database => internal/database}/projections/projections.go | 0 {database => internal/database}/projections/projections_test.go | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename {database => internal/database}/database.go (100%) rename {database => internal/database}/memory/memory.go (100%) rename {database => internal/database}/memory/memory_test.go (100%) rename {database => internal/database}/mongodb/init.go (100%) rename {database => internal/database}/mongodb/mongo.go (100%) rename {database => internal/database}/playbook/playbook.go (100%) rename {database => internal/database}/projections/projections.go (100%) rename {database => internal/database}/projections/projections_test.go (100%) diff --git a/database/database.go b/internal/database/database.go similarity index 100% rename from database/database.go rename to internal/database/database.go diff --git a/database/memory/memory.go b/internal/database/memory/memory.go similarity index 100% rename from database/memory/memory.go rename to internal/database/memory/memory.go diff --git a/database/memory/memory_test.go b/internal/database/memory/memory_test.go similarity index 100% rename from database/memory/memory_test.go rename to internal/database/memory/memory_test.go diff --git a/database/mongodb/init.go b/internal/database/mongodb/init.go similarity index 100% rename from database/mongodb/init.go rename to internal/database/mongodb/init.go diff --git a/database/mongodb/mongo.go b/internal/database/mongodb/mongo.go similarity index 100% rename from database/mongodb/mongo.go rename to internal/database/mongodb/mongo.go diff --git a/database/playbook/playbook.go b/internal/database/playbook/playbook.go similarity index 100% rename from database/playbook/playbook.go rename to internal/database/playbook/playbook.go diff --git a/database/projections/projections.go b/internal/database/projections/projections.go similarity index 100% rename from database/projections/projections.go rename to internal/database/projections/projections.go diff --git a/database/projections/projections_test.go b/internal/database/projections/projections_test.go similarity index 100% rename from database/projections/projections_test.go rename to internal/database/projections/projections_test.go From 5cf4ff0135552af5ffa7d7375c9014baa9459d72 Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:12:25 +0100 Subject: [PATCH 11/40] Fixed database files --- internal/database/memory/memory.go | 6 +++--- internal/database/memory/memory_test.go | 6 +++--- internal/database/mongodb/init.go | 2 +- internal/database/mongodb/mongo.go | 4 ++-- internal/database/playbook/playbook.go | 10 +++++----- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/internal/database/memory/memory.go b/internal/database/memory/memory.go index ed4c094b..ef0bddc8 100644 --- a/internal/database/memory/memory.go +++ b/internal/database/memory/memory.go @@ -2,9 +2,9 @@ package memory import ( "errors" - "soarca/models/api" - "soarca/models/cacao" - "soarca/models/decoder" + "soarca/pkg/models/api" + "soarca/pkg/models/cacao" + "soarca/pkg/models/decoder" ) type InMemoryDatabase struct { diff --git a/internal/database/memory/memory_test.go b/internal/database/memory/memory_test.go index ee0c7343..380f5dd5 100644 --- a/internal/database/memory/memory_test.go +++ b/internal/database/memory/memory_test.go @@ -6,15 +6,15 @@ import ( "fmt" "io" "os" - "soarca/models/cacao" - "soarca/models/decoder" + "soarca/pkg/models/cacao" + "soarca/pkg/models/decoder" "sort" "testing" "github.com/go-playground/assert/v2" ) -var PB_PATH string = "../../test/playbooks/" +var PB_PATH string = "../../../test/playbooks/" func TestCreate(t *testing.T) { jsonFile, err := os.Open(PB_PATH + "playbook.json") diff --git a/internal/database/mongodb/init.go b/internal/database/mongodb/init.go index dc53deba..e2130fe2 100644 --- a/internal/database/mongodb/init.go +++ b/internal/database/mongodb/init.go @@ -3,7 +3,7 @@ package mongodb import ( "reflect" - "soarca/logger" + "soarca/internal/logger" ) var log *logger.Log diff --git a/internal/database/mongodb/mongo.go b/internal/database/mongodb/mongo.go index 6f2f55ef..feecfa3c 100644 --- a/internal/database/mongodb/mongo.go +++ b/internal/database/mongodb/mongo.go @@ -6,8 +6,8 @@ import ( "reflect" "time" - "soarca/database/projections" - cacao "soarca/models/cacao" + "soarca/internal/database/projections" + cacao "soarca/pkg/models/cacao" "go.mongodb.org/mongo-driver/bson" mongo "go.mongodb.org/mongo-driver/mongo" diff --git a/internal/database/playbook/playbook.go b/internal/database/playbook/playbook.go index 714b48ab..be6ce99f 100644 --- a/internal/database/playbook/playbook.go +++ b/internal/database/playbook/playbook.go @@ -3,12 +3,12 @@ package playbookrepository import ( "errors" - database "soarca/database" - "soarca/database/projections" + database "soarca/internal/database" + "soarca/internal/database/projections" validator "soarca/internal/validators" - "soarca/models/api" - "soarca/models/cacao" - "soarca/models/decoder" + "soarca/pkg/models/api" + "soarca/pkg/models/cacao" + "soarca/pkg/models/decoder" ) type IPlaybookRepository interface { From fa03e0a7ae34602f7dfce0bd02b3f7d12b2f6c50 Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:14:08 +0100 Subject: [PATCH 12/40] Moved utils and included guid into utils --- {internal => pkg/utils}/guid/guid.go | 0 {utils => pkg/utils}/http/http.go | 0 {utils => pkg/utils}/http/http_test.go | 0 {utils => pkg/utils}/stix/expression/comparison/comparison.go | 0 .../utils}/stix/expression/comparison/comparison_test.go | 0 {utils => pkg/utils}/time/time.go | 0 {utils => pkg/utils}/utils.go | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename {internal => pkg/utils}/guid/guid.go (100%) rename {utils => pkg/utils}/http/http.go (100%) rename {utils => pkg/utils}/http/http_test.go (100%) rename {utils => pkg/utils}/stix/expression/comparison/comparison.go (100%) rename {utils => pkg/utils}/stix/expression/comparison/comparison_test.go (100%) rename {utils => pkg/utils}/time/time.go (100%) rename {utils => pkg/utils}/utils.go (100%) diff --git a/internal/guid/guid.go b/pkg/utils/guid/guid.go similarity index 100% rename from internal/guid/guid.go rename to pkg/utils/guid/guid.go diff --git a/utils/http/http.go b/pkg/utils/http/http.go similarity index 100% rename from utils/http/http.go rename to pkg/utils/http/http.go diff --git a/utils/http/http_test.go b/pkg/utils/http/http_test.go similarity index 100% rename from utils/http/http_test.go rename to pkg/utils/http/http_test.go diff --git a/utils/stix/expression/comparison/comparison.go b/pkg/utils/stix/expression/comparison/comparison.go similarity index 100% rename from utils/stix/expression/comparison/comparison.go rename to pkg/utils/stix/expression/comparison/comparison.go diff --git a/utils/stix/expression/comparison/comparison_test.go b/pkg/utils/stix/expression/comparison/comparison_test.go similarity index 100% rename from utils/stix/expression/comparison/comparison_test.go rename to pkg/utils/stix/expression/comparison/comparison_test.go diff --git a/utils/time/time.go b/pkg/utils/time/time.go similarity index 100% rename from utils/time/time.go rename to pkg/utils/time/time.go diff --git a/utils/utils.go b/pkg/utils/utils.go similarity index 100% rename from utils/utils.go rename to pkg/utils/utils.go From ce84cde96d5d55bf6f6a8965323df2740222e000 Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:14:29 +0100 Subject: [PATCH 13/40] Fixed utils files --- pkg/utils/http/http.go | 4 ++-- pkg/utils/http/http_test.go | 2 +- pkg/utils/stix/expression/comparison/comparison.go | 4 ++-- pkg/utils/stix/expression/comparison/comparison_test.go | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/utils/http/http.go b/pkg/utils/http/http.go index 402619f9..79a2782e 100644 --- a/pkg/utils/http/http.go +++ b/pkg/utils/http/http.go @@ -14,8 +14,8 @@ import ( "strconv" "strings" - "soarca/logger" - "soarca/models/cacao" + "soarca/internal/logger" + "soarca/pkg/models/cacao" ) var ( diff --git a/pkg/utils/http/http_test.go b/pkg/utils/http/http_test.go index 449d8714..ff715902 100644 --- a/pkg/utils/http/http_test.go +++ b/pkg/utils/http/http_test.go @@ -8,7 +8,7 @@ import ( "testing" b64 "encoding/base64" - "soarca/models/cacao" + "soarca/pkg/models/cacao" "github.com/go-playground/assert/v2" ) diff --git a/pkg/utils/stix/expression/comparison/comparison.go b/pkg/utils/stix/expression/comparison/comparison.go index 0b16bd6b..b7afdcc8 100644 --- a/pkg/utils/stix/expression/comparison/comparison.go +++ b/pkg/utils/stix/expression/comparison/comparison.go @@ -6,8 +6,8 @@ import ( "net" "net/url" "reflect" - "soarca/logger" - "soarca/models/cacao" + "soarca/internal/logger" + "soarca/pkg/models/cacao" "strconv" "strings" diff --git a/pkg/utils/stix/expression/comparison/comparison_test.go b/pkg/utils/stix/expression/comparison/comparison_test.go index f9d99adf..b335fd17 100644 --- a/pkg/utils/stix/expression/comparison/comparison_test.go +++ b/pkg/utils/stix/expression/comparison/comparison_test.go @@ -2,7 +2,7 @@ package comparison import ( "errors" - "soarca/models/cacao" + "soarca/pkg/models/cacao" "testing" "github.com/go-playground/assert/v2" From 2afd67af48321ed6b49175679d9d7869abdc111b Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:15:25 +0100 Subject: [PATCH 14/40] Move capability into pkg --- {internal => pkg}/capability/capability.go | 0 {internal => pkg}/capability/controller/controller.go | 0 {internal => pkg}/capability/controller/controller_test.go | 0 {internal => pkg}/capability/fin/fin.go | 0 {internal => pkg}/capability/fin/fin_test.go | 0 {internal => pkg}/capability/http/http.go | 0 {internal => pkg}/capability/http/http_test.go | 0 {internal => pkg}/capability/openc2/openc2.go | 0 {internal => pkg}/capability/openc2/openc2_test.go | 0 {internal => pkg}/capability/powershell/powershell.go | 0 {internal => pkg}/capability/ssh/ssh.go | 0 {internal => pkg}/capability/ssh/ssh_test.go | 0 12 files changed, 0 insertions(+), 0 deletions(-) rename {internal => pkg}/capability/capability.go (100%) rename {internal => pkg}/capability/controller/controller.go (100%) rename {internal => pkg}/capability/controller/controller_test.go (100%) rename {internal => pkg}/capability/fin/fin.go (100%) rename {internal => pkg}/capability/fin/fin_test.go (100%) rename {internal => pkg}/capability/http/http.go (100%) rename {internal => pkg}/capability/http/http_test.go (100%) rename {internal => pkg}/capability/openc2/openc2.go (100%) rename {internal => pkg}/capability/openc2/openc2_test.go (100%) rename {internal => pkg}/capability/powershell/powershell.go (100%) rename {internal => pkg}/capability/ssh/ssh.go (100%) rename {internal => pkg}/capability/ssh/ssh_test.go (100%) diff --git a/internal/capability/capability.go b/pkg/capability/capability.go similarity index 100% rename from internal/capability/capability.go rename to pkg/capability/capability.go diff --git a/internal/capability/controller/controller.go b/pkg/capability/controller/controller.go similarity index 100% rename from internal/capability/controller/controller.go rename to pkg/capability/controller/controller.go diff --git a/internal/capability/controller/controller_test.go b/pkg/capability/controller/controller_test.go similarity index 100% rename from internal/capability/controller/controller_test.go rename to pkg/capability/controller/controller_test.go diff --git a/internal/capability/fin/fin.go b/pkg/capability/fin/fin.go similarity index 100% rename from internal/capability/fin/fin.go rename to pkg/capability/fin/fin.go diff --git a/internal/capability/fin/fin_test.go b/pkg/capability/fin/fin_test.go similarity index 100% rename from internal/capability/fin/fin_test.go rename to pkg/capability/fin/fin_test.go diff --git a/internal/capability/http/http.go b/pkg/capability/http/http.go similarity index 100% rename from internal/capability/http/http.go rename to pkg/capability/http/http.go diff --git a/internal/capability/http/http_test.go b/pkg/capability/http/http_test.go similarity index 100% rename from internal/capability/http/http_test.go rename to pkg/capability/http/http_test.go diff --git a/internal/capability/openc2/openc2.go b/pkg/capability/openc2/openc2.go similarity index 100% rename from internal/capability/openc2/openc2.go rename to pkg/capability/openc2/openc2.go diff --git a/internal/capability/openc2/openc2_test.go b/pkg/capability/openc2/openc2_test.go similarity index 100% rename from internal/capability/openc2/openc2_test.go rename to pkg/capability/openc2/openc2_test.go diff --git a/internal/capability/powershell/powershell.go b/pkg/capability/powershell/powershell.go similarity index 100% rename from internal/capability/powershell/powershell.go rename to pkg/capability/powershell/powershell.go diff --git a/internal/capability/ssh/ssh.go b/pkg/capability/ssh/ssh.go similarity index 100% rename from internal/capability/ssh/ssh.go rename to pkg/capability/ssh/ssh.go diff --git a/internal/capability/ssh/ssh_test.go b/pkg/capability/ssh/ssh_test.go similarity index 100% rename from internal/capability/ssh/ssh_test.go rename to pkg/capability/ssh/ssh_test.go From db6d782e1dff64528cf2a140ae81d10ca3960964 Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:15:46 +0100 Subject: [PATCH 15/40] Fix capability files --- pkg/capability/capability.go | 4 ++-- pkg/capability/controller/controller.go | 4 ++-- pkg/capability/controller/controller_test.go | 2 +- pkg/capability/fin/fin.go | 8 ++++---- pkg/capability/fin/fin_test.go | 6 +++--- pkg/capability/http/http.go | 8 ++++---- pkg/capability/http/http_test.go | 6 +++--- pkg/capability/openc2/openc2.go | 8 ++++---- pkg/capability/openc2/openc2_test.go | 6 +++--- pkg/capability/powershell/powershell.go | 6 +++--- pkg/capability/ssh/ssh.go | 6 +++--- pkg/capability/ssh/ssh_test.go | 2 +- 12 files changed, 33 insertions(+), 33 deletions(-) diff --git a/pkg/capability/capability.go b/pkg/capability/capability.go index af883a3f..8ba8595e 100644 --- a/pkg/capability/capability.go +++ b/pkg/capability/capability.go @@ -1,8 +1,8 @@ package capability import ( - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" ) type ICapability interface { diff --git a/pkg/capability/controller/controller.go b/pkg/capability/controller/controller.go index a948b8d6..748234be 100644 --- a/pkg/capability/controller/controller.go +++ b/pkg/capability/controller/controller.go @@ -5,8 +5,8 @@ import ( "fmt" "reflect" "soarca/internal/fin/protocol" - "soarca/logger" - "soarca/models/fin" + "soarca/internal/logger" + "soarca/pkg/models/fin" mqtt "github.com/eclipse/paho.mqtt.golang" ) diff --git a/pkg/capability/controller/controller_test.go b/pkg/capability/controller/controller_test.go index ed33ad80..725b5e79 100644 --- a/pkg/capability/controller/controller_test.go +++ b/pkg/capability/controller/controller_test.go @@ -2,7 +2,7 @@ package controller import ( "encoding/json" - "soarca/models/fin" + "soarca/pkg/models/fin" "soarca/test/unittest/mocks/mock_mqtt" "testing" diff --git a/pkg/capability/fin/fin.go b/pkg/capability/fin/fin.go index 61e18c61..75ae1a9b 100644 --- a/pkg/capability/fin/fin.go +++ b/pkg/capability/fin/fin.go @@ -3,10 +3,10 @@ package fin import ( "reflect" "soarca/internal/fin/protocol" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" - finModel "soarca/models/fin" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + finModel "soarca/pkg/models/fin" ) type FinCapability struct { diff --git a/pkg/capability/fin/fin_test.go b/pkg/capability/fin/fin_test.go index 81d2a165..59e8accb 100644 --- a/pkg/capability/fin/fin_test.go +++ b/pkg/capability/fin/fin_test.go @@ -1,9 +1,9 @@ package fin import ( - "soarca/models/cacao" - "soarca/models/execution" - model "soarca/models/fin" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + model "soarca/pkg/models/fin" "soarca/test/unittest/mocks/mock_finprotocol" "testing" diff --git a/pkg/capability/http/http.go b/pkg/capability/http/http.go index c5bec163..aa6ca75e 100644 --- a/pkg/capability/http/http.go +++ b/pkg/capability/http/http.go @@ -2,10 +2,10 @@ package http import ( "reflect" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" - "soarca/utils/http" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + "soarca/pkg/utils/http" ) // Receive HTTP API command data from decomposer/executer diff --git a/pkg/capability/http/http_test.go b/pkg/capability/http/http_test.go index d587b8bd..545dbabd 100644 --- a/pkg/capability/http/http_test.go +++ b/pkg/capability/http/http_test.go @@ -6,10 +6,10 @@ package http import ( "errors" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + http_request "soarca/pkg/utils/http" mock_request "soarca/test/unittest/mocks/mock_utils/http" - http_request "soarca/utils/http" "testing" "github.com/go-playground/assert/v2" diff --git a/pkg/capability/openc2/openc2.go b/pkg/capability/openc2/openc2.go index 5da5eba1..ac29ad09 100644 --- a/pkg/capability/openc2/openc2.go +++ b/pkg/capability/openc2/openc2.go @@ -3,10 +3,10 @@ package openc2 import ( "reflect" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" - "soarca/utils/http" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + "soarca/pkg/utils/http" ) type OpenC2Capability struct { diff --git a/pkg/capability/openc2/openc2_test.go b/pkg/capability/openc2/openc2_test.go index 143e77f5..fd23b3ae 100644 --- a/pkg/capability/openc2/openc2_test.go +++ b/pkg/capability/openc2/openc2_test.go @@ -3,10 +3,10 @@ package openc2 import ( "testing" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + "soarca/pkg/utils/http" mockRequest "soarca/test/unittest/mocks/mock_utils/http" - "soarca/utils/http" assert "github.com/go-playground/assert/v2" "github.com/google/uuid" diff --git a/pkg/capability/powershell/powershell.go b/pkg/capability/powershell/powershell.go index 797f578a..7e19ae91 100644 --- a/pkg/capability/powershell/powershell.go +++ b/pkg/capability/powershell/powershell.go @@ -8,9 +8,9 @@ import ( "strconv" "strings" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "github.com/masterzen/winrm" ) diff --git a/pkg/capability/ssh/ssh.go b/pkg/capability/ssh/ssh.go index a09896a2..85c83e4a 100644 --- a/pkg/capability/ssh/ssh.go +++ b/pkg/capability/ssh/ssh.go @@ -3,12 +3,12 @@ package ssh import ( "errors" "reflect" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "strings" "time" - "soarca/logger" + "soarca/internal/logger" "golang.org/x/crypto/ssh" ) diff --git a/pkg/capability/ssh/ssh_test.go b/pkg/capability/ssh/ssh_test.go index 3b517c22..f5aeb5aa 100644 --- a/pkg/capability/ssh/ssh_test.go +++ b/pkg/capability/ssh/ssh_test.go @@ -2,7 +2,7 @@ package ssh import ( "errors" - "soarca/models/cacao" + "soarca/pkg/models/cacao" "testing" "github.com/go-playground/assert/v2" From e4f9d5b4888bd10d98d26d5a66127577be4f8dd5 Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:39:09 +0100 Subject: [PATCH 16/40] Move routes to pkg api --- {routes => pkg/api}/error/error.go | 0 {routes => pkg/api}/init.go | 0 {routes => pkg/api}/playbook/init.go | 0 {routes => pkg/api}/playbook/playbook_api.go | 0 .../api}/playbook/playbook_endpoints.go | 0 {routes => pkg/api}/reporter/reporter_api.go | 0 .../api}/reporter/reporter_endpoints.go | 0 .../api}/reporter/reporter_parser.go | 0 {routes => pkg/api}/router.go | 0 {routes => pkg/api}/status/status_api.go | 0 .../api}/status/status_endpoints.go | 0 {routes => pkg/api}/step/step_endpoints.go | 0 .../api}/swagger/swagger_endpoints.go | 0 {routes => pkg/api}/trigger/trigger_api.go | 0 .../api}/trigger/trigger_endpoints.go | 0 routes/coa/coa_endpoints.go | 37 ------------------- routes/operator/operator_endpoints.go | 20 ---------- 17 files changed, 57 deletions(-) rename {routes => pkg/api}/error/error.go (100%) rename {routes => pkg/api}/init.go (100%) rename {routes => pkg/api}/playbook/init.go (100%) rename {routes => pkg/api}/playbook/playbook_api.go (100%) rename {routes => pkg/api}/playbook/playbook_endpoints.go (100%) rename {routes => pkg/api}/reporter/reporter_api.go (100%) rename {routes => pkg/api}/reporter/reporter_endpoints.go (100%) rename {routes => pkg/api}/reporter/reporter_parser.go (100%) rename {routes => pkg/api}/router.go (100%) rename {routes => pkg/api}/status/status_api.go (100%) rename {routes => pkg/api}/status/status_endpoints.go (100%) rename {routes => pkg/api}/step/step_endpoints.go (100%) rename {routes => pkg/api}/swagger/swagger_endpoints.go (100%) rename {routes => pkg/api}/trigger/trigger_api.go (100%) rename {routes => pkg/api}/trigger/trigger_endpoints.go (100%) delete mode 100644 routes/coa/coa_endpoints.go delete mode 100644 routes/operator/operator_endpoints.go diff --git a/routes/error/error.go b/pkg/api/error/error.go similarity index 100% rename from routes/error/error.go rename to pkg/api/error/error.go diff --git a/routes/init.go b/pkg/api/init.go similarity index 100% rename from routes/init.go rename to pkg/api/init.go diff --git a/routes/playbook/init.go b/pkg/api/playbook/init.go similarity index 100% rename from routes/playbook/init.go rename to pkg/api/playbook/init.go diff --git a/routes/playbook/playbook_api.go b/pkg/api/playbook/playbook_api.go similarity index 100% rename from routes/playbook/playbook_api.go rename to pkg/api/playbook/playbook_api.go diff --git a/routes/playbook/playbook_endpoints.go b/pkg/api/playbook/playbook_endpoints.go similarity index 100% rename from routes/playbook/playbook_endpoints.go rename to pkg/api/playbook/playbook_endpoints.go diff --git a/routes/reporter/reporter_api.go b/pkg/api/reporter/reporter_api.go similarity index 100% rename from routes/reporter/reporter_api.go rename to pkg/api/reporter/reporter_api.go diff --git a/routes/reporter/reporter_endpoints.go b/pkg/api/reporter/reporter_endpoints.go similarity index 100% rename from routes/reporter/reporter_endpoints.go rename to pkg/api/reporter/reporter_endpoints.go diff --git a/routes/reporter/reporter_parser.go b/pkg/api/reporter/reporter_parser.go similarity index 100% rename from routes/reporter/reporter_parser.go rename to pkg/api/reporter/reporter_parser.go diff --git a/routes/router.go b/pkg/api/router.go similarity index 100% rename from routes/router.go rename to pkg/api/router.go diff --git a/routes/status/status_api.go b/pkg/api/status/status_api.go similarity index 100% rename from routes/status/status_api.go rename to pkg/api/status/status_api.go diff --git a/routes/status/status_endpoints.go b/pkg/api/status/status_endpoints.go similarity index 100% rename from routes/status/status_endpoints.go rename to pkg/api/status/status_endpoints.go diff --git a/routes/step/step_endpoints.go b/pkg/api/step/step_endpoints.go similarity index 100% rename from routes/step/step_endpoints.go rename to pkg/api/step/step_endpoints.go diff --git a/routes/swagger/swagger_endpoints.go b/pkg/api/swagger/swagger_endpoints.go similarity index 100% rename from routes/swagger/swagger_endpoints.go rename to pkg/api/swagger/swagger_endpoints.go diff --git a/routes/trigger/trigger_api.go b/pkg/api/trigger/trigger_api.go similarity index 100% rename from routes/trigger/trigger_api.go rename to pkg/api/trigger/trigger_api.go diff --git a/routes/trigger/trigger_endpoints.go b/pkg/api/trigger/trigger_endpoints.go similarity index 100% rename from routes/trigger/trigger_endpoints.go rename to pkg/api/trigger/trigger_endpoints.go diff --git a/routes/coa/coa_endpoints.go b/routes/coa/coa_endpoints.go deleted file mode 100644 index 290761b7..00000000 --- a/routes/coa/coa_endpoints.go +++ /dev/null @@ -1,37 +0,0 @@ -package coa - -import ( - "fmt" - "net/http" - - "github.com/gin-gonic/gin" -) - -func Helloworld(g *gin.Context) { - g.JSON(http.StatusOK, "helloworld from /coa") -} - - -func id_tester(g *gin.Context){ -id := g.Param("coa-id") -fmt.Println(id) - -} - -// GET /coa -// POST /coa -// GET /coa/coa-id -// PUT /coa/coa-id -// DELETE /coa/coa-id - -func Routes(route *gin.Engine){ - coa := route.Group("/coa") - { - - coa.GET("/",Helloworld) - coa.POST("/:coa-id", id_tester) - coa.PUT("/:coa-id", id_tester) - coa.DELETE("/:coa-id", id_tester) - } - -} \ No newline at end of file diff --git a/routes/operator/operator_endpoints.go b/routes/operator/operator_endpoints.go deleted file mode 100644 index 22703663..00000000 --- a/routes/operator/operator_endpoints.go +++ /dev/null @@ -1,20 +0,0 @@ -package status - -import ( - "net/http" - - "github.com/gin-gonic/gin" -) - -func Helloworld(g *gin.Context) { - g.JSON(http.StatusOK, "helloworld from /operator") -} - -//POST /operator/coa/coa-id -func Routes(route *gin.Engine){ - coa := route.Group("/operator") - { - coa.POST("/coa/:coa-id", Helloworld) - } - -} \ No newline at end of file From fde83bd59c446d93a93a24cfc69d790ab442086c Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:40:42 +0100 Subject: [PATCH 17/40] Update api files --- pkg/api/init.go | 2 +- pkg/api/playbook/init.go | 2 +- pkg/api/playbook/playbook_api.go | 2 +- pkg/api/reporter/reporter_api.go | 6 +++--- pkg/api/reporter/reporter_parser.go | 4 ++-- pkg/api/router.go | 14 +++++--------- pkg/api/status/status_api.go | 4 ++-- pkg/api/swagger/swagger_endpoints.go | 4 ++-- pkg/api/trigger/trigger_api.go | 12 ++++++------ 9 files changed, 23 insertions(+), 27 deletions(-) diff --git a/pkg/api/init.go b/pkg/api/init.go index 49f74bf6..f21d2232 100644 --- a/pkg/api/init.go +++ b/pkg/api/init.go @@ -3,7 +3,7 @@ package routes import ( "reflect" - "soarca/logger" + "soarca/internal/logger" ) var log *logger.Log diff --git a/pkg/api/playbook/init.go b/pkg/api/playbook/init.go index 9e207f61..e8ea3a9c 100644 --- a/pkg/api/playbook/init.go +++ b/pkg/api/playbook/init.go @@ -3,7 +3,7 @@ package playbook import ( "reflect" - "soarca/logger" + "soarca/internal/logger" ) var log *logger.Log diff --git a/pkg/api/playbook/playbook_api.go b/pkg/api/playbook/playbook_api.go index 8a90d890..c1939418 100644 --- a/pkg/api/playbook/playbook_api.go +++ b/pkg/api/playbook/playbook_api.go @@ -5,8 +5,8 @@ import ( "net/http" "strconv" - playbookrepository "soarca/database/playbook" "soarca/internal/controller/database" + playbookrepository "soarca/internal/database/playbook" "github.com/gin-gonic/gin" ) diff --git a/pkg/api/reporter/reporter_api.go b/pkg/api/reporter/reporter_api.go index da813909..68596dd6 100644 --- a/pkg/api/reporter/reporter_api.go +++ b/pkg/api/reporter/reporter_api.go @@ -3,15 +3,15 @@ package reporter import ( "net/http" "soarca/internal/controller/informer" - "soarca/models/api" + "soarca/pkg/models/api" "reflect" - "soarca/routes/error" + "soarca/pkg/api/error" "github.com/gin-gonic/gin" "github.com/google/uuid" - "soarca/logger" + "soarca/internal/logger" ) var log *logger.Log diff --git a/pkg/api/reporter/reporter_parser.go b/pkg/api/reporter/reporter_parser.go index 36b390a6..7fa3c966 100644 --- a/pkg/api/reporter/reporter_parser.go +++ b/pkg/api/reporter/reporter_parser.go @@ -1,8 +1,8 @@ package reporter import ( - api_model "soarca/models/api" - cache_model "soarca/models/cache" + api_model "soarca/pkg/models/api" + cache_model "soarca/pkg/models/cache" ) const defaultRequestInterval int = 5 diff --git a/pkg/api/router.go b/pkg/api/router.go index cc4e1e6a..62796eca 100644 --- a/pkg/api/router.go +++ b/pkg/api/router.go @@ -4,13 +4,11 @@ import ( "soarca/internal/controller/database" "soarca/internal/controller/decomposer_controller" "soarca/internal/controller/informer" - coa_routes "soarca/routes/coa" - operator "soarca/routes/operator" - playbook_routes "soarca/routes/playbook" - reporter "soarca/routes/reporter" - status "soarca/routes/status" - swagger "soarca/routes/swagger" - "soarca/routes/trigger" + playbook_routes "soarca/pkg/api/playbook" + reporter "soarca/pkg/api/reporter" + status "soarca/pkg/api/status" + swagger "soarca/pkg/api/swagger" + "soarca/pkg/api/trigger" "github.com/gin-contrib/cors" gin "github.com/gin-gonic/gin" @@ -46,9 +44,7 @@ func Api(app *gin.Engine, // gin.SetMode(gin.ReleaseMode) trigger_api := trigger.New(controller, database) - coa_routes.Routes(app) status.Routes(app) - operator.Routes(app) trigger.Routes(app, trigger_api) return nil diff --git a/pkg/api/status/status_api.go b/pkg/api/status/status_api.go index 347aecd9..20952353 100644 --- a/pkg/api/status/status_api.go +++ b/pkg/api/status/status_api.go @@ -3,8 +3,8 @@ package status import ( "net/http" "runtime" - "soarca/models/api" - "soarca/utils" + "soarca/pkg/models/api" + "soarca/pkg/utils" "time" "github.com/gin-gonic/gin" diff --git a/pkg/api/swagger/swagger_endpoints.go b/pkg/api/swagger/swagger_endpoints.go index 73f681d0..b062958c 100644 --- a/pkg/api/swagger/swagger_endpoints.go +++ b/pkg/api/swagger/swagger_endpoints.go @@ -1,7 +1,7 @@ package swagger import ( - "soarca/swaggerdocs" + api "soarca/api" "github.com/gin-gonic/gin" swaggerfiles "github.com/swaggo/files" @@ -9,7 +9,7 @@ import ( ) func Routes(route *gin.Engine) { - swaggerdocs.SwaggerInfo.BasePath = "/" + api.SwaggerInfo.BasePath = "/" swagger := route.Group("/swagger") { swagger.GET("/*any", ginSwagger.WrapHandler(swaggerfiles.Handler)) diff --git a/pkg/api/trigger/trigger_api.go b/pkg/api/trigger/trigger_api.go index 5924d4f9..3872a530 100644 --- a/pkg/api/trigger/trigger_api.go +++ b/pkg/api/trigger/trigger_api.go @@ -11,12 +11,12 @@ import ( "soarca/internal/controller/database" "soarca/internal/controller/decomposer_controller" - "soarca/internal/decomposer" - "soarca/logger" - "soarca/models/api" - "soarca/models/cacao" - "soarca/models/decoder" - apiError "soarca/routes/error" + "soarca/internal/logger" + apiError "soarca/pkg/api/error" + "soarca/pkg/core/decomposer" + "soarca/pkg/models/api" + "soarca/pkg/models/cacao" + "soarca/pkg/models/decoder" "github.com/gin-gonic/gin" ) From d72037ad9e3993f397cd06351e957759980293fd Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:41:08 +0100 Subject: [PATCH 18/40] Moved logger to internal --- {logger => internal/logger}/logger.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename {logger => internal/logger}/logger.go (99%) diff --git a/logger/logger.go b/internal/logger/logger.go similarity index 99% rename from logger/logger.go rename to internal/logger/logger.go index 854ebe49..46f2fc37 100644 --- a/logger/logger.go +++ b/internal/logger/logger.go @@ -3,7 +3,7 @@ package logger import ( "fmt" "os" - "soarca/utils" + "soarca/pkg/utils" "strings" logrus "github.com/sirupsen/logrus" From 4952ad3f32356bd1109745f502567e8734927544 Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:41:15 +0100 Subject: [PATCH 19/40] Fixed test --- test/integration/api/api_test.go | 2 +- .../api/routes/playbook_api/playbook_api_test.go | 8 ++++---- .../routes/reporter_api/reporter_api_invocation_test.go | 6 +++--- .../api/routes/reporter_api/reporter_api_test.go | 8 ++++---- .../integration/api/routes/trigger_api/tigger_api_test.go | 6 +++--- test/integration/capability/http/http_integration_test.go | 8 ++++---- test/integration/capability/ssh/ssh_integration_test.go | 6 +++--- test/manual/capability/capability_controller_test.go | 2 +- test/manual/logger/log_test.go | 2 +- test/manual/mqtt/mqtt_test.go | 4 ++-- test/manual/powershell/powershell_test.go | 6 +++--- test/manual/thehive_reporter/thehive_test.go | 2 +- test/unittest/mocks/mock_cache/mock_cache.go | 2 +- test/unittest/mocks/mock_capability/mock_capability.go | 4 ++-- .../mock_controller/database/mock_database_controller.go | 2 +- .../decomposer/mock_decomposer_controller.go | 2 +- test/unittest/mocks/mock_decomposer/mock_decomposer.go | 4 ++-- .../mocks/mock_executor/condition/condition_executor.go | 4 ++-- test/unittest/mocks/mock_executor/mock_executor.go | 6 +++--- .../playbook_action/mock_playbook_action_executor.go | 4 ++-- test/unittest/mocks/mock_finprotocol/mock_finprotocol.go | 4 ++-- .../mock_playbook_database/mock_playbook_database.go | 4 ++-- .../mocks/mock_reporter/mock_downstream_reporter.go | 2 +- test/unittest/mocks/mock_reporter/mock_reporter.go | 2 +- test/unittest/mocks/mock_utils/http/mock_http.go | 2 +- test/unittest/mocks/mock_utils/stix/mock_stix.go | 2 +- 26 files changed, 52 insertions(+), 52 deletions(-) diff --git a/test/integration/api/api_test.go b/test/integration/api/api_test.go index e90b0233..5d961c74 100644 --- a/test/integration/api/api_test.go +++ b/test/integration/api/api_test.go @@ -6,7 +6,7 @@ import ( "io" "net/http" "soarca/internal/controller" - "soarca/models/api" + "soarca/pkg/models/api" "testing" "time" diff --git a/test/integration/api/routes/playbook_api/playbook_api_test.go b/test/integration/api/routes/playbook_api/playbook_api_test.go index 87c6646d..cae6bd3a 100644 --- a/test/integration/api/routes/playbook_api/playbook_api_test.go +++ b/test/integration/api/routes/playbook_api/playbook_api_test.go @@ -10,10 +10,10 @@ import ( "os" "testing" - "soarca/models/api" - "soarca/models/cacao" - "soarca/models/decoder" - playbookRouter "soarca/routes/playbook" + playbookRouter "soarca/pkg/api/playbook" + "soarca/pkg/models/api" + "soarca/pkg/models/cacao" + "soarca/pkg/models/decoder" mock_database_controller "soarca/test/unittest/mocks/mock_controller/database" mock_playbook "soarca/test/unittest/mocks/mock_playbook_database" diff --git a/test/integration/api/routes/reporter_api/reporter_api_invocation_test.go b/test/integration/api/routes/reporter_api/reporter_api_invocation_test.go index abd5f288..b47f3e2e 100644 --- a/test/integration/api/routes/reporter_api/reporter_api_invocation_test.go +++ b/test/integration/api/routes/reporter_api/reporter_api_invocation_test.go @@ -5,9 +5,9 @@ import ( "fmt" "net/http" "net/http/httptest" - api_model "soarca/models/api" - cache_model "soarca/models/cache" - "soarca/routes/reporter" + "soarca/pkg/api/reporter" + api_model "soarca/pkg/models/api" + cache_model "soarca/pkg/models/cache" mock_cache "soarca/test/unittest/mocks/mock_cache" "testing" diff --git a/test/integration/api/routes/reporter_api/reporter_api_test.go b/test/integration/api/routes/reporter_api/reporter_api_test.go index 0f340bfb..9d719ad6 100644 --- a/test/integration/api/routes/reporter_api/reporter_api_test.go +++ b/test/integration/api/routes/reporter_api/reporter_api_test.go @@ -6,10 +6,10 @@ import ( "net/http" "net/http/httptest" "soarca/internal/reporter/downstream_reporter/cache" - api_model "soarca/models/api" - "soarca/models/cacao" - cache_model "soarca/models/cache" - "soarca/routes/reporter" + "soarca/pkg/api/reporter" + api_model "soarca/pkg/models/api" + "soarca/pkg/models/cacao" + cache_model "soarca/pkg/models/cache" mock_time "soarca/test/unittest/mocks/mock_utils/time" "testing" "time" diff --git a/test/integration/api/routes/trigger_api/tigger_api_test.go b/test/integration/api/routes/trigger_api/tigger_api_test.go index 9ca47dcb..09573102 100644 --- a/test/integration/api/routes/trigger_api/tigger_api_test.go +++ b/test/integration/api/routes/trigger_api/tigger_api_test.go @@ -10,9 +10,9 @@ import ( "os" "testing" - "soarca/internal/decomposer" - "soarca/models/cacao" - "soarca/routes/trigger" + "soarca/pkg/api/trigger" + "soarca/pkg/core/decomposer" + "soarca/pkg/models/cacao" mock_database_controller "soarca/test/unittest/mocks/mock_controller/database" mock_decomposer_controller "soarca/test/unittest/mocks/mock_controller/decomposer" "soarca/test/unittest/mocks/mock_decomposer" diff --git a/test/integration/capability/http/http_integration_test.go b/test/integration/capability/http/http_integration_test.go index f009ed8a..f570ed0b 100644 --- a/test/integration/capability/http/http_integration_test.go +++ b/test/integration/capability/http/http_integration_test.go @@ -4,10 +4,10 @@ import ( "fmt" "testing" - "soarca/internal/capability/http" - "soarca/models/cacao" - "soarca/models/execution" - httpUtil "soarca/utils/http" + "soarca/pkg/capability/http" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + httpUtil "soarca/pkg/utils/http" "github.com/go-playground/assert/v2" "github.com/google/uuid" diff --git a/test/integration/capability/ssh/ssh_integration_test.go b/test/integration/capability/ssh/ssh_integration_test.go index 49dcb627..80d24b09 100644 --- a/test/integration/capability/ssh/ssh_integration_test.go +++ b/test/integration/capability/ssh/ssh_integration_test.go @@ -2,9 +2,9 @@ package ssh_integration_test import ( "fmt" - "soarca/internal/capability/ssh" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/capability/ssh" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "testing" "github.com/google/uuid" diff --git a/test/manual/capability/capability_controller_test.go b/test/manual/capability/capability_controller_test.go index f5e27fd5..3561f6c7 100644 --- a/test/manual/capability/capability_controller_test.go +++ b/test/manual/capability/capability_controller_test.go @@ -2,7 +2,7 @@ package capability_controller_test import ( "fmt" - "soarca/internal/capability/controller" + "soarca/pkg/capability/controller" "testing" mqtt "github.com/eclipse/paho.mqtt.golang" diff --git a/test/manual/logger/log_test.go b/test/manual/logger/log_test.go index 9c8b06a0..b6e46e70 100644 --- a/test/manual/logger/log_test.go +++ b/test/manual/logger/log_test.go @@ -4,7 +4,7 @@ import ( "os" "testing" - logger "soarca/logger" + logger "soarca/internal/logger" ) func TestDebugModeLogTrace(t *testing.T) { diff --git a/test/manual/mqtt/mqtt_test.go b/test/manual/mqtt/mqtt_test.go index 916dccba..0ac097e8 100644 --- a/test/manual/mqtt/mqtt_test.go +++ b/test/manual/mqtt/mqtt_test.go @@ -3,8 +3,8 @@ package mqtt_test import ( "fmt" "soarca/internal/fin/protocol" - "soarca/internal/guid" - model "soarca/models/fin" + model "soarca/pkg/models/fin" + "soarca/pkg/utils/guid" "testing" "github.com/google/uuid" diff --git a/test/manual/powershell/powershell_test.go b/test/manual/powershell/powershell_test.go index f04a26ae..7be936a7 100644 --- a/test/manual/powershell/powershell_test.go +++ b/test/manual/powershell/powershell_test.go @@ -2,9 +2,9 @@ package powershell_integration_test import ( "fmt" - "soarca/internal/capability/powershell" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/capability/powershell" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "testing" "github.com/google/uuid" diff --git a/test/manual/thehive_reporter/thehive_test.go b/test/manual/thehive_reporter/thehive_test.go index f9d758bf..2b6a2f2a 100644 --- a/test/manual/thehive_reporter/thehive_test.go +++ b/test/manual/thehive_reporter/thehive_test.go @@ -5,7 +5,7 @@ import ( "fmt" "os" "soarca/internal/reporter/downstream_reporter/thehive" - "soarca/models/cacao" + "soarca/pkg/models/cacao" "strings" "testing" "time" diff --git a/test/unittest/mocks/mock_cache/mock_cache.go b/test/unittest/mocks/mock_cache/mock_cache.go index dd0d0d9e..d38bb680 100644 --- a/test/unittest/mocks/mock_cache/mock_cache.go +++ b/test/unittest/mocks/mock_cache/mock_cache.go @@ -1,7 +1,7 @@ package mock_cache import ( - cache_model "soarca/models/cache" + cache_model "soarca/pkg/models/cache" "github.com/google/uuid" "github.com/stretchr/testify/mock" diff --git a/test/unittest/mocks/mock_capability/mock_capability.go b/test/unittest/mocks/mock_capability/mock_capability.go index a2b4730d..dbe0c280 100644 --- a/test/unittest/mocks/mock_capability/mock_capability.go +++ b/test/unittest/mocks/mock_capability/mock_capability.go @@ -1,8 +1,8 @@ package mock_capability import ( - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_controller/database/mock_database_controller.go b/test/unittest/mocks/mock_controller/database/mock_database_controller.go index ddabc4a8..9a3560cd 100644 --- a/test/unittest/mocks/mock_controller/database/mock_database_controller.go +++ b/test/unittest/mocks/mock_controller/database/mock_database_controller.go @@ -1,7 +1,7 @@ package mock_database_controller import ( - playbookrepository "soarca/database/playbook" + playbookrepository "soarca/internal/database/playbook" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_controller/decomposer/mock_decomposer_controller.go b/test/unittest/mocks/mock_controller/decomposer/mock_decomposer_controller.go index 2138b283..58e57126 100644 --- a/test/unittest/mocks/mock_controller/decomposer/mock_decomposer_controller.go +++ b/test/unittest/mocks/mock_controller/decomposer/mock_decomposer_controller.go @@ -1,7 +1,7 @@ package mock_decomposer_controller import ( - "soarca/internal/decomposer" + "soarca/pkg/core/decomposer" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_decomposer/mock_decomposer.go b/test/unittest/mocks/mock_decomposer/mock_decomposer.go index f3f6d5d9..08fbaecb 100644 --- a/test/unittest/mocks/mock_decomposer/mock_decomposer.go +++ b/test/unittest/mocks/mock_decomposer/mock_decomposer.go @@ -1,8 +1,8 @@ package mock_decomposer import ( - "soarca/internal/decomposer" - "soarca/models/cacao" + "soarca/pkg/core/decomposer" + "soarca/pkg/models/cacao" "github.com/google/uuid" "github.com/stretchr/testify/mock" diff --git a/test/unittest/mocks/mock_executor/condition/condition_executor.go b/test/unittest/mocks/mock_executor/condition/condition_executor.go index 3774c2c6..04e22244 100644 --- a/test/unittest/mocks/mock_executor/condition/condition_executor.go +++ b/test/unittest/mocks/mock_executor/condition/condition_executor.go @@ -1,8 +1,8 @@ package mock_condition_executor import ( - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_executor/mock_executor.go b/test/unittest/mocks/mock_executor/mock_executor.go index 2905ee37..bb2aa2d0 100644 --- a/test/unittest/mocks/mock_executor/mock_executor.go +++ b/test/unittest/mocks/mock_executor/mock_executor.go @@ -1,9 +1,9 @@ package mock_executor import ( - "soarca/internal/executors/action" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/core/executors/action" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_executor/playbook_action/mock_playbook_action_executor.go b/test/unittest/mocks/mock_executor/playbook_action/mock_playbook_action_executor.go index b5643a76..482eb5a2 100644 --- a/test/unittest/mocks/mock_executor/playbook_action/mock_playbook_action_executor.go +++ b/test/unittest/mocks/mock_executor/playbook_action/mock_playbook_action_executor.go @@ -1,8 +1,8 @@ package mock_playbook_action_executor import ( - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_finprotocol/mock_finprotocol.go b/test/unittest/mocks/mock_finprotocol/mock_finprotocol.go index 276de003..cb18a7fd 100644 --- a/test/unittest/mocks/mock_finprotocol/mock_finprotocol.go +++ b/test/unittest/mocks/mock_finprotocol/mock_finprotocol.go @@ -1,8 +1,8 @@ package mock_finprotocol import ( - "soarca/models/cacao" - "soarca/models/fin" + "soarca/pkg/models/cacao" + "soarca/pkg/models/fin" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_playbook_database/mock_playbook_database.go b/test/unittest/mocks/mock_playbook_database/mock_playbook_database.go index 8ec3d44f..da179f40 100644 --- a/test/unittest/mocks/mock_playbook_database/mock_playbook_database.go +++ b/test/unittest/mocks/mock_playbook_database/mock_playbook_database.go @@ -1,8 +1,8 @@ package mock_playbook_database import ( - "soarca/models/api" - "soarca/models/cacao" + "soarca/pkg/models/api" + "soarca/pkg/models/cacao" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_reporter/mock_downstream_reporter.go b/test/unittest/mocks/mock_reporter/mock_downstream_reporter.go index 20150a54..e8502458 100644 --- a/test/unittest/mocks/mock_reporter/mock_downstream_reporter.go +++ b/test/unittest/mocks/mock_reporter/mock_downstream_reporter.go @@ -1,7 +1,7 @@ package mock_reporter import ( - "soarca/models/cacao" + "soarca/pkg/models/cacao" "sync" "time" diff --git a/test/unittest/mocks/mock_reporter/mock_reporter.go b/test/unittest/mocks/mock_reporter/mock_reporter.go index 9325c966..dea75a36 100644 --- a/test/unittest/mocks/mock_reporter/mock_reporter.go +++ b/test/unittest/mocks/mock_reporter/mock_reporter.go @@ -1,7 +1,7 @@ package mock_reporter import ( - "soarca/models/cacao" + "soarca/pkg/models/cacao" "time" "github.com/google/uuid" diff --git a/test/unittest/mocks/mock_utils/http/mock_http.go b/test/unittest/mocks/mock_utils/http/mock_http.go index 6448f6e4..e2c70a54 100644 --- a/test/unittest/mocks/mock_utils/http/mock_http.go +++ b/test/unittest/mocks/mock_utils/http/mock_http.go @@ -1,7 +1,7 @@ package mock_executor import ( - "soarca/utils/http" + "soarca/pkg/utils/http" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_utils/stix/mock_stix.go b/test/unittest/mocks/mock_utils/stix/mock_stix.go index c0fec892..c44cbcc9 100644 --- a/test/unittest/mocks/mock_utils/stix/mock_stix.go +++ b/test/unittest/mocks/mock_utils/stix/mock_stix.go @@ -1,7 +1,7 @@ package mock_stix import ( - "soarca/models/cacao" + "soarca/pkg/models/cacao" "github.com/stretchr/testify/mock" ) From 9dc646c1bbbef9f63f8d4e9548dc2edc9981005e Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:41:24 +0100 Subject: [PATCH 20/40] Fixed internal --- internal/controller/controller.go | 42 +++++++++---------- .../database/controller_database.go | 2 +- .../controller_decomposer.go | 2 +- .../controller/informer/execution_informer.go | 2 +- internal/fin/protocol/finprotocol_test.go | 8 ++-- internal/fin/protocol/protocol.go | 8 ++-- .../downstream_reporter/cache/cache.go | 6 +-- .../downstream_reporter/cache/cache_test.go | 4 +- .../downstream_reporter.go | 2 +- .../thehive/thehive_connector.go | 4 +- .../thehive/thehive_models/models.go | 2 +- .../thehive/thehive_reporter.go | 2 +- .../thehive/thehive_utils/utils.go | 2 +- internal/reporter/reporter.go | 6 +-- internal/reporter/reporter_test.go | 2 +- 15 files changed, 47 insertions(+), 47 deletions(-) diff --git a/internal/controller/controller.go b/internal/controller/controller.go index b2e1b182..9a4c70cb 100644 --- a/internal/controller/controller.go +++ b/internal/controller/controller.go @@ -8,36 +8,36 @@ import ( "strconv" "strings" - "soarca/internal/capability" - capabilityController "soarca/internal/capability/controller" - finExecutor "soarca/internal/capability/fin" - "soarca/internal/capability/http" - "soarca/internal/capability/openc2" - "soarca/internal/capability/powershell" - "soarca/internal/capability/ssh" - "soarca/internal/decomposer" - "soarca/internal/executors/action" - "soarca/internal/executors/condition" - "soarca/internal/executors/playbook_action" "soarca/internal/fin/protocol" - "soarca/internal/guid" + "soarca/internal/logger" "soarca/internal/reporter" cache "soarca/internal/reporter/downstream_reporter/cache" "soarca/internal/reporter/downstream_reporter/thehive" - "soarca/logger" - "soarca/utils" - httpUtil "soarca/utils/http" - "soarca/utils/stix/expression/comparison" - timeUtil "soarca/utils/time" + "soarca/pkg/capability" + capabilityController "soarca/pkg/capability/controller" + finExecutor "soarca/pkg/capability/fin" + "soarca/pkg/capability/http" + "soarca/pkg/capability/openc2" + "soarca/pkg/capability/powershell" + "soarca/pkg/capability/ssh" + "soarca/pkg/core/decomposer" + "soarca/pkg/core/executors/action" + "soarca/pkg/core/executors/condition" + "soarca/pkg/core/executors/playbook_action" + "soarca/pkg/utils" + "soarca/pkg/utils/guid" + httpUtil "soarca/pkg/utils/http" + "soarca/pkg/utils/stix/expression/comparison" + timeUtil "soarca/pkg/utils/time" downstreamReporter "soarca/internal/reporter/downstream_reporter" "github.com/gin-gonic/gin" - "soarca/database/memory" - mongo "soarca/database/mongodb" - playbookrepository "soarca/database/playbook" - "soarca/routes" + "soarca/internal/database/memory" + mongo "soarca/internal/database/mongodb" + playbookrepository "soarca/internal/database/playbook" + routes "soarca/pkg/api" ) var log *logger.Log diff --git a/internal/controller/database/controller_database.go b/internal/controller/database/controller_database.go index 2525bd25..afe04d38 100644 --- a/internal/controller/database/controller_database.go +++ b/internal/controller/database/controller_database.go @@ -1,7 +1,7 @@ package database import ( - playbookrepository "soarca/database/playbook" + playbookrepository "soarca/internal/database/playbook" ) type IController interface { diff --git a/internal/controller/decomposer_controller/controller_decomposer.go b/internal/controller/decomposer_controller/controller_decomposer.go index 4df72b7b..eab7b702 100644 --- a/internal/controller/decomposer_controller/controller_decomposer.go +++ b/internal/controller/decomposer_controller/controller_decomposer.go @@ -1,7 +1,7 @@ package decomposer_controller import ( - "soarca/internal/decomposer" + "soarca/pkg/core/decomposer" ) type IController interface { diff --git a/internal/controller/informer/execution_informer.go b/internal/controller/informer/execution_informer.go index 85d801ff..22848b60 100644 --- a/internal/controller/informer/execution_informer.go +++ b/internal/controller/informer/execution_informer.go @@ -1,7 +1,7 @@ package informer import ( - "soarca/models/cache" + "soarca/pkg/models/cache" "github.com/google/uuid" ) diff --git a/internal/fin/protocol/finprotocol_test.go b/internal/fin/protocol/finprotocol_test.go index bc5d65ad..b40bd296 100644 --- a/internal/fin/protocol/finprotocol_test.go +++ b/internal/fin/protocol/finprotocol_test.go @@ -4,10 +4,10 @@ import ( "encoding/json" "errors" "fmt" - "soarca/internal/guid" - "soarca/models/cacao" - "soarca/models/fin" - model "soarca/models/fin" + "soarca/pkg/models/cacao" + "soarca/pkg/models/fin" + model "soarca/pkg/models/fin" + "soarca/pkg/utils/guid" "soarca/test/unittest/mocks/mock_mqtt" "testing" "time" diff --git a/internal/fin/protocol/protocol.go b/internal/fin/protocol/protocol.go index c9ca1b1a..2b36e9d0 100644 --- a/internal/fin/protocol/protocol.go +++ b/internal/fin/protocol/protocol.go @@ -4,10 +4,10 @@ import ( "errors" "fmt" "reflect" - "soarca/internal/guid" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/fin" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/models/fin" + "soarca/pkg/utils/guid" "time" mqttlib "github.com/eclipse/paho.mqtt.golang" diff --git a/internal/reporter/downstream_reporter/cache/cache.go b/internal/reporter/downstream_reporter/cache/cache.go index a0b9ead3..41528a5d 100644 --- a/internal/reporter/downstream_reporter/cache/cache.go +++ b/internal/reporter/downstream_reporter/cache/cache.go @@ -5,9 +5,9 @@ import ( "errors" "fmt" "slices" - "soarca/models/cacao" - cache_report "soarca/models/cache" - itime "soarca/utils/time" + "soarca/pkg/models/cacao" + cache_report "soarca/pkg/models/cache" + itime "soarca/pkg/utils/time" "sync" "time" diff --git a/internal/reporter/downstream_reporter/cache/cache_test.go b/internal/reporter/downstream_reporter/cache/cache_test.go index 34613dc4..e71b340d 100644 --- a/internal/reporter/downstream_reporter/cache/cache_test.go +++ b/internal/reporter/downstream_reporter/cache/cache_test.go @@ -3,8 +3,8 @@ package cache import ( b64 "encoding/base64" "errors" - "soarca/models/cacao" - cache_model "soarca/models/cache" + "soarca/pkg/models/cacao" + cache_model "soarca/pkg/models/cache" mock_time "soarca/test/unittest/mocks/mock_utils/time" "testing" "time" diff --git a/internal/reporter/downstream_reporter/downstream_reporter.go b/internal/reporter/downstream_reporter/downstream_reporter.go index 7e7075cb..ff31693d 100644 --- a/internal/reporter/downstream_reporter/downstream_reporter.go +++ b/internal/reporter/downstream_reporter/downstream_reporter.go @@ -1,7 +1,7 @@ package downstream_reporter import ( - "soarca/models/cacao" + "soarca/pkg/models/cacao" "time" "github.com/google/uuid" diff --git a/internal/reporter/downstream_reporter/thehive/thehive_connector.go b/internal/reporter/downstream_reporter/thehive/thehive_connector.go index 90c31349..280d1c1f 100644 --- a/internal/reporter/downstream_reporter/thehive/thehive_connector.go +++ b/internal/reporter/downstream_reporter/thehive/thehive_connector.go @@ -6,10 +6,10 @@ import ( "io" "net/http" "reflect" + "soarca/internal/logger" "soarca/internal/reporter/downstream_reporter/thehive/thehive_models" "soarca/internal/reporter/downstream_reporter/thehive/thehive_utils" - "soarca/logger" - "soarca/models/cacao" + "soarca/pkg/models/cacao" "time" ) diff --git a/internal/reporter/downstream_reporter/thehive/thehive_models/models.go b/internal/reporter/downstream_reporter/thehive/thehive_models/models.go index 9e864651..b5585aa3 100644 --- a/internal/reporter/downstream_reporter/thehive/thehive_models/models.go +++ b/internal/reporter/downstream_reporter/thehive/thehive_models/models.go @@ -1,6 +1,6 @@ package thehive_models -import "soarca/models/cacao" +import "soarca/pkg/models/cacao" const ( TheHiveStatusInProgress = "InProgress" diff --git a/internal/reporter/downstream_reporter/thehive/thehive_reporter.go b/internal/reporter/downstream_reporter/thehive/thehive_reporter.go index d801a78a..180838b1 100644 --- a/internal/reporter/downstream_reporter/thehive/thehive_reporter.go +++ b/internal/reporter/downstream_reporter/thehive/thehive_reporter.go @@ -2,7 +2,7 @@ package thehive import ( "soarca/internal/reporter/downstream_reporter/thehive/thehive_models" - "soarca/models/cacao" + "soarca/pkg/models/cacao" "time" "github.com/google/uuid" diff --git a/internal/reporter/downstream_reporter/thehive/thehive_utils/utils.go b/internal/reporter/downstream_reporter/thehive/thehive_utils/utils.go index 761d8aaa..90a8ccc8 100644 --- a/internal/reporter/downstream_reporter/thehive/thehive_utils/utils.go +++ b/internal/reporter/downstream_reporter/thehive/thehive_utils/utils.go @@ -7,7 +7,7 @@ import ( "fmt" "io" "reflect" - "soarca/logger" + "soarca/internal/logger" "strings" ) diff --git a/internal/reporter/reporter.go b/internal/reporter/reporter.go index 0eb1bba6..3f42445c 100644 --- a/internal/reporter/reporter.go +++ b/internal/reporter/reporter.go @@ -8,10 +8,10 @@ import ( "sync" "time" + "soarca/internal/logger" downstreamReporter "soarca/internal/reporter/downstream_reporter" - "soarca/logger" - "soarca/models/cacao" - "soarca/utils" + "soarca/pkg/models/cacao" + "soarca/pkg/utils" "github.com/google/uuid" ) diff --git a/internal/reporter/reporter_test.go b/internal/reporter/reporter_test.go index a809b738..efe6f0f9 100644 --- a/internal/reporter/reporter_test.go +++ b/internal/reporter/reporter_test.go @@ -3,7 +3,7 @@ package reporter import ( "errors" ds_reporter "soarca/internal/reporter/downstream_reporter" - "soarca/models/cacao" + "soarca/pkg/models/cacao" "soarca/test/unittest/mocks/mock_reporter" mock_time "soarca/test/unittest/mocks/mock_utils/time" "sync" From b9fed045b5bc9205656e77d512c177630b99de7d Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Fri, 22 Nov 2024 21:41:32 +0100 Subject: [PATCH 21/40] Updated makefile --- makefile | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/makefile b/makefile index a42e7bcb..c5a21d07 100644 --- a/makefile +++ b/makefile @@ -10,22 +10,19 @@ GOLDFLAGS += -X main.Buildtime=$(BUILDTIME) GOFLAGS = -ldflags "$(GOLDFLAGS)" swagger: - mkdir -p swaggerdocs - swag init -o swaggerdocs + mkdir -p api + swag init -g cmd/soarca/main.go -o api lint: swagger golangci-lint run --timeout 5m -v build: swagger - CGO_ENABLED=0 go build -o ./build/soarca $(GOFLAGS) main.go + CGO_ENABLED=0 go build -o ./build/soarca $(GOFLAGS) ./cmd/soarca/main.go test: swagger - go test ./models/... -v + go test ./pkg/... -v go test ./internal/... -v - go test ./routes/... -v - go test ./logger/... -v - go test ./database/... -v integration-test: swagger go test ./test/integration/... -v @@ -39,9 +36,9 @@ clean: compile: swagger echo "Compiling for every OS and Platform" - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/${BINARY_NAME}-${VERSION}-linux-amd64 $(GOFLAGS) main.go - CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o bin/${BINARY_NAME}-${VERSION}-darwin-arm64 $(GOFLAGS) main.go - CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o bin/${BINARY_NAME}-${VERSION}-windows-amd64 $(GOFLAGS) main.go + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/${BINARY_NAME}-${VERSION}-linux-amd64 $(GOFLAGS) cmd/soarca/main.go + CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o bin/${BINARY_NAME}-${VERSION}-darwin-arm64 $(GOFLAGS) cmd/soarca/main.go + CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o bin/${BINARY_NAME}-${VERSION}-windows-amd64 $(GOFLAGS) cmd/soarca/main.go sbom: echo "Generating SBOMs" @@ -51,7 +48,7 @@ sbom: CGO_ENABLED=0 GOOS=windows GOARCH=amd64 cyclonedx-gomod app -json -licenses -output bin/${BINARY_NAME}-${VERSION}-windows-amd64.bom.json pre-docker-build: swagger - GOOS=linux GOARCH=amd64 go build -o bin/${BINARY_NAME}-${VERSION}-linux-amd64 $(GOFLAGS) main.go + GOOS=linux GOARCH=amd64 go build -o bin/${BINARY_NAME}-${VERSION}-linux-amd64 $(GOFLAGS) cmd/soarca/main.go docker: pre-docker-build docker build --no-cache -t soarca:${VERSION} --build-arg="VERSION=${VERSION}" . From 08f70ae1ea4e6029fae3e101d0992ca93946bd94 Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Sun, 24 Nov 2024 13:44:12 +0100 Subject: [PATCH 22/40] Updated makefile sbom path --- makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/makefile b/makefile index c5a21d07..265b59eb 100644 --- a/makefile +++ b/makefile @@ -43,9 +43,9 @@ compile: swagger sbom: echo "Generating SBOMs" mkdir -p bin - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 cyclonedx-gomod app -json -licenses -output bin/${BINARY_NAME}-${VERSION}-linux-amd64.bom.json - CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 cyclonedx-gomod app -json -licenses -output bin/${BINARY_NAME}-${VERSION}-darwin-amd64.bom.json - CGO_ENABLED=0 GOOS=windows GOARCH=amd64 cyclonedx-gomod app -json -licenses -output bin/${BINARY_NAME}-${VERSION}-windows-amd64.bom.json + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 cyclonedx-gomod app -main cmd/soarca -json -licenses -output bin/${BINARY_NAME}-${VERSION}-linux-amd64.bom.json + CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 cyclonedx-gomod app -main cmd/soarca -json -licenses -output bin/${BINARY_NAME}-${VERSION}-darwin-amd64.bom.json + CGO_ENABLED=0 GOOS=windows GOARCH=amd64 cyclonedx-gomod app -main cmd/soarca -json -licenses -output bin/${BINARY_NAME}-${VERSION}-windows-amd64.bom.json pre-docker-build: swagger GOOS=linux GOARCH=amd64 go build -o bin/${BINARY_NAME}-${VERSION}-linux-amd64 $(GOFLAGS) cmd/soarca/main.go From 137fd475aae3cccbb7f8d827683a8f3b8ef4c410 Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Sun, 24 Nov 2024 13:53:48 +0100 Subject: [PATCH 23/40] Moved capability to core folder --- pkg/{ => core}/capability/capability.go | 0 pkg/{ => core}/capability/controller/controller.go | 0 pkg/{ => core}/capability/controller/controller_test.go | 0 pkg/{ => core}/capability/fin/fin.go | 0 pkg/{ => core}/capability/fin/fin_test.go | 0 pkg/{ => core}/capability/http/http.go | 0 pkg/{ => core}/capability/http/http_test.go | 0 pkg/{ => core}/capability/openc2/openc2.go | 0 pkg/{ => core}/capability/openc2/openc2_test.go | 0 pkg/{ => core}/capability/powershell/powershell.go | 0 pkg/{ => core}/capability/ssh/ssh.go | 0 pkg/{ => core}/capability/ssh/ssh_test.go | 0 12 files changed, 0 insertions(+), 0 deletions(-) rename pkg/{ => core}/capability/capability.go (100%) rename pkg/{ => core}/capability/controller/controller.go (100%) rename pkg/{ => core}/capability/controller/controller_test.go (100%) rename pkg/{ => core}/capability/fin/fin.go (100%) rename pkg/{ => core}/capability/fin/fin_test.go (100%) rename pkg/{ => core}/capability/http/http.go (100%) rename pkg/{ => core}/capability/http/http_test.go (100%) rename pkg/{ => core}/capability/openc2/openc2.go (100%) rename pkg/{ => core}/capability/openc2/openc2_test.go (100%) rename pkg/{ => core}/capability/powershell/powershell.go (100%) rename pkg/{ => core}/capability/ssh/ssh.go (100%) rename pkg/{ => core}/capability/ssh/ssh_test.go (100%) diff --git a/pkg/capability/capability.go b/pkg/core/capability/capability.go similarity index 100% rename from pkg/capability/capability.go rename to pkg/core/capability/capability.go diff --git a/pkg/capability/controller/controller.go b/pkg/core/capability/controller/controller.go similarity index 100% rename from pkg/capability/controller/controller.go rename to pkg/core/capability/controller/controller.go diff --git a/pkg/capability/controller/controller_test.go b/pkg/core/capability/controller/controller_test.go similarity index 100% rename from pkg/capability/controller/controller_test.go rename to pkg/core/capability/controller/controller_test.go diff --git a/pkg/capability/fin/fin.go b/pkg/core/capability/fin/fin.go similarity index 100% rename from pkg/capability/fin/fin.go rename to pkg/core/capability/fin/fin.go diff --git a/pkg/capability/fin/fin_test.go b/pkg/core/capability/fin/fin_test.go similarity index 100% rename from pkg/capability/fin/fin_test.go rename to pkg/core/capability/fin/fin_test.go diff --git a/pkg/capability/http/http.go b/pkg/core/capability/http/http.go similarity index 100% rename from pkg/capability/http/http.go rename to pkg/core/capability/http/http.go diff --git a/pkg/capability/http/http_test.go b/pkg/core/capability/http/http_test.go similarity index 100% rename from pkg/capability/http/http_test.go rename to pkg/core/capability/http/http_test.go diff --git a/pkg/capability/openc2/openc2.go b/pkg/core/capability/openc2/openc2.go similarity index 100% rename from pkg/capability/openc2/openc2.go rename to pkg/core/capability/openc2/openc2.go diff --git a/pkg/capability/openc2/openc2_test.go b/pkg/core/capability/openc2/openc2_test.go similarity index 100% rename from pkg/capability/openc2/openc2_test.go rename to pkg/core/capability/openc2/openc2_test.go diff --git a/pkg/capability/powershell/powershell.go b/pkg/core/capability/powershell/powershell.go similarity index 100% rename from pkg/capability/powershell/powershell.go rename to pkg/core/capability/powershell/powershell.go diff --git a/pkg/capability/ssh/ssh.go b/pkg/core/capability/ssh/ssh.go similarity index 100% rename from pkg/capability/ssh/ssh.go rename to pkg/core/capability/ssh/ssh.go diff --git a/pkg/capability/ssh/ssh_test.go b/pkg/core/capability/ssh/ssh_test.go similarity index 100% rename from pkg/capability/ssh/ssh_test.go rename to pkg/core/capability/ssh/ssh_test.go From 596fa15447a7cc347519b2c5be79e4b22997d09f Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Sun, 24 Nov 2024 13:57:35 +0100 Subject: [PATCH 24/40] Updated package paths for capabilities --- internal/controller/controller.go | 14 +++++++------- pkg/core/executors/action/action.go | 2 +- pkg/core/executors/action/action_executor_test.go | 2 +- .../capability/http/http_integration_test.go | 2 +- .../capability/ssh/ssh_integration_test.go | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/internal/controller/controller.go b/internal/controller/controller.go index 9a4c70cb..fb760a2f 100644 --- a/internal/controller/controller.go +++ b/internal/controller/controller.go @@ -13,13 +13,13 @@ import ( "soarca/internal/reporter" cache "soarca/internal/reporter/downstream_reporter/cache" "soarca/internal/reporter/downstream_reporter/thehive" - "soarca/pkg/capability" - capabilityController "soarca/pkg/capability/controller" - finExecutor "soarca/pkg/capability/fin" - "soarca/pkg/capability/http" - "soarca/pkg/capability/openc2" - "soarca/pkg/capability/powershell" - "soarca/pkg/capability/ssh" + "soarca/pkg/core/capability" + capabilityController "soarca/pkg/core/capability/controller" + finExecutor "soarca/pkg/core/capability/fin" + "soarca/pkg/core/capability/http" + "soarca/pkg/core/capability/openc2" + "soarca/pkg/core/capability/powershell" + "soarca/pkg/core/capability/ssh" "soarca/pkg/core/decomposer" "soarca/pkg/core/executors/action" "soarca/pkg/core/executors/condition" diff --git a/pkg/core/executors/action/action.go b/pkg/core/executors/action/action.go index 235c959e..aaf4af1a 100644 --- a/pkg/core/executors/action/action.go +++ b/pkg/core/executors/action/action.go @@ -6,7 +6,7 @@ import ( "reflect" "soarca/internal/logger" "soarca/internal/reporter" - "soarca/pkg/capability" + "soarca/pkg/core/capability" "soarca/pkg/models/cacao" "soarca/pkg/models/execution" timeUtil "soarca/pkg/utils/time" diff --git a/pkg/core/executors/action/action_executor_test.go b/pkg/core/executors/action/action_executor_test.go index b5795dde..f795d2b4 100644 --- a/pkg/core/executors/action/action_executor_test.go +++ b/pkg/core/executors/action/action_executor_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "soarca/pkg/capability" + "soarca/pkg/core/capability" "soarca/pkg/models/cacao" "soarca/pkg/models/execution" "soarca/test/unittest/mocks/mock_capability" diff --git a/test/integration/capability/http/http_integration_test.go b/test/integration/capability/http/http_integration_test.go index f570ed0b..0b81ca0a 100644 --- a/test/integration/capability/http/http_integration_test.go +++ b/test/integration/capability/http/http_integration_test.go @@ -4,7 +4,7 @@ import ( "fmt" "testing" - "soarca/pkg/capability/http" + "soarca/pkg/core/capability/http" "soarca/pkg/models/cacao" "soarca/pkg/models/execution" httpUtil "soarca/pkg/utils/http" diff --git a/test/integration/capability/ssh/ssh_integration_test.go b/test/integration/capability/ssh/ssh_integration_test.go index 80d24b09..0b9b4695 100644 --- a/test/integration/capability/ssh/ssh_integration_test.go +++ b/test/integration/capability/ssh/ssh_integration_test.go @@ -2,7 +2,7 @@ package ssh_integration_test import ( "fmt" - "soarca/pkg/capability/ssh" + "soarca/pkg/core/capability/ssh" "soarca/pkg/models/cacao" "soarca/pkg/models/execution" "testing" From 3864df7a8701e8fafc80cb75ec0baace4acc50fc Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Sun, 24 Nov 2024 14:03:33 +0100 Subject: [PATCH 25/40] Fix linting issues --- test/manual/capability/capability_controller_test.go | 2 +- test/manual/powershell/powershell_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/manual/capability/capability_controller_test.go b/test/manual/capability/capability_controller_test.go index 3561f6c7..a93ca0b4 100644 --- a/test/manual/capability/capability_controller_test.go +++ b/test/manual/capability/capability_controller_test.go @@ -2,7 +2,7 @@ package capability_controller_test import ( "fmt" - "soarca/pkg/capability/controller" + "soarca/pkg/core/capability/controller" "testing" mqtt "github.com/eclipse/paho.mqtt.golang" diff --git a/test/manual/powershell/powershell_test.go b/test/manual/powershell/powershell_test.go index 7be936a7..074050cf 100644 --- a/test/manual/powershell/powershell_test.go +++ b/test/manual/powershell/powershell_test.go @@ -2,7 +2,7 @@ package powershell_integration_test import ( "fmt" - "soarca/pkg/capability/powershell" + "soarca/pkg/core/capability/powershell" "soarca/pkg/models/cacao" "soarca/pkg/models/execution" "testing" From a363dd4222fb60fc1ba76ae145f9258e24e4e525 Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Sun, 24 Nov 2024 14:09:19 +0100 Subject: [PATCH 26/40] Moved docker folder to deployments --- {docker => deployments/docker}/mongodb/debug.env | 0 {docker => deployments/docker}/mongodb/docker-compose.yml | 0 {docker => deployments/docker}/mongodb/readme.md | 0 {docker => deployments/docker}/mqtt/config/mosquitto.conf | 0 {docker => deployments/docker}/mqtt/data/.gitkeep | 0 {docker => deployments/docker}/mqtt/docker-compose.yml | 0 {docker => deployments/docker}/mqtt/log/.gitkeep | 0 {docker => deployments/docker}/soarca/config/mosquitto.conf | 0 {docker => deployments/docker}/soarca/data/.gitkeep | 0 {docker => deployments/docker}/soarca/docker-compose.yml | 0 {docker => deployments/docker}/soarca/log/.gitkeep | 0 .../docker}/testing/httpbin-test/docker-compose.yml | 0 12 files changed, 0 insertions(+), 0 deletions(-) rename {docker => deployments/docker}/mongodb/debug.env (100%) rename {docker => deployments/docker}/mongodb/docker-compose.yml (100%) rename {docker => deployments/docker}/mongodb/readme.md (100%) rename {docker => deployments/docker}/mqtt/config/mosquitto.conf (100%) rename {docker => deployments/docker}/mqtt/data/.gitkeep (100%) rename {docker => deployments/docker}/mqtt/docker-compose.yml (100%) rename {docker => deployments/docker}/mqtt/log/.gitkeep (100%) rename {docker => deployments/docker}/soarca/config/mosquitto.conf (100%) rename {docker => deployments/docker}/soarca/data/.gitkeep (100%) rename {docker => deployments/docker}/soarca/docker-compose.yml (100%) rename {docker => deployments/docker}/soarca/log/.gitkeep (100%) rename {docker => deployments/docker}/testing/httpbin-test/docker-compose.yml (100%) diff --git a/docker/mongodb/debug.env b/deployments/docker/mongodb/debug.env similarity index 100% rename from docker/mongodb/debug.env rename to deployments/docker/mongodb/debug.env diff --git a/docker/mongodb/docker-compose.yml b/deployments/docker/mongodb/docker-compose.yml similarity index 100% rename from docker/mongodb/docker-compose.yml rename to deployments/docker/mongodb/docker-compose.yml diff --git a/docker/mongodb/readme.md b/deployments/docker/mongodb/readme.md similarity index 100% rename from docker/mongodb/readme.md rename to deployments/docker/mongodb/readme.md diff --git a/docker/mqtt/config/mosquitto.conf b/deployments/docker/mqtt/config/mosquitto.conf similarity index 100% rename from docker/mqtt/config/mosquitto.conf rename to deployments/docker/mqtt/config/mosquitto.conf diff --git a/docker/mqtt/data/.gitkeep b/deployments/docker/mqtt/data/.gitkeep similarity index 100% rename from docker/mqtt/data/.gitkeep rename to deployments/docker/mqtt/data/.gitkeep diff --git a/docker/mqtt/docker-compose.yml b/deployments/docker/mqtt/docker-compose.yml similarity index 100% rename from docker/mqtt/docker-compose.yml rename to deployments/docker/mqtt/docker-compose.yml diff --git a/docker/mqtt/log/.gitkeep b/deployments/docker/mqtt/log/.gitkeep similarity index 100% rename from docker/mqtt/log/.gitkeep rename to deployments/docker/mqtt/log/.gitkeep diff --git a/docker/soarca/config/mosquitto.conf b/deployments/docker/soarca/config/mosquitto.conf similarity index 100% rename from docker/soarca/config/mosquitto.conf rename to deployments/docker/soarca/config/mosquitto.conf diff --git a/docker/soarca/data/.gitkeep b/deployments/docker/soarca/data/.gitkeep similarity index 100% rename from docker/soarca/data/.gitkeep rename to deployments/docker/soarca/data/.gitkeep diff --git a/docker/soarca/docker-compose.yml b/deployments/docker/soarca/docker-compose.yml similarity index 100% rename from docker/soarca/docker-compose.yml rename to deployments/docker/soarca/docker-compose.yml diff --git a/docker/soarca/log/.gitkeep b/deployments/docker/soarca/log/.gitkeep similarity index 100% rename from docker/soarca/log/.gitkeep rename to deployments/docker/soarca/log/.gitkeep diff --git a/docker/testing/httpbin-test/docker-compose.yml b/deployments/docker/testing/httpbin-test/docker-compose.yml similarity index 100% rename from docker/testing/httpbin-test/docker-compose.yml rename to deployments/docker/testing/httpbin-test/docker-compose.yml From 9bbe2c8fca3c4ffd5a5ee3d362895c7257965c4c Mon Sep 17 00:00:00 2001 From: Maarten de Kruijf <16100232+MaartendeKruijf@users.noreply.github.com> Date: Sun, 24 Nov 2024 14:18:13 +0100 Subject: [PATCH 27/40] Move images to assets --- README.md | 2 +- {img => assets}/kroki-settings.png | Bin {img => assets}/kroki.png | Bin {img => assets}/soarca-functional-design.drawio | 0 {img => assets}/soarca-functional-design.jpg | Bin {img => assets}/soarca-logo.svg | 0 6 files changed, 1 insertion(+), 1 deletion(-) rename {img => assets}/kroki-settings.png (100%) rename {img => assets}/kroki.png (100%) rename {img => assets}/soarca-functional-design.drawio (100%) rename {img => assets}/soarca-functional-design.jpg (100%) rename {img => assets}/soarca-logo.svg (100%) diff --git a/README.md b/README.md index e0b6f760..792e29f4 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@