diff --git a/monkey/monkey_island/cc/ui/src/components/report-components/SecurityReport.js b/monkey/monkey_island/cc/ui/src/components/report-components/SecurityReport.js
index e25b7f126..d6891b5bb 100644
--- a/monkey/monkey_island/cc/ui/src/components/report-components/SecurityReport.js
+++ b/monkey/monkey_island/cc/ui/src/components/report-components/SecurityReport.js
@@ -407,18 +407,23 @@ class ReportPageComponent extends AuthComponent {
-
-
-
-
+
+
+
+
+
+
+
+
{this.generateReportPthMap()}
+
diff --git a/monkey/monkey_island/cc/ui/src/components/report-components/security/BreachedServers.js b/monkey/monkey_island/cc/ui/src/components/report-components/security/BreachedServers.js
index 4eeb1f971..3ea23a075 100644
--- a/monkey/monkey_island/cc/ui/src/components/report-components/security/BreachedServers.js
+++ b/monkey/monkey_island/cc/ui/src/components/report-components/security/BreachedServers.js
@@ -1,5 +1,6 @@
import React from 'react';
-import ReactTable from 'react-table'
+import ReactTable from 'react-table';
+import Pluralize from 'pluralize';
let renderArray = function (val) {
return ;
@@ -34,14 +35,20 @@ class BreachedServersComponent extends React.Component {
let defaultPageSize = this.props.data.length > pageSize ? pageSize : this.props.data.length;
let showPagination = this.props.data.length > pageSize;
return (
-
-
-
+ <>
+
+ The Monkey successfully breached {this.props.data.length} {Pluralize('machine', this.props.data.length)}:
+
+
+
+
+ >
);
}
}
diff --git a/monkey/monkey_island/cc/ui/src/components/report-components/security/PostBreach.js b/monkey/monkey_island/cc/ui/src/components/report-components/security/PostBreach.js
index b0fe5fa9e..c482fb992 100644
--- a/monkey/monkey_island/cc/ui/src/components/report-components/security/PostBreach.js
+++ b/monkey/monkey_island/cc/ui/src/components/report-components/security/PostBreach.js
@@ -1,5 +1,6 @@
import React from 'react';
-import ReactTable from 'react-table'
+import ReactTable from 'react-table';
+import Pluralize from 'pluralize';
let renderArray = function (val) {
return {val.map(x => {x})};
@@ -62,19 +63,26 @@ class PostBreachComponent extends React.Component {
});
let defaultPageSize = pbaMachines.length > pageSize ? pageSize : pbaMachines.length;
let showPagination = pbaMachines > pageSize;
+ const pbaCount = pbaMachines.reduce((accumulated, pbaMachine) => accumulated+pbaMachine["pba_results"].length, 0);
return (
-
- {
- return renderDetails(row.original.pba_results);
- }}
- />
-
-
+ <>
+
+ The Monkey performed {pbaCount} post-breach {Pluralize('action', pbaCount)} on {pbaMachines.length} {Pluralize('machine', pbaMachines.length)}:
+
+
+ {
+ return renderDetails(row.original.pba_results);
+ }}
+ />
+
+ >
);
}
}
diff --git a/monkey/monkey_island/cc/ui/src/components/report-components/security/ScannedServers.js b/monkey/monkey_island/cc/ui/src/components/report-components/security/ScannedServers.js
index 7a4495da3..644d77f54 100644
--- a/monkey/monkey_island/cc/ui/src/components/report-components/security/ScannedServers.js
+++ b/monkey/monkey_island/cc/ui/src/components/report-components/security/ScannedServers.js
@@ -1,5 +1,6 @@
import React from 'react';
-import ReactTable from 'react-table'
+import ReactTable from 'react-table';
+import Pluralize from 'pluralize';
let renderArray = function (val) {
return ;
@@ -32,17 +33,33 @@ class ScannedServersComponent extends React.Component {
}
render() {
+
let defaultPageSize = this.props.data.length > pageSize ? pageSize : this.props.data.length;
let showPagination = this.props.data.length > pageSize;
+
+ const scannedMachinesCount = this.props.data.length;
+ const reducerFromScannedServerToServicesAmount = (accumulated, scannedServer) => accumulated + scannedServer["services"].length;
+ const scannedServicesAmount = this.props.data.reduce(reducerFromScannedServerToServicesAmount, 0);
+
return (
-
-
-
+ <>
+
+ The Monkey discovered
+ {scannedServicesAmount}
+ open {Pluralize('service', scannedServicesAmount)}
+ on
+ {scannedMachinesCount}
+ {Pluralize('machine', scannedMachinesCount)}:
+
+
+
+
+ >
);
}
}