From 73d84572c60b1782b28895857ebf639a3bcdec21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Reigota?= Date: Thu, 13 May 2021 17:41:16 +0100 Subject: [PATCH 1/2] Update architecture documentation image #3254 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: João Reigota --- docs/img/arch/high-level-arch-old.png | Bin 0 -> 20174 bytes docs/img/arch/high-level-arch.png | Bin 20174 -> 54279 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/img/arch/high-level-arch-old.png mode change 100644 => 100755 docs/img/arch/high-level-arch.png diff --git a/docs/img/arch/high-level-arch-old.png b/docs/img/arch/high-level-arch-old.png new file mode 100644 index 0000000000000000000000000000000000000000..d4a17ab1601b2a77ddef2fdc90281f2bb5c7aa06 GIT binary patch literal 20174 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 lvxq``#)^SonE*ZX{**Lj`m>%8nG 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 z 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 lvxq` Date: Thu, 13 May 2021 18:15:06 +0100 Subject: [PATCH 2/2] Add information on architecture doc about concurrent scans MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: João Reigota --- docs/architecture.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/architecture.md b/docs/architecture.md index 232ce28be4c..daab966f46c 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -32,3 +32,14 @@ The sequence diagram below depicts interaction of the main KICS components:
+ +--- + +## Concurrent Scans + +KICS creates multiple services, each containing a unique parser. All the services will then concurrently generate a payload and run queries on it according to its containing parser. When a vulnerability is found, it is saved inside the Storage which is shared amongst all the services. + +- Paths => create services based on types of IaC files. +- Service => contains a unique parser and shares other resources with other services +- Start Scan => Services will concurrently create payloads based on its parser, inspect for vulnerabilities and save them on the shared storage +- Results => when all services have finished their execution all the results will be gathered from the storage