Added comments, type hints and other minor changes in the scoutsuite code

This commit is contained in:
VakarisZ 2021-02-05 11:05:22 +02:00
parent bcfa8fff78
commit 9444067250
6 changed files with 19 additions and 3 deletions

View File

@ -26,6 +26,7 @@ class ZeroTrustReport(flask_restful.Resource):
elif report_data == REPORT_DATA_FINDINGS: elif report_data == REPORT_DATA_FINDINGS:
return jsonify(FindingService.get_all_findings()) return jsonify(FindingService.get_all_findings())
elif report_data == REPORT_DATA_SCOUTSUITE: elif report_data == REPORT_DATA_SCOUTSUITE:
# Raw ScoutSuite data is already solved as json, no need to jsonify
return Response(ScoutSuiteRawDataService.get_scoutsuite_data_json(), return Response(ScoutSuiteRawDataService.get_scoutsuite_data_json(),
mimetype='application/json') mimetype='application/json')

View File

@ -11,7 +11,7 @@ from monkey_island.cc.models.zero_trust.monkey_finding_details import MonkeyFind
class MonkeyZTFindingService: class MonkeyZTFindingService:
@staticmethod @staticmethod
def create_or_add_to_existing(test, status, events): def create_or_add_to_existing(test: str, status: str, events: str):
""" """
Create a new finding or add the events to an existing one if it's the same (same meaning same status and same Create a new finding or add the events to an existing one if it's the same (same meaning same status and same
test). test).

View File

@ -22,7 +22,7 @@ from .rule_names.vpc_rules import VPCRules
class ScoutSuiteFinding(ABC): class ScoutSuiteFinding(ABC):
@property @property
@abstractmethod @abstractmethod
def rules(self) -> List[str]: def rules(self) -> List[EC2Rules]:
pass pass
@property @property

View File

@ -5,7 +5,7 @@ EVENTS = [
{ {
"timestamp": "2021-01-20T15:40:28.357Z", "timestamp": "2021-01-20T15:40:28.357Z",
"title": "Process list", "title": "Process list",
"message": "Monkey on gc-pc-244 scanned the process list", "message": "Monkey on pc-24 scanned the process list",
"event_type": "monkey_local" "event_type": "monkey_local"
}, },
{ {

View File

@ -36,6 +36,8 @@ export default function RuleDisplay(props) {
<p className={'reference-list-title'}>References:</p> <p className={'reference-list-title'}>References:</p>
{references} {references}
</div>) </div>)
} else {
return null;
} }
} }
@ -56,6 +58,8 @@ export default function RuleDisplay(props) {
<p className={'reference-list-title'}>Flagged resources (<b>{props.rule.flagged_items}</b>):</p> <p className={'reference-list-title'}>Flagged resources (<b>{props.rule.flagged_items}</b>):</p>
{resources} {resources}
</div>) </div>)
} else {
return null;
} }
} }
} }

View File

@ -15,6 +15,12 @@ export default class ScoutSuiteDataParser {
return this.getObjectValueByPath(resourcePath, this.runResults); return this.getObjectValueByPath(resourcePath, this.runResults);
} }
/**
* Replaces id's in template path with id's from item path to form actual path to the object
* @param itemPath e.g. s3.buckets.da1e7081077ce92.secure_transport_enabled
* @param templatePath e.g. s3.buckets.id
* @returns {*} e.g. s3.buckets.da1e7081077ce92
*/
fillTemplatePath(itemPath, templatePath) { fillTemplatePath(itemPath, templatePath) {
let itemPathArray = itemPath.split('.'); let itemPathArray = itemPath.split('.');
let templatePathArray = templatePath.split('.'); let templatePathArray = templatePath.split('.');
@ -42,6 +48,11 @@ export default class ScoutSuiteDataParser {
return source; return source;
} }
/**
* Gets next key from the path
* @param path e.g. s3.buckets.id
* @returns {string|*} s3
*/
getNextKeyInPath(path) { getNextKeyInPath(path) {
if (path.indexOf('.') !== -1) { if (path.indexOf('.') !== -1) {
return path.substr(0, path.indexOf('.')); return path.substr(0, path.indexOf('.'));