You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The DevSecOps Maturity Model (DSOMM) is an open-source framework designed to help organizations evaluate and improve their **DevSecOps** practices.
6
+
It provides structured **security maturity levels**, recommendations, and automation insights to enable teams to build **secure, efficient, and scalable software**.
7
+
8
+
This guide walks you through **setting up the project locally**, making contributions, and submitting a pull request.
9
+
10
+
## **Project Setup**
11
+
12
+
### Development Server
13
+
14
+
The DSOMM is based [Angular](https://angular.dev/) and uses npm for package management.
15
+
16
+
- If you have not yet installed npm or the Angular command line tools, install them now. First [NodeJS](https://nodejs.org/en/download) (which provides npm), then Angular:
- Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.
23
47
24
-
25
-
## Code scaffolding
48
+
## Code Scaffolding
26
49
27
50
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
28
51
29
52
## Build
30
53
31
54
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
32
55
33
-
## Running unit tests
56
+
## Running Unit Tests
34
57
35
58
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
36
59
37
60
## Coding Style Conventions
38
61
39
-
- We follow the coding style defined by [ESLint](https://eslint.org/).
62
+
- We follow the coding style defined by [ESLint](https://eslint.org/).
40
63
- We also use [Prettier](https://prettier.io/docs/en/index.html) as our opinionated code formatter.
41
-
- To validate the schemas of the DSOMM yaml files in the IDE, it is recommended to use the VS Code extension [redhat.vscode-yaml](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml). The schemas are stored in /src/assets/YAML/schemas
64
+
- To validate the schemas of the DSOMM yaml files in the IDE, it is recommended to use the VS Code extension [redhat.vscode-yaml](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml). The schemas are stored in `/src/assets/YAML/schemas`
65
+
66
+
### Running Linter
67
+
68
+
Run `ng lint` to run the linter from the command line.
69
+
If you want to lint only a specific component, use:
42
70
71
+
```bash
72
+
ng lint --lint-file-patterns .\src\app\component\xxxxxx\
Copy file name to clipboardExpand all lines: README.md
+36-5Lines changed: 36 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ From a startup to a multinational corporation the software development industry
4
4
5
5
The OWASP DevSecOps Maturity Model provides opportunities to harden DevOps strategies and shows how these can be prioritized.
6
6
7
-
With the help of DevOps strategies security can also be enhanced. For example, each component such as application libraries and operating system libraries in docker images can be tested for known vulnerabilities.
7
+
With the help of DevOps strategies security can also be enhanced. For example, each component such as application libraries and operating system libraries in docker images can be tested for known vulnerabilities.
8
8
9
9
Attackers are intelligent and creative, equipped with new technologies and purpose. Under the guidance of the forward-looking DevSecOps Maturity Model, appropriate principles and measures are at hand implemented which counteract the attacks.
10
10
@@ -63,9 +63,9 @@ In case you would like to perform a DevSecOps assessment, the following tools ar
63
63
3. Browse to <http://localhost:8080> (on macOS and Windows browse to <http://192.168.99.100:8080> if you are using docker-machine instead
64
64
of the native docker installation)
65
65
66
-
For customized DSOMM, take a look at https://github.com/wurstbrot/DevSecOps-MaturityModel-custom. In case you would like to have perform an assessment for multiple teams, iterate from port 8080 to 8XXX, depending of the size of your team.
66
+
For customized DSOMM, take a look at https://github.com/wurstbrot/DevSecOps-MaturityModel-custom.
67
67
68
-
You can download your current state from the circular headmap and mount it again via
68
+
You can download your current state from the circular heatmap and mount it again via
69
69
70
70
```bash
71
71
wget https://raw.githubusercontent.com/devsecopsmaturitymodel/DevSecOps-MaturityModel-data/main/src/assets/YAML/generated/generated.yaml # or go to /circular-heatmap and download edited yaml (bottom right)
@@ -94,6 +94,29 @@ service docker start
94
94
docker run -d -p 80:8080 wurstbrot/dsomm:latest
95
95
```
96
96
97
+
## Generating the `generated.yaml` File
98
+
99
+
The `generated.yaml` file is dynamically created during the build process. If you don’t see this file after setup, follow these steps to generate it:
100
+
101
+
**1. Clone the Required Repository:**
102
+
The `generated.yaml` file is built via the DevSecOps-MaturityModel-data repository. Make sure you have cloned and set it up correctly.
103
+
104
+
**2. Run the Build Command:**
105
+
Navigate to the project directory and run the following command:
106
+
-*Using npm:*
107
+
108
+
```sh
109
+
npm run build
110
+
````
111
+
112
+
- *Using yarn:*
113
+
114
+
```sh
115
+
yarn build
116
+
```
117
+
118
+
*If the file is missing, ensure all dependencies are installed and that you have the correct access to the `DevSecOps-MaturityModel-data` repository.*
119
+
97
120
## Activity Definitions
98
121
The definition of the activities are in the [data-repository](https://github.com/devsecopsmaturitymodel/DevSecOps-MaturityModel-data).
99
122
@@ -124,10 +147,18 @@ In the corresponding [dimension YAMLs](https://github.com/devsecopsmaturitymodel
124
147
[...]
125
148
teamsImplemented:
126
149
Default: false
150
+
B: true
127
151
C: true
128
-
evidence:
129
-
B: Showed Jenkinsfile
152
+
teamsEvidence:
153
+
B: All team members completed OWASP Secure Coding Dojo training on 2025-01-11.
154
+
C: |
155
+
The pentest report from 2025 has been split into Jira tasks under
0 commit comments