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;