Skip to content

Commit 2049504

Browse files
committed
feat: enhance source control platform requirements
1 parent bb7b589 commit 2049504

1 file changed

Lines changed: 87 additions & 14 deletions

File tree

src/assets/YAML/default/Implementation/DevelopmentAndSourceControl.yaml

Lines changed: 87 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,12 @@ Implementation:
5353
- 8.25 # Secure development lifecycle
5454
- 8.27 # Secure system architecture and engineering principles
5555
- 8.28 # Secure coding
56-
isImplemented: false
57-
evidence: ""
58-
comments: ""
59-
Source Control Protection:
56+
Require a PR before merging:
6057
uuid: e7598ac4-b082-4e56-b7df-e2c6b426a5e2
61-
risk: Intentional or accidental alterations in critical branches like master.
58+
risk: Intentional or accidental alterations in critical branches like main (or master).
6259
measure: >-
6360
Define source code management system policies (e.g. branch protection rules,
64-
mandatory code reviews, ...)
61+
mandatory code reviews from at least one person, ...)
6562
to ensure that changes to critical branches are only possible under defined conditions.
6663
These policies can be implemented at repository level or organization level,
6764
depending on the source code management system.
@@ -71,6 +68,33 @@ Implementation:
7168
resources: 2
7269
usefulness: 4
7370
level: 2
71+
implementation:
72+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/azuredevops
73+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/github-policies
74+
references:
75+
samm2:
76+
- O-EM-1-A
77+
iso27001-2017:
78+
- Peer review - four eyes principle is not explicitly required by ISO 27001
79+
- 6.1.2
80+
- 14.2.1
81+
iso27001-2022:
82+
- Peer review - four eyes principle is not explicitly required by ISO 27001
83+
- 5.3
84+
- 8.25
85+
Dismiss stale PR approvals:
86+
uuid: ea6f69f7-54a5-4922-ac15-a77ff0c16162
87+
risk: Intentional or accidental alterations in critical branches like main (or master) through post-approval code additions.
88+
measure: >-
89+
Implement a policy where any commits made after a pull request has been approved automatically revoke that approval, necessitating a fresh review and re-approval process.
90+
difficultyOfImplementation:
91+
knowledge: 2
92+
time: 1
93+
resources: 2
94+
usefulness: 4
95+
level: 3
96+
dependsOn:
97+
- uuid:e7598ac4-b082-4e56-b7df-e2c6b426a5e2 # Require a PR before merging
7498
implementation:
7599
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/azuredevops
76100
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/github-policies
@@ -86,9 +110,6 @@ Implementation:
86110
- Peer review - four eyes principle is not explicitly required by ISO 27001
87111
- 5.3
88112
- 8.25
89-
isImplemented: false
90-
evidence: ""
91-
comments: ""
92113
Versioning:
93114
uuid: 066084c6-1135-4635-9cc5-9e75c7c5459f
94115
risk: Deployment of untracked artifacts.
@@ -116,9 +137,6 @@ Implementation:
116137
- Not explicitly covered by ISO 27001 - too specific
117138
- 5.37
118139
- 8.32
119-
isImplemented: false
120-
evidence: ""
121-
comments: ""
122140
.gitignore:
123141
uuid: 363a3eea-baf9-4010-88ca-bb8186a2989d
124142
risk: Unintended leakage of secrets, debug, or workstation specific data
@@ -144,5 +162,60 @@ Implementation:
144162
- Not explicitly covered by ISO 27001 - too specific
145163
- 5.37
146164
- 8.32
147-
evidence: ""
148-
comments: ""
165+
Require status checks to pass:
166+
uuid: ac8730a2-ccc0-465c-9550-d91edae9d5ee
167+
risk: Organizations risk introducing broken builds, quality issues, and security vulnerabilities into their codebase.
168+
measure: >-
169+
Mandate passing of security related specified status checks, like successful builds or static application security tests, before proceeding.
170+
difficultyOfImplementation:
171+
knowledge: 2
172+
time: 1
173+
resources: 2
174+
usefulness: 4
175+
level: 3
176+
dependsOn:
177+
- uuid:e7598ac4-b082-4e56-b7df-e2c6b426a5e2
178+
implementation:
179+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/azuredevops
180+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/github-policies
181+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/signing-of-commits-protection
182+
references:
183+
samm2:
184+
- O-EM-1-A
185+
iso27001-2017:
186+
- 6.1.2
187+
- 14.2.1
188+
iso27001-2022:
189+
- 5.3
190+
- 8.25
191+
Block force pushes:
192+
uuid: c7d99b18-c3e1-4d22-b2e3-9aa9146c0b17
193+
risk: |-
194+
Misuse of force push can lead to loss of work. It may overwrite remote
195+
branches without warning, potentially erasing valuable contributions from team members. This can disrupt collaboration,
196+
cause data loss, and create confusion in the development process.
197+
198+
Bypassing the pull request process might remove an important code review step.
199+
This increases the risk of merging low-quality or buggy code into the main branch, potentially introducing bugs in the codebase.
200+
measure: >-
201+
Mandate blocking of force pushes in the version control platform.
202+
difficultyOfImplementation:
203+
knowledge: 2
204+
time: 1
205+
resources: 2
206+
usefulness: 4
207+
level: 3
208+
dependsOn:
209+
- uuid:e7598ac4-b082-4e56-b7df-e2c6b426a5e2
210+
implementation:
211+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/azuredevops
212+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/github-policies
213+
references:
214+
samm2:
215+
- O-EM-1-A
216+
iso27001-2017:
217+
- 6.1.2
218+
- 14.2.1
219+
iso27001-2022:
220+
- 5.3
221+
- 8.25

0 commit comments

Comments
 (0)