Skip to content

Commit ecb4b5b

Browse files
authored
Merge pull request #57 from OWASP/mkdocs
switch over to mkdocs and update the top 10 to the 2023/24 version
2 parents 58a6831 + 4eb22aa commit ecb4b5b

37 files changed

+686
-501
lines changed

‎.DS_Store‎

-10 KB
Binary file not shown.

‎.github/workflows/deploy.yml‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Build Github Pages
2+
on:
3+
push:
4+
branches:
5+
- main
6+
permissions:
7+
contents: write
8+
jobs:
9+
deploy:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
with:
14+
fetch-depth: 0
15+
- uses: actions/setup-python@v5
16+
with:
17+
python-version: 3.x
18+
- uses: actions/cache@v2
19+
with:
20+
key: ${{ github.ref }}
21+
path: .cache
22+
- name: Install Dependencies
23+
run: pip install mkdocs-material
24+
- run: mkdocs gh-deploy --force --clean

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ __pycache__
22
env
33
.vscode
44
_site/
5+
.DS_Store

‎Gemfile‎

Lines changed: 0 additions & 4 deletions
This file was deleted.

‎LICENSE‎

Lines changed: 428 additions & 0 deletions
Large diffs are not rendered by default.

‎_config.yml‎

Lines changed: 0 additions & 3 deletions
This file was deleted.

‎assets/images/README.md‎

Lines changed: 0 additions & 5 deletions
This file was deleted.

‎CNAME‎ renamed to ‎docs/CNAME‎

File renamed without changes.
Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,3 @@
1-
---
2-
3-
layout: col-document
4-
tags: OWASP Top Ten Proactive Controls 2024, Intro
5-
document: OWASP Top Ten Proactive Controls 2024
6-
order: 404
7-
permalink: /v4/en/introduction
8-
9-
---
10-
111
# Introduction
122

133
For years, developers have suffered through introducing the same security issues into the things they build. The most common issues, which have existed for decades, have been documented by the OWASP Top Ten. Many of the issues in the earliest version still exist in some form today. A mechanism is needed to counter these challenges, and that mechanism is proactive controls.
@@ -24,30 +14,18 @@ Please note that while complying with best proactive practices will reduce the c
2414

2515
The OWASP Top 10 Proactive Controls 2024 is a list of security techniques every software architect and developer should know and heed. The main goal of this document is to provide concrete, practical guidance that helps developers build secure software. These techniques should be applied proactively at the early stages of software development to ensure maximum effectiveness.
2616

27-
***How to Use this Document***
17+
### How to Use this Document
2818

2919
This document’s main purpose is to provide a solid foundation of topics to help drive introductory software security developer training. To be effective, these controls should be used consistently and thoroughly throughout all applications.
3020

3121
However, this document is a starting point rather than a comprehensive set of techniques and practices.
3222

3323
A fully secure development process should include comprehensive requirements from a standard such as the OWASP ASVS in addition to including a range of software development activities described in maturity models such as [OWASP SAMM](https://www.owasp.org/index.php/OWASP_SAMM_Project) and [BSIMM](https://www.bsimm.com/).
3424

35-
***Target Audience***
25+
### Target Audience
3626

3727
This document is primarily written for developers. However, development managers, product owners, Q/A professionals, program managers, and anyone involved in building software can also benefit from this document.
3828

39-
***How this List Was Created***
40-
This list was originally created by the current project leads with contributions from several volunteers. The document was then shared globally so even anonymous suggestions could be considered. Hundreds of changes were accepted from this open community process.
41-
42-
## Relationship to other OWASP Projects
43-
OWASP is a volunteer-driven organization. Those volunteers contributed many useful documents, and this section points to some related OWASP documents and projects:
44-
45-
- The best-known OWASP document is the [OWASP Top 10](https://owasp.org/Top10/). They detail the most common web application vulnerabilities and are also the base for this document. In contrast, this document is focused on defensive techniques and controls as opposed to risks. Each control in this document will map to one or more items in the risk-based OWASP Top 10. This mapping information is included at the end of each control description.
46-
- The OWASP ASVS: [The OWASP Application Security Verification Standard (ASVS)](https://owasp.org/www-project-application-security-verification-standard/) is a catalog of available security requirements and verification criteria. OWASP ASVS can be a source of detailed security requirements for development teams. Security requirements are categorized into different buckets based on a shared higher order security function. For example, the ASVS contains categories such as authentication, access control, error handling / logging, and web services. Each category contains a collection of requirements that represent the best practices for that category drafted as verifiable statements.
47-
- OWASP SAMM [Software Assurance Maturity Model (SAMM)](https://www.opensamm.org/) is an open framework to help organizations implement a strategy for maturing the software security tailored to the specific risks of the organization. . [SAMM] (https://owaspsamm.org/about/) supports the complete software lifecycle and can be used to identify what
48-
- Threat Modeling is an important part of secure application development, which can help identify potential security threats, derive security requirements, and tailor security controls to prevent potential threats. Successful use of security requirements involves four steps: discovery, documentation, implementation, and verification of the correct implementation of the functionality within an application. Threat modelling is one way to derive security requirements. Other sources are: industry standards, applicable laws, history of past vulnerabilities. Modeling tools, like [OWASP Threat Dragon](https://owasp.org/www-project-threat-dragon/) can be used to create threat model diagrams as part of a secure development lifecycle.
49-
50-
It is important to notice that this document primarily focuses on web applications, but other Top 10s could apply to your application, too. Examples of those are:
51-
- OWASP API Top 10
52-
- OWASP Mobile Application Top 10
29+
### How this List Was Created
5330

31+
This list was originally created by the current project leads with contributions from several volunteers. The document was then shared globally so even anonymous suggestions could be considered. Hundreds of changes were accepted from this open community process.

‎v4/en/0x03-about-structure.md‎ renamed to ‎docs/about-top-10/structure.md‎

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,4 @@
1-
---
2-
3-
layout: col-document
4-
tags: OWASP Top Ten Proactive Controls 2024, Document Structure
5-
document: OWASP Top Ten Proactive Controls 2024
6-
order: 403
7-
8-
---
9-
10-
# Document Structure
11-
12-
This document is structured as a list of security controls. The list is ordered by importance with list item number 1 being the most important:
13-
14-
* C1: Implement Access Control
15-
* C2: Use Cryptography the right way
16-
* C3: Validate, Escape, Sanitize or Parameterize Untrusted Data
17-
* C4: Address Security from the Start
18-
* C5: Secure By Default Configurations
19-
* C6: Assess and Update your Components
20-
* C7: Implement Digital Identity
21-
* C8: Leverage Browser Security Features
22-
* C9: Implement Security Logging and Monitoring
23-
* C10: Stop Server Side Request Forgery
24-
25-
## Security Controls
1+
# Security Controls
262

273
The description of each control has the same structure. The control itself has an unique name preceeded by the control number: **Cx: Control Name**, e.g., *C1: Implement Access Control*.
284

0 commit comments

Comments
 (0)