Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
307e525
Update D-Security-Requirements.yml
aaronott Jul 10, 2023
5c9a591
Update O-Incident-Management.yml
aaronott Jul 17, 2023
d8c4855
Fixes #107, Fixes #123
Pat-Duarte Aug 4, 2023
ad24ac5
Merge pull request #128 from owaspsamm/fix-typos-aug-23
SebaDele Aug 23, 2023
6feceed
Merge pull request #125 from owaspsamm/main
dkefer Sep 26, 2023
e01ec53
Merge pull request #127 from aaronott/patch-2
dkefer Sep 26, 2023
91eb70f
Update maturitylevel to maturityLevel
johanlindfors Oct 4, 2023
3fa772d
Updated answerset to answerSet
johanlindfors Oct 4, 2023
aeed743
Fix typo
mtausig Nov 20, 2023
3eab9b3
Merge pull request #133 from mtausig/patch-1
dkefer Mar 23, 2024
ef98fe4
Update README.md
dkefer Mar 23, 2024
bbe0ffa
Merge pull request #134 from owaspsamm/dkefer-patch-1
dkefer Mar 23, 2024
40e5bd7
Changing the name of security architecture to secure architecture, al…
Mar 23, 2024
28af099
Changed "issues" to "issues, tradeoffs or flaws"
Mar 23, 2024
69b3075
Update D-SR-3-B.yml
23bartman Mar 23, 2024
e0f1b9a
Update G-SM-2-A.yml
dkefer Mar 23, 2024
42d15d0
Merge pull request #137 from owaspsamm/dkefer-patch-1
dkefer Mar 23, 2024
42b1487
Merge pull request #136 from owaspsamm/SupplierSecurityCriterion-fix
dkefer Mar 23, 2024
a779517
Update I-SD-1-B.yml
dkefer Mar 23, 2024
7b549a8
Merge pull request #139 from owaspsamm/dkefer-patch-2
dkefer Mar 23, 2024
4472299
Update I-SD-2-A.yml
dkefer Mar 23, 2024
3983e9b
Update O-IM-2-B.yml
dkefer Mar 23, 2024
d3fc03f
Update V-AA-1-B.yml
dkefer Mar 23, 2024
4441d64
Update V-AA-2-A.yml
dkefer Mar 23, 2024
1caecfd
Update V-AA-2-B.yml
dkefer Mar 23, 2024
82c490f
Update V-AA-3-A.yml
dkefer Mar 23, 2024
3b79116
Update V-AA-3-B.yml
dkefer Mar 23, 2024
cf43dda
Update V-RT-1-A.yml
dkefer Mar 23, 2024
5556144
Update V-RT-1-B.yml
dkefer Mar 23, 2024
c3c1abd
Update V-RT-2-A.yml
dkefer Mar 23, 2024
281ad94
Update V-RT-2-B.yml
dkefer Mar 23, 2024
cbc56f1
Update V-RT-3-A.yml
dkefer Mar 23, 2024
01b9003
Update V-RT-3-B.yml
dkefer Mar 23, 2024
fc86d87
Update V-ST-1-A.yml
dkefer Mar 23, 2024
fa5efdf
Update V-ST-1-B.yml
dkefer Mar 23, 2024
c0ea9a5
Update V-ST-2-A.yml
dkefer Mar 23, 2024
0d363e9
Update V-ST-2-B.yml
dkefer Mar 23, 2024
4f8a622
Update V-ST-3-A.yml
dkefer Mar 23, 2024
78bc55d
Update V-ST-3-B.yml
dkefer Mar 23, 2024
a6ed390
Update V-RT-3-B.yml
dkefer Mar 23, 2024
6fd524a
Closes #141
dkefer Mar 24, 2024
6aa5b75
GH Issue 57 fixes
23bartman Mar 24, 2024
5860f27
Merge pull request #142 from owaspsamm/Fixes-Issue-57
dkefer Mar 24, 2024
99b26dd
Merge pull request #126 from aaronott/patch-1
dkefer Mar 24, 2024
ad71449
Slight reformulation of long description of G-EG-3-B. Fixes #36
dkefer Mar 24, 2024
9a792e7
Delete S.yml
23bartman Mar 24, 2024
6360872
Update D-Threat Assessment.yml pull request to include oxford comma
maximbaele Mar 24, 2024
fd628e7
Update D-Threat Assessment.yml with more oxford commas
maximbaele Mar 24, 2024
3cde70a
Merge pull request #138 from maximbaele/feedback-adam-on-issues
maximbaele Mar 24, 2024
9a8a20f
Merge pull request #143 from owaspsamm/Fix-GH-Issue-132
dkefer Mar 24, 2024
74bdd06
Merge pull request #135 from maximbaele/secure-architecture
dkefer Mar 24, 2024
b4986f1
Merge pull request #131 from programmeramera/develop
dkefer Mar 24, 2024
deff311
Rename D-Security-Architecture.yml to D-Secure-Architecture.yml
dkefer Mar 24, 2024
180446a
Merge pull request #144 from owaspsamm/dkefer-patch-1
dkefer Mar 24, 2024
9d5cd79
Renamed two yaml files. Fixes #62
dkefer Mar 24, 2024
9bc902c
Update G-EG-1-A.yml
johndileo Mar 24, 2024
20f92e2
Update G-EG-1-A.yml
johndileo Mar 24, 2024
7be2ccc
Fixing ampersand
johnellingsworth Mar 24, 2024
260fcf8
Fixing ampersand in 2 additional activities
johnellingsworth Mar 24, 2024
3c20546
Merge pull request #149 from owaspsamm/johnellingsworth-patch-2
johnellingsworth Mar 24, 2024
c2acd75
Merge pull request #148 from owaspsamm/johnellingsworth-patch-1
johnellingsworth Mar 24, 2024
4d988e4
Fixing ampersand in security practices
johnellingsworth Mar 24, 2024
d72cea7
Merge pull request #150 from owaspsamm/johnellingsworth-patch-1
johnellingsworth Mar 24, 2024
a0090a6
Fixing ampersand in V-AA
johnellingsworth Mar 24, 2024
a86b74a
Merge pull request #151 from owaspsamm/johnellingsworth-patch-1-V-AA
johnellingsworth Mar 24, 2024
7445f9b
Merge pull request #146 from johndileo/johnd-updates
dkefer Mar 24, 2024
86596a1
Update G-Policy-Compliance.yml
DRaichev Apr 2, 2024
935ab75
Merge pull request #152 from DRaichev/patch-3
johnellingsworth Apr 2, 2024
3f8502c
Update D-SR-3-B.yml
BackNot Jun 12, 2024
57c5247
Update G-EG-1-A.yml
BackNot Jun 12, 2024
26a507d
Update yaml-process.yml to use another docker image for processing yaml
BackNot Jun 14, 2024
cb6d45d
Fixed samm website repository dispatch event to work on push tags. Ch…
BackNot Jun 20, 2024
74a7875
Merge pull request #156 from BackNot/markdown-generate
aramhovsepyan Jun 24, 2024
203087a
Merge pull request #159 from BackNot/samm-website-repository-dispatch
aramhovsepyan Jun 24, 2024
511edb3
Update O-Incident-Management.yml
aramhovsepyan Jul 9, 2024
6d2c821
Merge pull request #160 from owaspsamm/aramhovsepyan-patch-1
aramhovsepyan Jul 9, 2024
438ef84
Added workflows that will be used from language repositories. One is …
Sep 2, 2024
3e33d4b
Merge pull request #162 from BackNot/reusable-workflows-translations
aramhovsepyan Sep 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ jobs:
- run: tar -cvzf samm.tar.gz images model texts
- name: Generate Excel spreadsheet from the model
uses: owaspsamm/toolbox-spreadsheet@main
with:
version: ${{ env.RELEASE_VERSION }}
- name: Build Changelog
id: github_release
uses: mikepenz/release-changelog-builder-action@v3
Expand Down
37 changes: 37 additions & 0 deletions .github/workflows/reusable-create-translation-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Create new translation version branch in language repository

on:
workflow_call:
inputs:
source_branch:
required: true
type: string
source_folder:
required: true
type: string
new_branch_name:
required: true
type: string

jobs:
pull_and_create_branch:
runs-on: ubuntu-latest

steps:
- name: Checkout current repo
uses: actions/checkout@v3
- name: Set up Git with GitHub Actions bot identity
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
- name: Pull content from another repository
run: |
git clone --branch ${{ inputs.source_branch }} --single-branch https://github.com/owaspsamm/core temp-repo
rm -rf temp-repo/.git
rsync -a --exclude='.git' temp-repo/ .
- name: Create a new branch with the pulled content
run: |
git checkout -b ${{ inputs.new_branch_name }}
git add ${{ inputs.source_folder }}
git commit -m "Pulled content from ${{ inputs.source_repo }}:${{ inputs.source_branch }}"
git push origin ${{ inputs.new_branch_name }}
44 changes: 44 additions & 0 deletions .github/workflows/reusable-yaml-process.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Reusable workflow to convert yaml files to markdown

on:
workflow_call:
inputs:
language:
required: true
type: string
branch:
required: true
type: string
model_folder:
required: true
type: string
jobs:
generate-markdown:
runs-on: ubuntu-latest
steps:
- name: 'Checkout using release is workflow dispatched'
uses: actions/checkout@v3
with:
ref: ${{ inputs.branch }}
- name: 'Create output dir and copy files to override spaces in directories'
run: |
mkdir output
- name: 'Generate model for website'
uses: docker://backnot/owasp-samm-process-yaml-content:latest
with:
args: '-d ${{ inputs.model_folder }} -o output -l ${{ inputs.language }}'
- name: 'Move generated files to common directory structure'
run: |
mkdir -p build/business-function/practice/stream
BASE=output/markdown
cp "$BASE"/{Design.md,Governance.md,Implementation.md,Operations.md,Verification.md} build/business-function
cp "$BASE"/*-??-?.md build/business-function/practice/stream
cp "$BASE"/*-??.md build/business-function/practice
- name: Deploy
uses: s0/git-publish-subdir-action@develop
env:
REPO: self
BRANCH: markdown
FOLDER: build
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SQUASH_HISTORY: false
6 changes: 3 additions & 3 deletions .github/workflows/yaml-process.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
run: |
mkdir output
- name: 'Generate model for website'
uses: docker://fzipi/owasp-samm-preprocess-yaml:version-0.8.1
uses: docker://backnot/owasp-samm-process-yaml-content:latest
with:
args: '-d model -o output'
- name: 'Move generated files to common directory structure'
Expand All @@ -66,14 +66,14 @@ jobs:
SQUASH_HISTORY: true
# after changing something, we need to trigger the website build
trigger-website-build:
if: github.event.push.tags && github.ref_type == 'tag'
if: github.event_name == 'push' && github.ref_type == 'tag'
runs-on: ubuntu-latest
needs: generate-markdown
steps:
- name: Trigger Website Dispatch
uses: peter-evans/repository-dispatch@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
token: ${{ secrets.OWASP_SAMM_WEBSITE_TOKEN }}
repository: owaspsamm/website
event-type: samm-core-released
client-payload: '{"release": "${{ github.ref_name }}"}'
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# OWASP SAMM - Core Model Repository

[![OWASP Flagship](https://img.shields.io/badge/owasp-flagship%20project-38a047.svg)](https://www.owasp.org/index.php/OWASP_Project_Inventory#tab=Flagship_Projects)
[![OWASP Flagship](https://img.shields.io/badge/owasp-flagship%20project-38a047.svg)](https://owasp.org/projects/#flagship-projects)
[![Join the chat at https://owasp.slack.com/archives/C0VF1EJGH](https://img.shields.io/badge/chat-on%20slack-blueviolet)](https://owasp.slack.com/archives/C0VF1EJGH)
[![Twitter Follow](https://img.shields.io/twitter/follow/owaspsamm?style=social)](https://twitter.com/OwaspSAMM)

Expand Down
2 changes: 1 addition & 1 deletion model/activities/D-TA-1-B.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ longDescription: |

Threat modeling is a team exercise, including product owners, architects, security champions, and security testers. At this maturity level, expose teams and stakeholders to threat modeling to increase security awareness and to create a shared vision on the security of the system.

At maturity level 1, you perform threat modeling ad-hoc for high-risk applications and use simple threat checklists, such as STRIDE. Avoid lengthy workshops and overly detailed lists of low-relevant threats. Perform threat modeling iteratively to align to more iterative development paradigms. If you add new functionality to an existing application, look only into the newly added functions instead of trying to cover the entire scope. A good starting point is the existing diagrams that you annotate during discussion workshops. Always make sure to persist the outcome of a threat modeling discussion for later use.
At maturity level 1, you perform threat modeling ad-hoc for high-risk applications and use simple threat checklists, such as STRIDE. Avoid lengthy workshops and overly detailed lists of low-relevant threats. Perform threat modeling iteratively to align to more iterative development paradigms. If you add new functionality to an existing application, look only into the newly added functions instead of trying to cover the entire scope. A good starting point is the existing diagrams that you annotate during discussion workshops. Always persist the outcome of a threat modeling discussion for later use.

Your most important tool to start threat modeling is a whiteboard, smartboard, or a piece of paper. Aim for security awareness, a simple process, and actionable outcomes that you agree upon with your team.

Expand Down
2 changes: 1 addition & 1 deletion model/activities/D-TA-2-B.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ longDescription: |

Your threat modeling methodology includes at least diagramming, threat identification, design flaw mitigations, and how to validate your threat model artifacts. Your threat model diagram allows a detailed understanding of the environment and the mechanics of the application. You discover threats to your application with checklists, such as STRIDE or more organization-specific threats. For identified design flaws (ranked according to risk for your organization), you add mitigating controls to support stakeholders in dealing with particular threats. Define what triggers updating a threat model, for example, a technology change or deployment of an application in a new environment.

Feed the output of threat modeling to the defect management process for adequate follow-up. Capture the threat modeling artifacts with tools that are used by your application teams.
Feed the output of threat modeling to the defect management process for adequate follow-up. Capture the threat modeling artifacts with tools used by your application teams.

#The output of this particular activity
results:
Expand Down
2 changes: 1 addition & 1 deletion model/activities/D-TA-3-B.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ shortDescription: Continuously optimization and automation of your threat modeli

#A multi-paragraph description of the activity
longDescription: |
Threat modeling is integrated into your SDLC and has become part of the developer security culture. Reusable risk patterns, comprising of related threat libraries, design flaws, and security mitigations, are created and improved, based on the organization's threat models. You regularly (e.g., yearly) review the existing threat models to verify that no new threats are relevant for your applications.
Threat modeling is integrated into your SDLC and has become part of the developer security culture. Reusable risk patterns, comprising related threat libraries, design flaws, and security mitigations, are created and improved, based on the organization's threat models. You regularly (e.g., yearly) review the existing threat models to verify that no new threats are relevant for your applications.

You optimize your threat modeling methodology. You capture lessons learned from threat models and use these to improve your threat modeling methodology. You review the threat categories relevant to your organization and update your methodology appropriately. From time to time, you evaluate the quality of your threat models independently.

Expand Down
2 changes: 1 addition & 1 deletion model/activities/G-EG-3-B.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ shortDescription: Build a secure software community including all organization p
longDescription: |
Security is the responsibility of all employees, not just the Information Security team. Deploy communication and knowledge sharing platforms to help developers build communities around different technologies, tools, and programming languages. In these communities employees share information, discuss challenges with other developers, and search the knowledge base for answers to previously discussed issues.

Form communities around roles and responsibilities and enable developers and engineers from different teams and business units to communicate freely and benefit from each other's expertise. Encourage participation, set up a program to promote those who help the most people as thought leaders, and have management recognize them. In addition to improving application security, this platform may help identify future members of the Secure Software Center of Excellence, or 'Security Champions' based on their expertise and willingness to help others.
Form communities around roles and responsibilities. Enable developers and engineers from different teams and business units to communicate freely so they can benefit from each other's expertise. Encourage participation, set up a program to promote those who help the most people as thought leaders, and have management recognize them. In addition to improving application security, this platform may help identify future members of the Secure Software Center of Excellence, or 'Security Champions' based on their expertise and willingness to help others.

The Secure Software Center of Excellence and Application Security teams review the information portal regularly for insights into the new and upcoming technologies, as well as opportunities to assist the development community with new initiatives, tools, programs, and training resources. Use the portal to disseminate information about new standards, tools, and resources to all developers for the continued improvement of SDLC maturity and application security.

Expand Down
2 changes: 1 addition & 1 deletion model/activities/G-SM-2-A.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ shortDescription: Publish a unified strategy for application security.
longDescription: |
Based on the magnitude of assets, threats, and risk tolerance, develop a security strategic plan and budget to address business priorities around application security. The plan covers 1 to 3 years and includes milestones consistent with the organization's business drivers and risks. It provides tactical and strategic initiatives and follows a roadmap that makes its alignment with business priorities and needs visible.

In the roadmap, you reach a balance between changes requiring financial expenditures, changes of processes and procedures, and changes impacting the organization's culture. This balance helps accomplish multiple milestones concurrently and without overloading or exhausting available resources or development teams. The milestones are frequent enough to help monitor program success and trigger timely roadmap adjustments.
In the roadmap, reach a balance between changes requiring financial expenditures, changes of processes and procedures, and changes impacting the organization's culture. This balance helps accomplish multiple milestones concurrently and without overloading or exhausting available resources or development teams. The milestones are frequent enough to help monitor program success and trigger timely roadmap adjustments.

For the program to be successful, the application security team obtains buy-in from the organization's stakeholders and application development teams. A published plan is available to anyone who is required to support or participate in its implementation.

Expand Down
2 changes: 1 addition & 1 deletion model/activities/I-SD-1-B.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ personnel:
notes: None

#References to other activities that are prerequisites to implement this one.
relatedActivites:
relatedActivities:
- 994bcac2bb7c4cc59a0faa365a0b58a0 #I-SD-1-A

#Type Classification of the Document
Expand Down
2 changes: 1 addition & 1 deletion model/activities/I-SD-2-A.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ personnel:
notes: None

#References to other activities that are prerequisites to implement this one.
relatedActivites:
relatedActivities:
- fb6f258a2e424ee9a919341758222a7a #V-ST-2-A

#Type Classification of the Document
Expand Down
2 changes: 1 addition & 1 deletion model/activities/O-IM-2-B.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ level: 439406325e6645519c149da3e05a7d9d
id: d6dd8813c5074350b5614b92f2dec60d

#The title of this activity
title: Define and incident response process
title: Define an incident response process

#Describe the benefit that is achieved by implementing this activity
benefit: Understanding and efficient handling of most security incidents
Expand Down
2 changes: 1 addition & 1 deletion model/activities/O-OM-2-B.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ id: 60d7a0a61dd142d5a87009bc5b93df56
title: Formalize decommissioning process

#Describe the benefit that is achieved by implementing this activity
benefit: Standardized decommisioning process decreasing the risk of forgetting components
benefit: Standardized decommissioning process decreasing the risk of forgetting components

#A one sentence description of the activity
shortDescription: Develop repeatable decommissioning processes for unused systems/services,
Expand Down
3 changes: 2 additions & 1 deletion model/activities/V-AA-1-B.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ personnel:
notes:

#References to other activities that are prerequisites to implement this one.
dependencies:
relatedActivities:

#Type Classification of the Document
type: Activity
3 changes: 2 additions & 1 deletion model/activities/V-AA-2-A.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ personnel:
notes:

#References to other activities that are prerequisites to implement this one.
dependencies:
relatedActivities:

#Type Classification of the Document
type: Activity
2 changes: 1 addition & 1 deletion model/activities/V-AA-2-B.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,6 @@ personnel:
notes:

#References to other activities that are prerequisites to implement this one.
dependencies:
relatedActivities:
#Type Classification of the Document
type: Activity
3 changes: 2 additions & 1 deletion model/activities/V-AA-3-A.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ personnel:
notes:

#References to other activities that are prerequisites to implement this one.
dependencies:
relatedActivities:

#Type Classification of the Document
type: Activity
5 changes: 3 additions & 2 deletions model/activities/V-AA-3-B.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ benefit: Continuous improvement of enterprise architecture based on architecture

#A one sentence description of the activity
shortDescription: Feed the architecture review results back into the enterprise architecture,
organization design principles & patterns, security solutions and reference architectures.
organization design principles and patterns, security solutions and reference architectures.

#A multi-paragraph description of the activity
longDescription: |
Expand All @@ -41,6 +41,7 @@ personnel:
notes:

#References to other activities that are prerequisites to implement this one.
dependencies:
relatedActivities:

#Type Classification of the Document
type: Activity
2 changes: 1 addition & 1 deletion model/activities/V-RT-1-A.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ personnel:
notes:

#References to other activities that are prerequisites to implement this one.
dependencies:
relatedActivities:
- 5702908efca4499e87a0239f32920d9b # Practice D-Security-Requirements

#Type Classification of the Document
Expand Down
3 changes: 2 additions & 1 deletion model/activities/V-RT-1-B.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ personnel:
notes:

#References to other activities that are prerequisites to implement this one.
dependencies:
relatedActivities:

#Type Classification of the Document
type: Activity
3 changes: 2 additions & 1 deletion model/activities/V-RT-2-A.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ personnel:
notes:

#References to other activities that are prerequisites to implement this one.
dependencies:
relatedActivities:

#Type Classification of the Document
type: Activity
2 changes: 1 addition & 1 deletion model/activities/V-RT-2-B.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,6 @@ personnel:
notes:

#References to other activities that are prerequisites to implement this one.
dependencies:
relatedActivities:
#Type Classification of the Document
type: Activity
5 changes: 3 additions & 2 deletions model/activities/V-RT-3-A.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ shortDescription: Perform regression testing (with security unit tests).
longDescription: |
Write and automate regression tests for all identified (and fixed) bugs to ensure that these become a test harness preventing similar issues being introduced during later releases. Security unit tests should verify dynamically (i.e., at run time) that the components function as expected and should validate that code changes are properly implemented.

A good practice for developers is to build security test cases as a generic security test suite that is part of the existing unit testing framework. A generic security test suite might include security test cases to validate both positive and negative requirements for security controls such as Identity, Authentication & Access Control, Input Validation & Encoding, User and Session Management, Error and Exception Handling, Encryption, and Auditing and Logging. Verify the correct execution of the security tests as early as possible. If feasible for example, consider the passing of security tests as part of merge requirements before allowing new code to enter the main code base. Alternatively, consider their passing a requirement for validating a build.
A good practice for developers is to build security test cases as a generic security test suite that is part of the existing unit testing framework. A generic security test suite might include security test cases to validate both positive and negative requirements for security controls such as Identity, Authentication and Access Control, Input Validation and Encoding, User and Session Management, Error and Exception Handling, Encryption, and Auditing and Logging. Verify the correct execution of the security tests as early as possible. If feasible for example, consider the passing of security tests as part of merge requirements before allowing new code to enter the main code base. Alternatively, consider their passing a requirement for validating a build.

For security functional tests, use unit level tests for the functionality of security controls at the software component level, such as functions, methods, or classes. For example, a test case could check input and output validation (e.g., variable sanitation) and boundary checks for variables by asserting the expected functionality of the component.

Expand All @@ -44,6 +44,7 @@ personnel:
notes:

#References to other activities that are prerequisites to implement this one.
dependencies:
relatedActivities:

#Type Classification of the Document
type: Activity
Loading