Esempio n. 1
0
def test_is_rule_warning():
    test_rule = deepcopy(RULES[0])
    assert not ScoutSuiteRuleService.is_rule_warning(test_rule)

    test_rule.level = RULE_LEVEL_WARNING
    assert ScoutSuiteRuleService.is_rule_warning(test_rule)

    test_rule.items = []
    assert not ScoutSuiteRuleService.is_rule_warning(test_rule)
 def get_finding_status_from_rules(rules: List[ScoutSuiteRule]) -> str:
     if len(rules) == 0:
         return zero_trust_consts.STATUS_UNEXECUTED
     elif filter(lambda x: ScoutSuiteRuleService.is_rule_dangerous(x), rules):
         return zero_trust_consts.STATUS_FAILED
     elif filter(lambda x: ScoutSuiteRuleService.is_rule_warning(x), rules):
         return zero_trust_consts.STATUS_VERIFY
     else:
         return zero_trust_consts.STATUS_PASSED
Esempio n. 3
0
def test_is_rule_dangerous():
    test_rule = deepcopy(RULES[0])
    assert ScoutSuiteRuleService.is_rule_dangerous(test_rule)

    test_rule.level = RULE_LEVEL_WARNING
    assert not ScoutSuiteRuleService.is_rule_dangerous(test_rule)

    test_rule.level = RULE_LEVEL_DANGER
    test_rule.items = []
    assert not ScoutSuiteRuleService.is_rule_dangerous(test_rule)
Esempio n. 4
0
def test_get_rule_from_rule_data():
    assert ScoutSuiteRuleService.get_rule_from_rule_data(
        example_scoutsuite_data) == RULES[0]
Esempio n. 5
0
def create_scoutsuite_findings(cloud_services: dict):
    for finding in SCOUTSUITE_FINDINGS:
        for rule in finding.rules:
            rule_data = RuleParser.get_rule_data(cloud_services, rule)
            rule = ScoutSuiteRuleService.get_rule_from_rule_data(rule_data)
            ScoutSuiteZTFindingService.process_rule(finding, rule)