Skip to content

Commit 505f26d

Browse files
authored
Merge pull request #152 from wurstbrot/feat/yamlGeneration
add yamls and generation
2 parents a7036a5 + 76f6d46 commit 505f26d

34 files changed

+5173
-2282
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,4 @@ testem.log
4242
# System Files
4343
.DS_Store
4444
Thumbs.db
45+
/yaml-generation/vendor/
Lines changed: 122 additions & 146 deletions
Original file line numberDiff line numberDiff line change
@@ -1,193 +1,169 @@
1-
dimension:
2-
name: Build and Deployment
3-
subdimension:
4-
level-1:
5-
- assessment: '- Show your build pipeline and an exemplary job (build + test).
6-
7-
- Show that every team member has access.
8-
9-
- Show that failed jobs are fixed.
10-
11-
'
12-
credits: 'AppSecure-nrw [Security Belts](https://github.com/AppSecure-nrw/security-belts/)
13-
14-
'
1+
---
2+
Build and Deployment:
3+
Build:
4+
Building and testing of artifacts in virtual environments:
5+
description: |-
6+
While building and testing artifacts, third party systems, application frameworks
7+
and 3rd party libraries are used. These might be malicious as a result of
8+
vulnerable libraries or because they are altered during the delivery phase.
9+
risk: |-
10+
While building and testing artifacts, third party systems, application frameworks
11+
and 3rd party libraries are used. These might be malicious as a result of
12+
vulnerable libraries or because they are altered during the delivery phase.
13+
measure: Each step during within the build and testing phase is performed in
14+
a separate virtual environments, which is destroyed afterward.
15+
meta:
16+
implementationGuide: Depending on your environment, usage of virtual machines
17+
or container technology is a good way. After the build, the filesystem should
18+
not be used again in other builds.
1519
difficultyOfImplementation:
1620
knowledge: 2
17-
resources: 2
1821
time: 2
22+
resources: 2
23+
usefulness: 2
24+
level: 2
1925
implementation:
20-
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/ci-cd-tools
21-
level: 1
22-
md-description: '## Benefits:
23-
24-
Quality is visible to everyone
25-
26-
There is a single instance deciding whether the code meets its quality (single
27-
ground of truth).
28-
29-
Deterministic and reproducible builds
30-
31-
'
32-
measure: Use continuous automated building and testing of the software.
33-
name: Continuous integration
26+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/ci-cd-tools
27+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/container-technologi
3428
references:
35-
iso27001-2017:
36-
- iso27001-2017:14.2.6
3729
samm2:
38-
- I-SB-1-A
39-
risk: Quality is not visible to everyone, quality checks are distributed or
40-
manually and not deterministic.
41-
usefulness: 2
42-
- dependsOn:
43-
- Continuous Integration
44-
description-md: 'Sample evidence as an attribute in the yaml: The build process
45-
is defined in <a href="REPLACE-ME">REPLACE-ME Pipeline</a>
46-
30+
- I-SB-2-A
31+
iso27001-2017:
32+
- 14.2.6
33+
isImplemented: false
34+
evidence: ""
35+
comments: ""
36+
Defined build process:
37+
risk: Performing builds without a defined process is error prone; for example,
38+
as a result of incorrect security related configuration.
39+
measure: A well defined build process lowers the possibility of errors during
40+
the build process.
41+
description: |
42+
Sample evidence as an attribute in the yaml: The build process is defined in <a href="REPLACE-ME">REPLACE-ME Pipeline</a>
4743
in the folder <i>vars</>. Projects are using a <i>Jenkinsfile</i> to use the
48-
4944
defined process.
50-
51-
'
5245
difficultyOfImplementation:
5346
knowledge: 2
54-
resources: 2
5547
time: 3
56-
implementation:
57-
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/ci-cd-tools
58-
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/container-technologi
59-
level: 1
60-
measure: A well defined build process lowers the possibility of errors during
61-
the build process.
62-
name: Defined build process
63-
references:
64-
iso27001-2017:
65-
- 12.1.1
66-
- 14.2.2
67-
samm2:
68-
- I-SB-1-A
69-
risk:
70-
- Performing builds without a defined process is error prone; for example, as
71-
a result of incorrect security related configuration.
48+
resources: 2
7249
usefulness: 4
73-
level-2:
74-
- description: 'While building and testing artifacts, third party systems, application
75-
frameworks
76-
77-
and 3rd party libraries are used. These might be malicious as a result of
50+
level: 1
51+
assessment: |
52+
- Show your build pipeline and an exemplary job (build + test).
53+
- Show that every team member has access.
54+
- Show that failed jobs are fixed.
7855
79-
vulnerable libraries or because they are altered during the delivery phase.'
80-
difficultyOfImplementation:
81-
knowledge: 2
82-
resources: 2
83-
time: 2
56+
Credits: AppSecure-nrw [Security Belts](https://github.com/AppSecure-nrw/security-belts/)
8457
implementation:
85-
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/ci-cd-tools
86-
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/container-technologi
87-
level: 2
88-
measure: Each step during within the build and testing phase is performed in
89-
a separate virtual environments, which is destroyed afterward.
90-
meta:
91-
implementationGuide: Depending on your environment, usage of virtual machines
92-
or container technology is a good way. After the build, the filesystem should
93-
not be used again in other builds.
94-
name: Building and testing of artifacts in virtual environments
58+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/ci-cd-tools
59+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/container-technologi
9560
references:
96-
iso27001-2017:
97-
- iso27001-2017:14.2.6
9861
samm2:
99-
- I-SB-2-A
100-
risk:
101-
- 'While building and testing artifacts, third party systems, application frameworks
102-
103-
and 3rd party libraries are used. These might be malicious as a result of
104-
105-
vulnerable libraries or because they are altered during the delivery phase.'
106-
usefulness: 2
107-
- comment: The usage of pinning requires a good processes for patching. Therefore,
62+
- I-SB-1-A
63+
iso27001-2017:
64+
- 12.1.1
65+
- 14.2.2
66+
isImplemented: false
67+
evidence: ""
68+
comments: ""
69+
Pinning of artifacts:
70+
risk: Unauthorized manipulation of artifacts might be difficult to spot. For
71+
example, this may result in using images with malicious code. Also, intendend
72+
major changes, which are automatically used in an image used might break the
73+
functionality.
74+
measure: Pinning of artifacts ensure that changes are performed only when intended.
75+
comment: The usage of pinning requires a good processes for patching. Therefore,
10876
choose this activity wisly.
109-
dependsOn:
110-
- Defined build process
11177
difficultyOfImplementation:
11278
knowledge: 2
113-
resources: 2
11479
time: 2
80+
resources: 2
81+
usefulness: 3
82+
level: 2
11583
implementation:
11684
- Container technology automatically creates a hash for images, which can be
11785
used.
11886
- Immutable images are an other way, e.g. by using a registry, which doesn't
11987
allow overriding of images.
120-
level: 2
121-
measure: Pinning of artifacts ensure that changes are performed only when intended.
122-
name: Pinning of artifacts
88+
dependsOn:
89+
- Defined build process
12390
references:
124-
iso27001-2017:
125-
- 14.2.6
12691
samm2:
12792
- I-SB-1-A
128-
risk:
129-
- Unauthorized manipulation of artifacts might be difficult to spot. For example,
130-
this may result in using images with malicious code. Also, intendend major
131-
changes, which are automatically used in an image used might break the functionality.
132-
usefulness: 3
133-
- dependsOn:
93+
iso27001-2017:
94+
- 14.2.6
95+
isImplemented: false
96+
evidence: ""
97+
comments: ""
98+
SBOM of components:
99+
risk: In case a vulnerability of severity high or critical exists, it needs
100+
to be known where an artifacts with that vulnerability is deployed with which
101+
dependencies.
102+
measure: Creation of an SBOM of components (e.g. application and container image
103+
content) during build.
104+
dependsOn:
134105
- Defined build process
135106
difficultyOfImplementation:
136107
knowledge: 2
137-
resources: 3
138108
time: 2
139-
implementation: []
140-
iso27001-2017:
141-
- '8.1'
142-
- '8.2'
143-
level: 2
144-
measure: Creation of an SBOM of components (e.g. application and container image
145-
content) during build.
146-
name: SBOM of components
147-
risk:
148-
- In case a vulnerability of severity high or critical exists, it needs to be
149-
known where an artifacts with that vulnerability is deployed with which dependencies.
109+
resources: 3
150110
usefulness: 3
151-
level-3:
152-
- dependsOn:
153-
- Defined build process
111+
level: 2
112+
implementation: []
113+
references:
114+
samm2: []
115+
iso27001-2017:
116+
- "8.1"
117+
- "8.2"
118+
isImplemented: false
119+
evidence: ""
120+
comments: ""
121+
Signing of artifacts:
122+
risk: Unauthorized manipulation of artifacts might be difficult to spot. For
123+
example, this may result in images with malicious code in the Docker registry.
124+
measure: Digitally signing artifacts for all steps during the build and especially
125+
docker images, helps to ensure their integrity.
154126
difficultyOfImplementation:
155127
knowledge: 2
156-
resources: 2
157128
time: 2
158-
implementation: []
129+
resources: 2
130+
usefulness: 4
159131
level: 3
160-
measure: Digitally signing commits helps to prevent unauthorized manipulation
161-
of source code.
162-
name: Signing of code
132+
implementation:
133+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/docker-content-trust
134+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/in-toto
135+
dependsOn:
136+
- Defined build process
137+
- Pinning of artifacts
163138
references:
139+
samm2:
140+
- I-SB-1-A
164141
iso27001-2017:
165142
- 14.2.6
166-
samm2: I-SB-2-A
167-
risk:
168-
- Unauthorized manipulation of source code might be difficult to spot.
169-
usefulness: 3
170-
- dependsOn:
171-
- Defined build process
172-
- Pinning of artifacts
143+
isImplemented: false
144+
evidence: ""
145+
comments: ""
146+
Signing of code:
147+
risk: Unauthorized manipulation of source code might be difficult to spot.
148+
measure: Digitally signing commits helps to prevent unauthorized manipulation
149+
of source code.
173150
difficultyOfImplementation:
174151
knowledge: 2
175-
resources: 2
176152
time: 2
177-
implementation:
178-
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/docker-content-trust
179-
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/in-toto
153+
resources: 2
154+
usefulness: 3
180155
level: 3
181-
measure: Digitally signing artifacts for all steps during the build and especially
182-
docker images, helps to ensure their integrity.
183-
name: Signing of artifacts
156+
implementation:
157+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/signing-of-commits
158+
- $ref: src/assets/YAML/default/implementations.yaml#/implementations/signing-of-commits-protection
159+
dependsOn:
160+
- Defined build process
184161
references:
162+
samm2:
163+
- I-SB-2-A
185164
iso27001-2017:
186165
- 14.2.6
187-
samm2:
188-
- I-SB-1-A
189-
risk:
190-
- Unauthorized manipulation of artifacts might be difficult to spot. For example,
191-
this may result in images with malicious code in the Docker registry.
192-
usefulness: 4
193-
name: Build
166+
isImplemented: false
167+
evidence: ""
168+
comments: ""
169+
...

0 commit comments

Comments
 (0)