From 4257c104110124ddd9dcd10eab4fd840239c5553 Mon Sep 17 00:00:00 2001 From: Jon Gadsden Date: Fri, 30 Aug 2024 08:33:14 +0100 Subject: [PATCH 1/4] add spotlight to opencre --- draft/05-requirements/03-int-stand.md | 6 ++++-- release/05-requirements/toc.md | 2 +- release/toc.md | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/draft/05-requirements/03-int-stand.md b/draft/05-requirements/03-int-stand.md index 90bd8348..8357fc71 100644 --- a/draft/05-requirements/03-int-stand.md +++ b/draft/05-requirements/03-int-stand.md @@ -41,9 +41,10 @@ OWASP [Application Security Fragmentation][sdlc] #### References -* [Integration Standards][intstand] project -* [OpenCRE][opencre] +* OWASP [OpenCRE][opencre] +* [Spotlight on OpenCRE][spotlight28] * OWASP [Application Security Fragmentation][sdlc] +* OWASP [Integration Standards][intstand] project ---- @@ -56,5 +57,6 @@ then [submit an issue][issue0503] or [edit on GitHub][edit0503]. [intstand]: https://owasp.org/www-project-integration-standards/ [projects]: https://owasp.org/projects/ [sdlc]: https://owasp.org/www-project-integration-standards/writeups/owasp_in_sdlc/ +[spotlight28]: https://www.youtube.com/watch?v=TwNroVARmB0&list=PLUKo5k_oSrfOTl27gUmk2o-NBKvkTGw0T \newpage diff --git a/release/05-requirements/toc.md b/release/05-requirements/toc.md index 39402cfc..6f90482a 100644 --- a/release/05-requirements/toc.md +++ b/release/05-requirements/toc.md @@ -50,7 +50,7 @@ Sections: 3.1 [Requirements in practice](01-requirements.md) 3.2 [Risk profile](02-risk.md) -3.3 [OpenCRE](03-opencre.md) +3.3 [OpenCRE](03-int-stand.md) 3.4 [SecurityRAT](04-security-rat.md) 3.5 [Application Security Verification Standard](05-asvs.md) 3.6 [Mobile Application Security](06-mas.md) diff --git a/release/toc.md b/release/toc.md index 3ea29d7b..1438e0f4 100644 --- a/release/toc.md +++ b/release/toc.md @@ -30,7 +30,7 @@ permalink: /release/ 3 **[Requirements](05-requirements/toc.md)** 3.1 [Requirements in practice](05-requirements/01-requirements.md) 3.2 [Risk profile](05-requirements/02-risk.md) -3.3 [OpenCRE](05-requirements/03-opencre.md) +3.3 [OpenCRE](05-requirements/03-int-stand.md) 3.4 [SecurityRAT](05-requirements/04-security-rat.md) 3.5 [Application Security Verification Standard](05-requirements/05-asvs.md) 3.6 [Mobile Application Security](05-requirements/06-mas.md) From 856a9486006026fe689764e259b5928364f0b95b Mon Sep 17 00:00:00 2001 From: Jon Gadsden Date: Mon, 2 Sep 2024 17:02:56 +0100 Subject: [PATCH 2/4] update upload-artifact in workflows --- .github/workflows/pr.yaml | 2 +- .github/workflows/release.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 3da4a419..9521df31 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -89,7 +89,7 @@ jobs: draft/temp/draft.markdown - name: Save pdfs and epubs - uses: actions/upload-artifact@v4.3.4 + uses: actions/upload-artifact@v4.4.0 with: name: export-draft path: publish diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index ddee2ce2..612dbff0 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -66,7 +66,7 @@ jobs: release/temp/draft.markdown - name: Store pdf and epub assets - uses: actions/upload-artifact@v4.3.4 + uses: actions/upload-artifact@v4.4.0 with: name: export-docs path: publish From 0d90f8afe49472afec9664ee15347a195a62a43f Mon Sep 17 00:00:00 2001 From: Jon Gadsden Date: Wed, 4 Sep 2024 09:04:18 +0100 Subject: [PATCH 3/4] add refernce to OpenCRE chat in introduction --- assets/images/sdlc_diag.png | Bin 40757 -> 33261 bytes draft/03-introduction.md | 22 +++++++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/assets/images/sdlc_diag.png b/assets/images/sdlc_diag.png index 813c1c45a3e51e394d56bbc80a840487c8977603..3a4910f9987eadba0d9c60bbb3e41b7946ee1804 100644 GIT binary patch literal 33261 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 JH8SR({|^^WY@`4H literal 40757 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 Date: Thu, 12 Sep 2024 11:45:51 +0100 Subject: [PATCH 4/4] final draft version of OenCRE ready for review --- .wordlist.txt | 2 + _data/draft.yaml | 2 +- _data/release.yaml | 2 +- draft/05-requirements/03-int-stand.md | 62 --------- draft/05-requirements/03-opencre.md | 130 ++++++++++++++++++ draft/05-requirements/toc.md | 2 +- .../01-guides/01-samm.md | 4 +- draft/toc.md | 2 +- .../{03-int-stand.md => 03-opencre.md} | 6 +- release/05-requirements/toc.md | 2 +- release/toc.md | 2 +- 11 files changed, 143 insertions(+), 73 deletions(-) delete mode 100644 draft/05-requirements/03-int-stand.md create mode 100644 draft/05-requirements/03-opencre.md rename release/05-requirements/{03-int-stand.md => 03-opencre.md} (83%) diff --git a/.wordlist.txt b/.wordlist.txt index 9b3e5c35..9317ae75 100644 --- a/.wordlist.txt +++ b/.wordlist.txt @@ -505,3 +505,5 @@ incrementing WHATWG OpenCRE opencre +LLM +SDLCs diff --git a/_data/draft.yaml b/_data/draft.yaml index af99fcde..60a8e793 100644 --- a/_data/draft.yaml +++ b/_data/draft.yaml @@ -32,7 +32,7 @@ docs: url: requirements/risk_profile - title: '3.3 OpenCRE and Integration Standards' - url: requirements/integration_standard_opencre + url: requirements/opencre_integration_standard - title: '3.4 SecurityRAT' url: requirements/security_rat diff --git a/_data/release.yaml b/_data/release.yaml index 53263f38..be4677e4 100644 --- a/_data/release.yaml +++ b/_data/release.yaml @@ -32,7 +32,7 @@ docs: url: requirements/risk_profile - title: '3.3 OpenCRE and Integration Standards' - url: requirements/integration_standard_opencre + url: requirements/opencre_integration_standard - title: '3.4 SecurityRAT' url: requirements/security_rat diff --git a/draft/05-requirements/03-int-stand.md b/draft/05-requirements/03-int-stand.md deleted file mode 100644 index 8357fc71..00000000 --- a/draft/05-requirements/03-int-stand.md +++ /dev/null @@ -1,62 +0,0 @@ ---- - -title: OpenCRE and Integration Standards -layout: col-document -tags: OWASP Developer Guide -contributors: Jon Gadsden -document: OWASP Developer Guide -order: 503 -permalink: /draft/requirements/integration_standard_opencre/ - ---- - -{% include breadcrumb.html %} - -[OpenCRE logo](../../../assets/images/logos/opencre.png "OWASP OpenCRE"){: height="180px" } - -### 3.3 OpenCRE - -The [Open Common Requirement Enumeration][opencre] (OpenCRE) is a catalog of security requirements, -enumerating security topics and providing links to various standards, cheat sheets and guides. - -The OWASP [Integration Standards][intstand] is a documentation project with production status, -and includes both the OpenCRE and Security and the Application Security Wayfinder. - -#### What is the Integration Standards project? - -The [Integration Standards][intstand] project is at the centre of the OWASP project community; -it provides guidance on how to navigate and use the many projects within OWASP. - -Application Security Wayfinder - -as of August 2024 there are 345 [OWASP projects][projects] - -OWASP [Application Security Fragmentation][sdlc] - -#### What is OpenCRE? - -#### Why use OpenCRE? - -#### How to use OpenCRE - -#### References - -* OWASP [OpenCRE][opencre] -* [Spotlight on OpenCRE][spotlight28] -* OWASP [Application Security Fragmentation][sdlc] -* OWASP [Integration Standards][intstand] project - ----- - -The OWASP Developer Guide is a community effort; if there is something that needs changing -then [submit an issue][issue0503] or [edit on GitHub][edit0503]. - -[edit0503]: https://github.com/OWASP/www-project-developer-guide/blob/main/draft/05-requirements/03-int-stand.md -[issue0503]: https://github.com/OWASP/www-project-developer-guide/issues/new?labels=content&template=request.md&title=Update:%2005-requirements/03-int-stand -[opencre]: https://www.opencre.org/ -[intstand]: https://owasp.org/www-project-integration-standards/ -[projects]: https://owasp.org/projects/ -[sdlc]: https://owasp.org/www-project-integration-standards/writeups/owasp_in_sdlc/ -[spotlight28]: https://www.youtube.com/watch?v=TwNroVARmB0&list=PLUKo5k_oSrfOTl27gUmk2o-NBKvkTGw0T - -\newpage diff --git a/draft/05-requirements/03-opencre.md b/draft/05-requirements/03-opencre.md new file mode 100644 index 00000000..4650d42b --- /dev/null +++ b/draft/05-requirements/03-opencre.md @@ -0,0 +1,130 @@ +--- + +title: OpenCRE and Integration Standards +layout: col-document +tags: OWASP Developer Guide +contributors: Jon Gadsden +document: OWASP Developer Guide +order: 503 +permalink: /draft/requirements/opencre_integration_standard/ + +--- + +{% include breadcrumb.html %} + +[OpenCRE logo](../../../assets/images/logos/opencre.png "OWASP OpenCRE"){: height="180px" } + +### 3.3 OpenCRE + +The [Open Common Requirement Enumeration][opencre] (OpenCRE) is a catalog of security requirements: +enumerating security topics and providing links to various standards, cheat sheets and guides. + +The OWASP [Integration Standards][intstand] project includes both the OpenCRE and Security +and the Application Security Wayfinder, it is an OWASP documentation project with production status. + +#### What is the Integration Standards project? + +The [Integration Standards][intstand] project is at the centre of the OWASP project community; +it provides guidance on how to navigate and use the many projects within OWASP. +It does this in two ways, first is the [Application Security Wayfinder][intstand] which provides a visual map +of the most important OWASP projects - as of August 2024 there are 345 [OWASP projects][projects] +so this is a really useful visualization. +The second is the Open Common Requirement Enumeration ([OpenCRE][opencre]) which provides a consolidated reference of +standards, cheat sheets, tools and other enumerations (such as [CWE][cwe]). + +The Integration Standards project has also produced OWASP [Application Security Fragmentation][sdlc] +write-up on OWASP and the secure Software Development LifeCycle (SDLC). +This provides an overview of tools and techniques used for most SDLCs. + +#### What is OpenCRE? + +[OpenCRE][opencre] is a catalog, or enumeration, of various standards and reference material, including: + +* [CAPEC][capecocre] +* [CWE][cweocre] +* [NIST Special Publications][nist] [800-53][nist53] and [800-63][nist63] +* OWASP [ASVS][asvs] +* OWASP [Top10][top10ocre] +* OWASP [Proactive Controls][proactiveocre] +* OWASP [Cheat Sheets][csocre] +* OWASP [WSTG][wstgocre] +* [ZAP][zapocre] from [Crash Override][crash] + +The aim of this project is to 'Link all the things with OpenCRE' which will: + +* make it easier for engineers, security officers, testers and procurement to find relevant information +* make it easier for standards makers to create and maintain references + +#### Why use OpenCRE? + +OpenCRE: 'Everything organized' + +[OpenCRE][opencre] is a powerful tool that can provide developers with links to many resources, and is easy to use. +It provides a one-stop consolidated set of references on various security terms and domains, +and crucially these are automatically kept up to date. +The provides a handy security catalog that can be searched for various standards or security terms. + +As well as being useful for day to day security questions, +the OpenCRE can also be used as the reference section in documentation; +linking across to the OpenCRE rather than providing a list of references means the links are kept up to date automatically. + +#### How to use OpenCRE + +The [OpenCRE][opencre] catalog can be accessed in traditional ways such as using searches or linking across to it. +For example OpenCRE references to the Common Weakness Enumeration can be accessed using the [search facility][cweocre] +or by linking across directly to a [specific Open Common Requirement][cwe1002]. + +OpenCRE is also useful when providing references in documentation. +OpenCRE can be used for these references instead of listing various references to a security concept or requirement. +This will provide links to standards, cheat sheets, tools and other enumerations - +along with other sources that have been added over time - and all kept up to date. +So no more broken links or referring to out of date versions :) + +This is now the age of large language models, and OpenCRE has embraced this technology. +Immediate answers to security questions or searches can be provided by [OpenCRE Chat][opencrechat]. + +For example, in answer to the question "_what use is the OWASP Developer Guide?_" +OpenCRE Chat provides the agreeable answer: + +_"The OWASP Developer Guide provides a comprehensive overview of application security risks and how to mitigate them._ +_It covers topics such as input validation, output encoding, secure coding practices, and secure design principles._ +_The guide is a valuable resource for developers who want to create secure applications."_ + +#### References + +* OWASP [OpenCRE][opencre] +* [Spotlight on OpenCRE][spotlight28] +* OWASP [Application Security Fragmentation][sdlc] +* OWASP [Integration Standards][intstand] project +* [Understanding the Complete Chain of Application Security Using OpenCRE org][opencretalk] + +---- + +The OWASP Developer Guide is a community effort; if there is something that needs changing +then [submit an issue][issue0503] or [edit on GitHub][edit0503]. + +[asvs]: https://owasp.org/www-project-application-security-verification-standard/ +[capecocre]: https://opencre.org/search/CAPEC +[crash]: https://crashoverride.com/ +[csocre]: https://opencre.org/search/OWASP%20Cheat%20Sheets +[cweocre]: https://opencre.org/search/CWE +[cwe]: https://cwe.mitre.org/ +[cwe1002]: https://www.opencre.org/node/standard/CWE/sectionid/1002 +[edit0503]: https://github.com/OWASP/www-project-developer-guide/blob/main/draft/05-requirements/03-opencre.md +[intstand]: https://owasp.org/www-project-integration-standards/ +[issue0503]: https://github.com/OWASP/www-project-developer-guide/issues/new?labels=content&template=request.md&title=Update:%2005-requirements/03-opencre +[nist]: https://csrc.nist.gov/ +[nist53]: https://www.nist.gov/privacy-framework/nist-privacy-framework-and-cybersecurity-framework-nist-special-publication-800-53 +[nist63]: https://pages.nist.gov/800-63-3/ +[opencre]: https://www.opencre.org/ +[opencrechat]: https://www.opencre.org/chatbot +[opencretalk]: https://www.youtube.com/watch?v=VPOkT9quve0 +[proactiveocre]: https://www.opencre.org/search/Proactive%20Controls +[projects]: https://owasp.org/projects/ +[sdlc]: https://owasp.org/www-project-integration-standards/writeups/owasp_in_sdlc/ +[spotlight28]: https://www.youtube.com/watch?v=TwNroVARmB0&list=PLUKo5k_oSrfOTl27gUmk2o-NBKvkTGw0T +[top10ocre]: https://www.opencre.org/search/OWASP%20Top%2010 +[wstgocre]: https://opencre.org/search/WSTG +[zapocre]: https://opencre.org/search/ZAP + +\newpage diff --git a/draft/05-requirements/toc.md b/draft/05-requirements/toc.md index e3922232..03a5aabe 100644 --- a/draft/05-requirements/toc.md +++ b/draft/05-requirements/toc.md @@ -50,7 +50,7 @@ Sections: 3.1 [Requirements in practice](01-requirements.md) 3.2 [Risk profile](02-risk.md) -3.3 [OpenCRE](03-int-stand.md) +3.3 [OpenCRE](03-opencre.md) 3.4 [SecurityRAT](04-security-rat.md) 3.5 [Application Security Verification Standard](05-asvs.md) 3.6 [Mobile Application Security](06-mas.md) diff --git a/draft/13-security-gap-analysis/01-guides/01-samm.md b/draft/13-security-gap-analysis/01-guides/01-samm.md index f5cfba3f..4dae885d 100644 --- a/draft/13-security-gap-analysis/01-guides/01-samm.md +++ b/draft/13-security-gap-analysis/01-guides/01-samm.md @@ -73,7 +73,7 @@ The OWASP Spotlight series provides an overview of using the SAMM: 'Project 9 - [Software Assurance Maturity Model (SAMM)][spotlight09]'. Security gap analysis can benefit from an assessment which measures the quality of the software assurance maturity process. -The [SAMM Assessment][samma] tools include spreadsheets and online tools such as [SAMMwise][samwise] and [SAMMY][sammy]. +The [SAMM Assessment][samma] tools include spreadsheets and online tools such as [SAMMwise][sammwise] and [SAMMY][sammy]. The SAMM model describes these fundamentals of software security, which it calls Business Functions. Each of these five fundamentals are further split into three Business Practices: @@ -124,7 +124,7 @@ then [submit an issue][issue130101] or [edit on GitHub][edit130101]. [sammvrt]: https://owaspsamm.org/model/verification/requirements-driven-testing/ [sammvst]: https://owaspsamm.org/model/verification/security-testing/ [samm-project]: https://owasp.org/www-project-samm/ -[samwise]: https://github.com/owaspsamm/sammwise +[sammwise]: https://github.com/owaspsamm/sammwise [sammy]: https://sammy.codific.com/ [spotlight09]: https://youtu.be/N0zcZnkH5Wg diff --git a/draft/toc.md b/draft/toc.md index 8a9a7077..837074cc 100644 --- a/draft/toc.md +++ b/draft/toc.md @@ -32,7 +32,7 @@ This draft version has the latest contributions to the Developer Guide so expect 3 **[Requirements](05-requirements/toc.md)** 3.1 [Requirements in practice](05-requirements/01-requirements.md) 3.2 [Risk profile](05-requirements/02-risk.md) -3.3 [OpenCRE](05-requirements/03-int-stand.md) +3.3 [OpenCRE](05-requirements/03-opencre.md) 3.4 [SecurityRAT](05-requirements/04-security-rat.md) 3.5 [Application Security Verification Standard](05-requirements/05-asvs.md) 3.6 [Mobile Application Security](05-requirements/06-mas.md) diff --git a/release/05-requirements/03-int-stand.md b/release/05-requirements/03-opencre.md similarity index 83% rename from release/05-requirements/03-int-stand.md rename to release/05-requirements/03-opencre.md index 23ce3fc9..333654ac 100644 --- a/release/05-requirements/03-int-stand.md +++ b/release/05-requirements/03-opencre.md @@ -6,7 +6,7 @@ tags: OWASP Developer Guide contributors: Jon Gadsden document: OWASP Developer Guide order: 5030 -permalink: /release/requirements/integration_standard_opencre/ +permalink: /release/requirements/opencre_integration_standard/ --- @@ -29,7 +29,7 @@ permalink: /release/requirements/integration_standard_opencre/ The OWASP Developer Guide is a community effort; if there is something that needs changing then [submit an issue][issue0503] or [edit on GitHub][edit0503]. -[edit0503]: https://github.com/OWASP/www-project-developer-guide/blob/main/draft/05-requirements/03-int-stand.md -[issue0503]: https://github.com/OWASP/www-project-developer-guide/issues/new?labels=content&template=request.md&title=Update:%2005-requirements/03-int-stand +[edit0503]: https://github.com/OWASP/www-project-developer-guide/blob/main/draft/05-requirements/03-opencre.md +[issue0503]: https://github.com/OWASP/www-project-developer-guide/issues/new?labels=content&template=request.md&title=Update:%2005-requirements/03-opencre \newpage diff --git a/release/05-requirements/toc.md b/release/05-requirements/toc.md index 6f90482a..39402cfc 100644 --- a/release/05-requirements/toc.md +++ b/release/05-requirements/toc.md @@ -50,7 +50,7 @@ Sections: 3.1 [Requirements in practice](01-requirements.md) 3.2 [Risk profile](02-risk.md) -3.3 [OpenCRE](03-int-stand.md) +3.3 [OpenCRE](03-opencre.md) 3.4 [SecurityRAT](04-security-rat.md) 3.5 [Application Security Verification Standard](05-asvs.md) 3.6 [Mobile Application Security](06-mas.md) diff --git a/release/toc.md b/release/toc.md index 1438e0f4..3ea29d7b 100644 --- a/release/toc.md +++ b/release/toc.md @@ -30,7 +30,7 @@ permalink: /release/ 3 **[Requirements](05-requirements/toc.md)** 3.1 [Requirements in practice](05-requirements/01-requirements.md) 3.2 [Risk profile](05-requirements/02-risk.md) -3.3 [OpenCRE](05-requirements/03-int-stand.md) +3.3 [OpenCRE](05-requirements/03-opencre.md) 3.4 [SecurityRAT](05-requirements/04-security-rat.md) 3.5 [Application Security Verification Standard](05-requirements/05-asvs.md) 3.6 [Mobile Application Security](05-requirements/06-mas.md)