44# description: This can lead to wrong set access rights
55# authors:
66# - Jurre Tanja <jurre.tanja@mendix.com>
7+ # - Bart Zantingh <bart.zantingh@nl.abnamro.com>
8+ # related_resources:
9+ # - https://docs.mendix.com/refguide/access-rules/
10+ # - https://docs.mendix.com/refguide/dev-best-practices/#security
711# custom:
812# category: Maintainability
913# rulename: AvoidDefaultReadWriteAccess
1014# severity: MEDIUM
1115# rulenumber: 002_0008
1216# remediation: Set default access rights to Read only or None.
1317# input: .*/DomainModels\$DomainModel\.yaml
14- package app.mendix.domain_model.avoind_default_readwrite_access
18+ package app.mendix.domain_model.avoid_default_readwrite_access
1519
1620import rego.v1
1721
@@ -22,22 +26,23 @@ default allow := false
2226allow if count (errors) == 0
2327
2428errors contains error if {
25- entity := input .Entities[_]
29+ some entity in input .Entities
2630 entity_name := entity.Name
2731
2832 # Bind the specific access rule we are evaluating
29- access_rule := entity.AccessRules[_]
33+ some access_rule in entity.AccessRules
3034
3135 # Only consider access rules with ReadWrite default rights
3236 access_rule.DefaultMemberAccessRights == " ReadWrite"
3337
3438 # Now collect roles only from THIS access_rule
3539 roles := access_rule.AllowedModuleRoles
40+
3641 role_names := [name |
37- role := roles[_]
38- parts := split (role, " ." )
39- name := parts[count (parts) - 1 ]
42+ some role in roles
43+ name := split (role, " ." )[1 ]
4044 ]
45+
4146 roles_list := concat (" , " , role_names)
4247
4348 error := sprintf (
0 commit comments