diff --git a/monkey/monkey_island/cc/ui/src/components/pages/ZeroTrustReportPage.js b/monkey/monkey_island/cc/ui/src/components/pages/ZeroTrustReportPage.js
index 989af82a8..f1a4de673 100755
--- a/monkey/monkey_island/cc/ui/src/components/pages/ZeroTrustReportPage.js
+++ b/monkey/monkey_island/cc/ui/src/components/pages/ZeroTrustReportPage.js
@@ -12,6 +12,7 @@ import SecurityIssuesGlance from "../report-components/common/SecurityIssuesGlan
import StatusesToPillarsSummary from "../report-components/zerotrust/StatusesToPillarsSummary";
import PrintReportButton from "../report-components/common/PrintReportButton";
import {extractExecutionStatusFromServerResponse} from "../report-components/common/ExecutionStatus";
+import ZeroTrustReportLegend from "../report-components/zerotrust/ReportLegend";
class ZeroTrustReportPageComponent extends AuthComponent {
@@ -114,16 +115,25 @@ class ZeroTrustReportPageComponent extends AuthComponent {
generateOverviewSection() {
return (
-
Overview
+
Summary
+
+
+
+
+ Get a quick glance of the status for each of Zero Trust's seven pillars.
+
+
+
+
+
+
-
-
diff --git a/monkey/monkey_island/cc/ui/src/components/report-components/zerotrust/ReportLegend.js b/monkey/monkey_island/cc/ui/src/components/report-components/zerotrust/ReportLegend.js
new file mode 100644
index 000000000..b12cbf5ba
--- /dev/null
+++ b/monkey/monkey_island/cc/ui/src/components/report-components/zerotrust/ReportLegend.js
@@ -0,0 +1,69 @@
+import React, {Component} from "react";
+import StatusLabel from "./StatusLabel";
+import {ZeroTrustStatuses} from "./ZeroTrustPillars";
+import {NavLink} from "react-router-dom";
+import {Panel} from "react-bootstrap";
+
+
+class ZeroTrustReportLegend extends Component {
+ render() {
+ const legendContent = this.getLegendContent();
+
+ return (
+
+
+
+ 🔽 Legend
+
+
+
+
+ {legendContent}
+
+
+
+ );
+ }
+
+ getLegendContent() {
+ return
+
What is this?
+
+ The Zero Trust eXtended framework categorizes its recommendations into 7 pillars. Infection Monkey
+ Zero Trust edition tests some of those recommendations. The tests that the monkey executes
+ produce findings. The tests, recommendations and pillars are then granted a status in accordance
+ with the tests results.
+
+
Statuses
+
+ -
+
+
+
+ {"\t"}The test failed; the monkeys found something wrong.
+
+ -
+
+
+
+ {"\t"}The test was executed, but manual verification is required to determine the results.
+
+ -
+
+
+
+ {"\t"}This status means the test passed 🙂
+
+ -
+
+
+
+ {"\t"}This status means the test wasn't executed. Some of the tests can be activated or deactivated using
+ the configuration.
+
+
+
;
+ }
+}
+
+export default ZeroTrustReportLegend;
diff --git a/monkey/monkey_island/cc/ui/src/components/report-components/zerotrust/StatusLabel.js b/monkey/monkey_island/cc/ui/src/components/report-components/zerotrust/StatusLabel.js
index f9c885b2c..6b3243280 100644
--- a/monkey/monkey_island/cc/ui/src/components/report-components/zerotrust/StatusLabel.js
+++ b/monkey/monkey_island/cc/ui/src/components/report-components/zerotrust/StatusLabel.js
@@ -22,9 +22,11 @@ export default class StatusLabel extends Component {
text = " " + this.props.status;
}
- return (
- {text}
-
);
+ return (
+
+ {text}
+
+ );
}
}
diff --git a/monkey/monkey_island/cc/ui/src/components/report-components/zerotrust/ZeroTrustPillars.js b/monkey/monkey_island/cc/ui/src/components/report-components/zerotrust/ZeroTrustPillars.js
index bd8898205..6bc425be0 100644
--- a/monkey/monkey_island/cc/ui/src/components/report-components/zerotrust/ZeroTrustPillars.js
+++ b/monkey/monkey_island/cc/ui/src/components/report-components/zerotrust/ZeroTrustPillars.js
@@ -8,4 +8,11 @@ export const ZeroTrustPillars = {
automation: "Automation & Orchestration"
};
+export const ZeroTrustStatuses = {
+ conclusive: "Conclusive",
+ inconclusive: "Inconclusive",
+ positive: "Positive",
+ unexecuted: "Unexecuted"
+};
+
export default ZeroTrustPillars;