From 4df77a4749507da6ed05b1cdafe40ef1e1059459 Mon Sep 17 00:00:00 2001 From: D1X7R4 <107467176+D1X7R4@users.noreply.github.com> Date: Wed, 16 Nov 2022 19:11:43 +0100 Subject: [PATCH] Initial commit --- .github/workflows/release.yml | 38 + .gitignore | 177 + README.md | 22 + assets/logo.png | Bin 0 -> 9827 bytes docs/img/control.png | Bin 0 -> 286595 bytes docs/img/overview.png | Bin 0 -> 322414 bytes main.py | 31 + overview_styles.py | 8 + overview_worksheet.py | 64 + requirements.txt | 1 + ...curity.Verification.Standard.4.0.2-en.json | 6750 +++++++++++++++++ ...curity.Verification.Standard.4.0.3-en.json | 6734 ++++++++++++++++ styles.py | 29 + worksheet_generator.py | 56 + 14 files changed, 13910 insertions(+) create mode 100644 .github/workflows/release.yml create mode 100644 .gitignore create mode 100644 README.md create mode 100644 assets/logo.png create mode 100644 docs/img/control.png create mode 100644 docs/img/overview.png create mode 100644 main.py create mode 100644 overview_styles.py create mode 100644 overview_worksheet.py create mode 100644 requirements.txt create mode 100644 resources/OWASP.Application.Security.Verification.Standard.4.0.2-en.json create mode 100644 resources/OWASP.Application.Security.Verification.Standard.4.0.3-en.json create mode 100644 styles.py create mode 100644 worksheet_generator.py diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..7598e23 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,38 @@ +# This is a basic workflow to help you get started with Actions + +name: CI + +# Controls when the workflow will run +on: + # Triggers the workflow on push or pull request events but only for the "main" branch + push: + branches: [ "main" ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v3 + - name: Generate excel + run: | + python3 -m pip install -r requirements.txt + python3 main.py -i resources/OWASP.Application.Security.Verification.Standard.4.0.3-en.json + # Runs a single command using the runners shell + - name: Create Release + uses: softprops/action-gh-release@v1 + with: + files: ASVS-Checklist-v4.0.3.xlsx + tag_name: v4.0.3 + release_name: ASVS Checklist v4.0.3 + body: New release with ASVS Checklist v4.0.3 + draft: false + prerelease: false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4792c2e --- /dev/null +++ b/.gitignore @@ -0,0 +1,177 @@ +*.xlsx +.DS_Store + +# VSCode settings +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +# Byte-compiled / optimiz:ed / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..a0f6782 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# OWASP Application Security Verification Standard Project (ASVS) Checklist + +This is a parallel repository that covers the need to have a checklist for ASVS inspired by the MASVS checklist. + +It contains a overview page with details about the progress. + +![](docs/img/overview.png) + +Each section has its own page with all the controls where you can track compliance. + +![](docs/img/control.png) + +## Usage + +The python script takes a json as an input which contains all the controls. + +You can obtains these from the official ASVS repository. Usually you can found them in the realeases page. + +Once you have a json with the full list of ASVS controls you can generate your own excel file like this: + +`python3 main.py -i .json` + diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9e1c768880f54692d2216953fada4a3da4a1b514 GIT binary patch literal 9827 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 literal 0 HcmV?d00001 diff --git a/docs/img/control.png b/docs/img/control.png new file mode 100644 index 0000000000000000000000000000000000000000..7240fd032dca68f1bb3399addbb2bef4fe9fc45a GIT binary patch literal 286595 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%0Dw9~ra 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Ν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 literal 0 HcmV?d00001 diff --git a/docs/img/overview.png b/docs/img/overview.png new file mode 100644 index 0000000000000000000000000000000000000000..f1b96c7fcc13b68e72743cf2a34ca5f0d92c841e GIT binary patch literal 322414 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%0A$@ye=RP*5k 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

L%pAU_nZkX3_z=(jw)TUhu&b8c+mn|p#| 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 literal 0 HcmV?d00001 diff --git a/main.py b/main.py new file mode 100644 index 0000000..76c4f7e --- /dev/null +++ b/main.py @@ -0,0 +1,31 @@ +from json import loads +from worksheet_generator import WorkSheetGenerator +from overview_worksheet import OverviewWorksheet +from xlsxwriter import Workbook +import argparse + +parser = argparse.ArgumentParser() +parser.add_argument('-i', '--input-json', help='JSON input file with the ASVS controls', required=True) +parser.add_argument('-o', '--output', help='Output filename') +args = parser.parse_args() + +def readCSV(filename): + f = open(filename, "r") + data = loads(f.read()) + f.close() + return data + +if __name__ == "__main__": + data = readCSV(args.input_json) + if not args.output: + args.output = f'ASVS-Checklist-v{data["Version"]}' + + workbook = Workbook(f'{args.output}.xlsx') + + OverviewWorksheet(workbook=workbook,worksheet_title="Overview", categories=[(x['Name'], x['ShortName']) for x in data['Requirements']]) + + for category in data['Requirements']: + worksheet = WorkSheetGenerator(workbook=workbook,worksheet_title=data['Name'], worksheet_name=category["Name"], worksheet_shortname=category["ShortName"], name=data["ShortName"], version=data["Version"]) + worksheet.generateWorksheet(category['Items']) + + workbook.close() \ No newline at end of file diff --git a/overview_styles.py b/overview_styles.py new file mode 100644 index 0000000..0d62653 --- /dev/null +++ b/overview_styles.py @@ -0,0 +1,8 @@ +from enum import Enum + +class OverviewStyles(Enum): + TABLE_TITLES = {'bold': True, 'font_name': 'Avenir', 'font_size': 11, 'font_color': 'white', 'valign': 'vcenter', 'align': 'center', 'bg_color': '#23548D'} + TABLE_CATEGORY_TITLE = {'bold': True, 'font_name': 'Avenir', 'font_size': 11, 'font_color': 'white', 'valign': 'vcenter', 'bg_color': '#23548D'} + TABLE_CATEGORIES = {'font_name': 'Avenir', 'font_size': 11, 'font_color': 'white', 'valign': 'vcenter', 'bg_color': '#23548D'} + TABLE_DATA = {'font_name': 'Avenir', 'font_size': 11, 'font_color': 'white', 'valign': 'vcenter', 'align': 'center', 'bg_color': '#347ED4'} + TABLE_DATA_PERCENTAGE = {'font_name': 'Avenir', 'font_size': 11, 'font_color': 'white', 'valign': 'vcenter', 'align': 'center', 'bg_color': '#347ED4', 'num_format': 10} diff --git a/overview_worksheet.py b/overview_worksheet.py new file mode 100644 index 0000000..00593c3 --- /dev/null +++ b/overview_worksheet.py @@ -0,0 +1,64 @@ +from xlsxwriter.workbook import Workbook +from overview_styles import OverviewStyles + +class OverviewWorksheet: + + def __init__(self, workbook: Workbook, worksheet_title, categories): + self.workbook = workbook + self.worksheet_title = worksheet_title + self.categories = categories + self.worksheet = self.workbook.add_worksheet(worksheet_title) + self.generateOverviewWorksheet() + + def generateChart(self): + chart = self.workbook.add_chart({'type': 'radar', 'subtype': 'filled'}) + chart.add_series({'name_font': {'color':'#595959'},'name':'Percentage (total/completed)', 'categories': f'={self.worksheet_title}!$A$2:$A$15', 'values': f'={self.worksheet_title}!$J$2:$J$15','line': {'color': '#4F81BD', "width": 4, 'transparency': 70}, 'marker': {'type': 'circle', 'size': 4}, "fill": {"none": True}}) + chart.set_y_axis( + {'min': 0.0, 'max': 1.0, + 'major_gridlines': { + 'visible': True, + 'line': {'color': '#D9D9D9', 'width': 0.75} + }, + 'line': {'none': True}, + 'num_font':{'color': '#595959'} + } + ) + chart.set_chartarea({'name_font':{'color': '#595959'}}) + chart.set_x_axis( + {'num_font':{'color': '#595959'}} + ) + chart.set_size({'width': 1458, 'height': 415 }) + chart.set_legend({'position': 'bottom', 'font':{'color': '#595959'}}) + chart.set_title({'name': 'Passed requirements', 'name_font':{'color': '#595959'}}) + self.worksheet.insert_chart('A16', chart) + + def generateOverviewWorksheet(self): + self.worksheet.set_column("A:A", 50) + self.worksheet.set_column("B:K", 15) + + self.worksheet.write("A1", "Section", self.workbook.add_format(OverviewStyles.TABLE_CATEGORY_TITLE.value)) + self.worksheet.write("B1", "L1", self.workbook.add_format(OverviewStyles.TABLE_TITLES.value)) + self.worksheet.write("C1", "L2", self.workbook.add_format(OverviewStyles.TABLE_TITLES.value)) + self.worksheet.write("D1", "L3", self.workbook.add_format(OverviewStyles.TABLE_TITLES.value)) + self.worksheet.write("E1", "Total", self.workbook.add_format(OverviewStyles.TABLE_TITLES.value)) + self.worksheet.write("F1", "L1 (Pass)", self.workbook.add_format(OverviewStyles.TABLE_TITLES.value)) + self.worksheet.write("G1", "L2 (Pass)", self.workbook.add_format(OverviewStyles.TABLE_TITLES.value)) + self.worksheet.write("H1", "L3 (Pass)", self.workbook.add_format(OverviewStyles.TABLE_TITLES.value)) + self.worksheet.write("I1", "Total (Pass)", self.workbook.add_format(OverviewStyles.TABLE_TITLES.value)) + self.worksheet.write("J1", "Pecentage", self.workbook.add_format(OverviewStyles.TABLE_TITLES.value)) + self.worksheet.write("K1", "Current Level", self.workbook.add_format(OverviewStyles.TABLE_TITLES.value)) + + for index in range(2,len(self.categories)+1): + self.worksheet.write(f"A{index}", self.categories[index-2][0], self.workbook.add_format(OverviewStyles.TABLE_CATEGORIES.value)) + self.worksheet.write_formula(f"B{index}", f'=COUNTIFS({self.categories[index-2][1]}!D:D, "✓", {self.categories[index-2][1]}!G:G, "<>N/A")', self.workbook.add_format(OverviewStyles.TABLE_DATA.value)) + self.worksheet.write_formula(f"C{index}", f'=COUNTIFS({self.categories[index-2][1]}!E:E, "✓", {self.categories[index-2][1]}!G:G, "<>N/A")', self.workbook.add_format(OverviewStyles.TABLE_DATA.value)) + self.worksheet.write_formula(f"D{index}", f'=COUNTIFS({self.categories[index-2][1]}!F:F, "✓", {self.categories[index-2][1]}!G:G, "<>N/A")', self.workbook.add_format(OverviewStyles.TABLE_DATA.value)) + self.worksheet.write_formula(f"E{index}", f'=MAX(B{index}:D{index})', self.workbook.add_format(OverviewStyles.TABLE_DATA.value)) + self.worksheet.write_formula(f"F{index}", f'=COUNTIFS({self.categories[index-2][1]}!D:D, "✓", {self.categories[index-2][1]}!G:G, "Pass")', self.workbook.add_format(OverviewStyles.TABLE_DATA.value)) + self.worksheet.write_formula(f"G{index}", f'=COUNTIFS({self.categories[index-2][1]}!E:E, "✓", {self.categories[index-2][1]}!G:G, "Pass")', self.workbook.add_format(OverviewStyles.TABLE_DATA.value)) + self.worksheet.write_formula(f"H{index}", f'=COUNTIFS({self.categories[index-2][1]}!F:F, "✓", {self.categories[index-2][1]}!G:G, "Pass")', self.workbook.add_format(OverviewStyles.TABLE_DATA.value)) + self.worksheet.write_formula(f"I{index}", f'=MAX(F{index}:H{index})', self.workbook.add_format(OverviewStyles.TABLE_DATA.value)) + self.worksheet.write_formula(f"J{index}", f'=I{index}/E{index}', self.workbook.add_format(OverviewStyles.TABLE_DATA_PERCENTAGE.value)) + self.worksheet.write_formula(f"K{index}", f'=_xlfn.IFS(AND(D{index}<>0,D{index}=H{index}),"L3",AND(C{index}<>0,C{index}=G{index}),"L2",AND(B{index}<>0,B{index}=F{index}), "L1", TRUE, "")', self.workbook.add_format(OverviewStyles.TABLE_DATA.value)) + + self.generateChart() \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..83c1432 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +xlsxwriter == 3.0.3 diff --git a/resources/OWASP.Application.Security.Verification.Standard.4.0.2-en.json b/resources/OWASP.Application.Security.Verification.Standard.4.0.2-en.json new file mode 100644 index 0000000..2067841 --- /dev/null +++ b/resources/OWASP.Application.Security.Verification.Standard.4.0.2-en.json @@ -0,0 +1,6750 @@ +{ + "Name": "Application Security Verification Standard Project", + "ShortName": "ASVS", + "Version": "4.0.2", + "Description": "The Application Security Verification Standard is a list of application security requirements or tests that can be used by architects, developers, testers, security professionals, tool vendors, and consumers to define, build, test and verify secure applications.", + "Requirements": [ + { + "Shortcode": "V1", + "Ordinal": 1, + "ShortName": "Architecture", + "Name": "Architecture, Design and Threat Modeling Requirements", + "Items": [ + { + "Shortcode": "V1.1", + "Ordinal": 1, + "Name": "Secure Software Development Lifecycle Requirements", + "Items": [ + { + "Shortcode": "V1.1.1", + "Ordinal": 1, + "Description": "Verify the use of a secure software development lifecycle that addresses security in all stages of development. ([C1](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V1.1.2", + "Ordinal": 2, + "Description": "Verify the use of threat modeling for every design change or sprint planning to identify threats, plan for countermeasures, facilitate appropriate risk responses, and guide security testing.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 1053 + ], + "NIST": [] + }, + { + "Shortcode": "V1.1.3", + "Ordinal": 3, + "Description": "Verify that all user stories and features contain functional security constraints, such as \"As a user, I should be able to view and edit my profile. I should not be able to view or edit anyone else's profile\"", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 1110 + ], + "NIST": [] + }, + { + "Shortcode": "V1.1.4", + "Ordinal": 4, + "Description": "Verify documentation and justification of all the application's trust boundaries, components, and significant data flows.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 1059 + ], + "NIST": [] + }, + { + "Shortcode": "V1.1.5", + "Ordinal": 5, + "Description": "Verify definition and security analysis of the application's high-level architecture and all connected remote services. ([C1](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 1059 + ], + "NIST": [] + }, + { + "Shortcode": "V1.1.6", + "Ordinal": 6, + "Description": "Verify implementation of centralized, simple (economy of design), vetted, secure, and reusable security controls to avoid duplicate, missing, ineffective, or insecure controls. ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 637 + ], + "NIST": [] + }, + { + "Shortcode": "V1.1.7", + "Ordinal": 7, + "Description": "Verify availability of a secure coding checklist, security requirements, guideline, or policy to all developers and testers.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 637 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.2", + "Ordinal": 2, + "Name": "Authentication Architectural Requirements", + "Items": [ + { + "Shortcode": "V1.2.1", + "Ordinal": 1, + "Description": "Verify the use of unique or special low-privilege operating system accounts for all application components, services, and servers. ([C3](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 250 + ], + "NIST": [] + }, + { + "Shortcode": "V1.2.2", + "Ordinal": 2, + "Description": "Verify that communications between application components, including APIs, middleware and data layers, are authenticated. Components should have the least necessary privileges needed. ([C3](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 306 + ], + "NIST": [] + }, + { + "Shortcode": "V1.2.3", + "Ordinal": 3, + "Description": "Verify that the application uses a single vetted authentication mechanism that is known to be secure, can be extended to include strong authentication, and has sufficient logging and monitoring to detect account abuse or breaches.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 306 + ], + "NIST": [] + }, + { + "Shortcode": "V1.2.4", + "Ordinal": 4, + "Description": "Verify that all authentication pathways and identity management APIs implement consistent authentication security control strength, such that there are no weaker alternatives per the risk of the application.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 306 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.3", + "Ordinal": 3, + "Name": "Session Management Architectural Requirements", + "Items": [] + }, + { + "Shortcode": "V1.4", + "Ordinal": 4, + "Name": "Access Control Architectural Requirements", + "Items": [ + { + "Shortcode": "V1.4.1", + "Ordinal": 1, + "Description": "Verify that trusted enforcement points such as at access control gateways, servers, and serverless functions enforce access controls. Never enforce access controls on the client.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 602 + ], + "NIST": [] + }, + { + "Shortcode": "V1.4.2", + "Ordinal": 2, + "Description": "Verify that the chosen access control solution is flexible enough to meet the application's needs. ", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 284 + ], + "NIST": [] + }, + { + "Shortcode": "V1.4.3", + "Ordinal": 3, + "Description": "Verify enforcement of the principle of least privilege in functions, data files, URLs, controllers, services, and other resources. This implies protection against spoofing and elevation of privilege.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 272 + ], + "NIST": [] + }, + { + "Shortcode": "V1.4.4", + "Ordinal": 4, + "Description": "Verify the application uses a single and well-vetted access control mechanism for accessing protected data and resources. All requests must pass through this single mechanism to avoid copy and paste or insecure alternative paths. ([C7](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 284 + ], + "NIST": [] + }, + { + "Shortcode": "V1.4.5", + "Ordinal": 5, + "Description": "Verify that attribute or feature-based access control is used whereby the code checks the user's authorization for a feature/data item rather than just their role. Permissions should still be allocated using roles. ([C7](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 275 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.5", + "Ordinal": 5, + "Name": "Input and Output Architectural Requirements", + "Items": [ + { + "Shortcode": "V1.5.1", + "Ordinal": 1, + "Description": "Verify that input and output requirements clearly define how to handle and process data based on type, content, and applicable laws, regulations, and other policy compliance. ", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 1029 + ], + "NIST": [] + }, + { + "Shortcode": "V1.5.2", + "Ordinal": 2, + "Description": "Verify that serialization is not used when communicating with untrusted clients. If this is not possible, ensure that adequate integrity controls (and possibly encryption if sensitive data is sent) are enforced to prevent deserialization attacks including object injection.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 502 + ], + "NIST": [] + }, + { + "Shortcode": "V1.5.3", + "Ordinal": 3, + "Description": "Verify that input validation is enforced on a trusted service layer. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 602 + ], + "NIST": [] + }, + { + "Shortcode": "V1.5.4", + "Ordinal": 4, + "Description": "Verify that output encoding occurs close to or by the interpreter for which it is intended. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 116 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.6", + "Ordinal": 6, + "Name": "Cryptographic Architectural Requirements", + "Items": [ + { + "Shortcode": "V1.6.1", + "Ordinal": 1, + "Description": "Verify that there is an explicit policy for management of cryptographic keys and that a cryptographic key lifecycle follows a key management standard such as NIST SP 800-57.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 320 + ], + "NIST": [] + }, + { + "Shortcode": "V1.6.2", + "Ordinal": 2, + "Description": "Verify that consumers of cryptographic services protect key material and other secrets by using key vaults or API based alternatives.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 320 + ], + "NIST": [] + }, + { + "Shortcode": "V1.6.3", + "Ordinal": 3, + "Description": "Verify that all keys and passwords are replaceable and are part of a well-defined process to re-encrypt sensitive data.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 320 + ], + "NIST": [] + }, + { + "Shortcode": "V1.6.4", + "Ordinal": 4, + "Description": "Verify that the architecture treats client-side secrets--such as symmetric keys, passwords, or API tokens--as insecure and never uses them to protect or access sensitive data.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 320 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.7", + "Ordinal": 7, + "Name": "Errors, Logging and Auditing Architectural Requirements", + "Items": [ + { + "Shortcode": "V1.7.1", + "Ordinal": 1, + "Description": "Verify that a common logging format and approach is used across the system. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 1009 + ], + "NIST": [] + }, + { + "Shortcode": "V1.7.2", + "Ordinal": 2, + "Description": "Verify that logs are securely transmitted to a preferably remote system for analysis, detection, alerting, and escalation. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.8", + "Ordinal": 8, + "Name": "Data Protection and Privacy Architectural Requirements", + "Items": [ + { + "Shortcode": "V1.8.1", + "Ordinal": 1, + "Description": "Verify that all sensitive data is identified and classified into protection levels.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V1.8.2", + "Ordinal": 2, + "Description": "Verify that all protection levels have an associated set of protection requirements, such as encryption requirements, integrity requirements, retention, privacy and other confidentiality requirements, and that these are applied in the architecture.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.9", + "Ordinal": 9, + "Name": "Communications Architectural Requirements", + "Items": [ + { + "Shortcode": "V1.9.1", + "Ordinal": 1, + "Description": "Verify the application encrypts communications between components, particularly when these components are in different containers, systems, sites, or cloud providers. ([C3](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 319 + ], + "NIST": [] + }, + { + "Shortcode": "V1.9.2", + "Ordinal": 2, + "Description": "Verify that application components verify the authenticity of each side in a communication link to prevent person-in-the-middle attacks. For example, application components should validate TLS certificates and chains.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 295 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.10", + "Ordinal": 10, + "Name": "Malicious Software Architectural Requirements", + "Items": [ + { + "Shortcode": "V1.10.1", + "Ordinal": 1, + "Description": "Verify that a source code control system is in use, with procedures to ensure that check-ins are accompanied by issues or change tickets. The source code control system should have access control and identifiable users to allow traceability of any changes.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 284 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.11", + "Ordinal": 11, + "Name": "Business Logic Architectural Requirements", + "Items": [ + { + "Shortcode": "V1.11.1", + "Ordinal": 1, + "Description": "Verify the definition and documentation of all application components in terms of the business or security functions they provide.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 1059 + ], + "NIST": [] + }, + { + "Shortcode": "V1.11.2", + "Ordinal": 2, + "Description": "Verify that all high-value business logic flows, including authentication, session management and access control, do not share unsynchronized state.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 362 + ], + "NIST": [] + }, + { + "Shortcode": "V1.11.3", + "Ordinal": 3, + "Description": "Verify that all high-value business logic flows, including authentication, session management and access control are thread safe and resistant to time-of-check and time-of-use race conditions.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 367 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.12", + "Ordinal": 12, + "Name": "Secure File Upload Architectural Requirements", + "Items": [ + { + "Shortcode": "V1.12.1", + "Ordinal": 1, + "Description": "Verify that user-uploaded files are stored outside of the web root.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 552 + ], + "NIST": [] + }, + { + "Shortcode": "V1.12.2", + "Ordinal": 2, + "Description": "Verify that user-uploaded files - if required to be displayed or downloaded from the application - are served by either octet stream downloads, or from an unrelated domain, such as a cloud file storage bucket. Implement a suitable Content Security Policy (CSP) to reduce the risk from XSS vectors or other attacks from the uploaded file.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 646 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.13", + "Ordinal": 13, + "Name": "API Architectural Requirements", + "Items": [] + }, + { + "Shortcode": "V1.14", + "Ordinal": 14, + "Name": "Configuration Architectural Requirements", + "Items": [ + { + "Shortcode": "V1.14.1", + "Ordinal": 1, + "Description": "Verify the segregation of components of differing trust levels through well-defined security controls, firewall rules, API gateways, reverse proxies, cloud-based security groups, or similar mechanisms.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 923 + ], + "NIST": [] + }, + { + "Shortcode": "V1.14.2", + "Ordinal": 2, + "Description": "Verify that binary signatures, trusted connections, and verified endpoints are used to deploy binaries to remote devices.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 494 + ], + "NIST": [] + }, + { + "Shortcode": "V1.14.3", + "Ordinal": 3, + "Description": "Verify that the build pipeline warns of out-of-date or insecure components and takes appropriate actions.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 1104 + ], + "NIST": [] + }, + { + "Shortcode": "V1.14.4", + "Ordinal": 4, + "Description": "Verify that the build pipeline contains a build step to automatically build and verify the secure deployment of the application, particularly if the application infrastructure is software defined, such as cloud environment build scripts.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V1.14.5", + "Ordinal": 5, + "Description": "Verify that application deployments adequately sandbox, containerize and/or isolate at the network level to delay and deter attackers from attacking other applications, especially when they are performing sensitive or dangerous actions such as deserialization. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 265 + ], + "NIST": [] + }, + { + "Shortcode": "V1.14.6", + "Ordinal": 6, + "Description": "Verify the application does not use unsupported, insecure, or deprecated client-side technologies such as NSAPI plugins, Flash, Shockwave, ActiveX, Silverlight, NACL, or client-side Java applets.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 477 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V2", + "Ordinal": 2, + "ShortName": "Authentication", + "Name": "Authentication Verification Requirements", + "Items": [ + { + "Shortcode": "V2.1", + "Ordinal": 1, + "Name": "Password Security Requirements", + "Items": [ + { + "Shortcode": "V2.1.1", + "Ordinal": 1, + "Description": "Verify that user set passwords are at least 12 characters in length (after multiple spaces are combined). ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.2", + "Ordinal": 2, + "Description": "Verify that passwords 64 characters or longer are permitted but may be no longer than 128 characters. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.3", + "Ordinal": 3, + "Description": "Verify that password truncation is not performed. However, consecutive multiple spaces may be replaced by a single space. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.4", + "Ordinal": 4, + "Description": "Verify that any printable Unicode character, including language neutral characters such as spaces and Emojis are permitted in passwords.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.5", + "Ordinal": 5, + "Description": "Verify users can change their password.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 620 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.6", + "Ordinal": 6, + "Description": "Verify that password change functionality requires the user's current and new password.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 620 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.7", + "Ordinal": 7, + "Description": "Verify that passwords submitted during account registration, login, and password change are checked against a set of breached passwords either locally (such as the top 1,000 or 10,000 most common passwords which match the system's password policy) or using an external API. If using an API a zero knowledge proof or other mechanism should be used to ensure that the plain text password is not sent or used in verifying the breach status of the password. If the password is breached, the application must require the user to set a new non-breached password. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.8", + "Ordinal": 8, + "Description": "Verify that a password strength meter is provided to help users set a stronger password.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.9", + "Ordinal": 9, + "Description": "Verify that there are no password composition rules limiting the type of characters permitted. There should be no requirement for upper or lower case or numbers or special characters. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.10", + "Ordinal": 10, + "Description": "Verify that there are no periodic credential rotation or password history requirements.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 263 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.11", + "Ordinal": 11, + "Description": "Verify that \"paste\" functionality, browser password helpers, and external password managers are permitted.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.12", + "Ordinal": 12, + "Description": "Verify that the user can choose to either temporarily view the entire masked password, or temporarily view the last typed character of the password on platforms that do not have this as built-in functionality.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + } + ] + }, + { + "Shortcode": "V2.2", + "Ordinal": 2, + "Name": "General Authenticator Requirements", + "Items": [ + { + "Shortcode": "V2.2.1", + "Ordinal": 1, + "Description": "Verify that anti-automation controls are effective at mitigating breached credential testing, brute force, and account lockout attacks. Such controls include blocking the most common breached passwords, soft lockouts, rate limiting, CAPTCHA, ever increasing delays between attempts, IP address restrictions, or risk-based restrictions such as location, first login on a device, recent attempts to unlock the account, or similar. Verify that no more than 100 failed attempts per hour is possible on a single account.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 307 + ], + "NIST": [ + "5.2.2", + "5.1.1.2", + "5.1.4.2", + "5.1.5.2" + ] + }, + { + "Shortcode": "V2.2.2", + "Ordinal": 2, + "Description": "Verify that the use of weak authenticators (such as SMS and email) is limited to secondary verification and transaction approval and not as a replacement for more secure authentication methods. Verify that stronger methods are offered before weak methods, users are aware of the risks, or that proper measures are in place to limit the risks of account compromise.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 304 + ], + "NIST": [ + "5.2.10" + ] + }, + { + "Shortcode": "V2.2.3", + "Ordinal": 3, + "Description": "Verify that secure notifications are sent to users after updates to authentication details, such as credential resets, email or address changes, logging in from unknown or risky locations. The use of push notifications - rather than SMS or email - is preferred, but in the absence of push notifications, SMS or email is acceptable as long as no sensitive information is disclosed in the notification.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 620 + ], + "NIST": [] + }, + { + "Shortcode": "V2.2.4", + "Ordinal": 4, + "Description": "Verify impersonation resistance against phishing, such as the use of multi-factor authentication, cryptographic devices with intent (such as connected keys with a push to authenticate), or at higher AAL levels, client-side certificates.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 308 + ], + "NIST": [ + "5.2.5" + ] + }, + { + "Shortcode": "V2.2.5", + "Ordinal": 5, + "Description": "Verify that where a Credential Service Provider (CSP) and the application verifying authentication are separated, mutually authenticated TLS is in place between the two endpoints.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 319 + ], + "NIST": [ + "5.2.6" + ] + }, + { + "Shortcode": "V2.2.6", + "Ordinal": 6, + "Description": "Verify replay resistance through the mandated use of One-time Passwords (OTP) devices, cryptographic authenticators, or lookup codes.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 308 + ], + "NIST": [ + "5.2.8" + ] + }, + { + "Shortcode": "V2.2.7", + "Ordinal": 7, + "Description": "Verify intent to authenticate by requiring the entry of an OTP token or user-initiated action such as a button press on a FIDO hardware key.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 308 + ], + "NIST": [ + "5.2.9" + ] + } + ] + }, + { + "Shortcode": "V2.3", + "Ordinal": 3, + "Name": "Authenticator Lifecycle Requirements", + "Items": [ + { + "Shortcode": "V2.3.1", + "Ordinal": 1, + "Description": "Verify system generated initial passwords or activation codes SHOULD be securely randomly generated, SHOULD be at least 6 characters long, and MAY contain letters and numbers, and expire after a short period of time. These initial secrets must not be permitted to become the long term password.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 330 + ], + "NIST": [ + "5.1.1.2", + "A.3" + ] + }, + { + "Shortcode": "V2.3.2", + "Ordinal": 2, + "Description": "Verify that enrollment and use of subscriber-provided authentication devices are supported, such as a U2F or FIDO tokens.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 308 + ], + "NIST": [ + "6.1.3" + ] + }, + { + "Shortcode": "V2.3.3", + "Ordinal": 3, + "Description": "Verify that renewal instructions are sent with sufficient time to renew time bound authenticators.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 287 + ], + "NIST": [ + "6.1.4" + ] + } + ] + }, + { + "Shortcode": "V2.4", + "Ordinal": 4, + "Name": "Credential Storage Requirements", + "Items": [ + { + "Shortcode": "V2.4.1", + "Ordinal": 1, + "Description": "Verify that passwords are stored in a form that is resistant to offline attacks. Passwords SHALL be salted and hashed using an approved one-way key derivation or password hashing function. Key derivation and password hashing functions take a password, a salt, and a cost factor as inputs when generating a password hash. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 916 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.4.2", + "Ordinal": 2, + "Description": "Verify that the salt is at least 32 bits in length and be chosen arbitrarily to minimize salt value collisions among stored hashes. For each credential, a unique salt value and the resulting hash SHALL be stored. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 916 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.4.3", + "Ordinal": 3, + "Description": "Verify that if PBKDF2 is used, the iteration count SHOULD be as large as verification server performance will allow, typically at least 100,000 iterations. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 916 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.4.4", + "Ordinal": 4, + "Description": "Verify that if bcrypt is used, the work factor SHOULD be as large as verification server performance will allow, typically at least 13. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 916 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.4.5", + "Ordinal": 5, + "Description": "Verify that an additional iteration of a key derivation function is performed, using a salt value that is secret and known only to the verifier. Generate the salt value using an approved random bit generator [SP 800-90Ar1] and provide at least the minimum security strength specified in the latest revision of SP 800-131A. The secret salt value SHALL be stored separately from the hashed passwords (e.g., in a specialized device like a hardware security module).", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 916 + ], + "NIST": [ + "5.1.1.2" + ] + } + ] + }, + { + "Shortcode": "V2.5", + "Ordinal": 5, + "Name": "Credential Recovery Requirements", + "Items": [ + { + "Shortcode": "V2.5.1", + "Ordinal": 1, + "Description": "Verify that a system generated initial activation or recovery secret is not sent in clear text to the user. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 640 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.5.2", + "Ordinal": 2, + "Description": "Verify password hints or knowledge-based authentication (so-called \"secret questions\") are not present.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 640 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.5.3", + "Ordinal": 3, + "Description": "Verify password credential recovery does not reveal the current password in any way. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 640 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.5.4", + "Ordinal": 4, + "Description": "Verify shared or default accounts are not present (e.g. \"root\", \"admin\", or \"sa\").", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 16 + ], + "NIST": [ + "5.1.1.2", + "A.3" + ] + }, + { + "Shortcode": "V2.5.5", + "Ordinal": 5, + "Description": "Verify that if an authentication factor is changed or replaced, that the user is notified of this event.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 304 + ], + "NIST": [ + "6.1.2.3" + ] + }, + { + "Shortcode": "V2.5.6", + "Ordinal": 6, + "Description": "Verify forgotten password, and other recovery paths use a secure recovery mechanism, such as time-based OTP (TOTP) or other soft token, mobile push, or another offline recovery mechanism. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 640 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.5.7", + "Ordinal": 7, + "Description": "Verify that if OTP or multi-factor authentication factors are lost, that evidence of identity proofing is performed at the same level as during enrollment.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 308 + ], + "NIST": [ + "6.1.2.3" + ] + } + ] + }, + { + "Shortcode": "V2.6", + "Ordinal": 6, + "Name": "Look-up Secret Verifier Requirements", + "Items": [ + { + "Shortcode": "V2.6.1", + "Ordinal": 1, + "Description": "Verify that lookup secrets can be used only once.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 308 + ], + "NIST": [ + "5.1.2.2" + ] + }, + { + "Shortcode": "V2.6.2", + "Ordinal": 2, + "Description": "Verify that lookup secrets have sufficient randomness (112 bits of entropy), or if less than 112 bits of entropy, salted with a unique and random 32-bit salt and hashed with an approved one-way hash.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 330 + ], + "NIST": [ + "5.1.2.2" + ] + }, + { + "Shortcode": "V2.6.3", + "Ordinal": 3, + "Description": "Verify that lookup secrets are resistant to offline attacks, such as predictable values.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 310 + ], + "NIST": [ + "5.1.2.2" + ] + } + ] + }, + { + "Shortcode": "V2.7", + "Ordinal": 7, + "Name": "Out of Band Verifier Requirements", + "Items": [ + { + "Shortcode": "V2.7.1", + "Ordinal": 1, + "Description": "Verify that clear text out of band (NIST \"restricted\") authenticators, such as SMS or PSTN, are not offered by default, and stronger alternatives such as push notifications are offered first.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 287 + ], + "NIST": [ + "5.1.3.2" + ] + }, + { + "Shortcode": "V2.7.2", + "Ordinal": 2, + "Description": "Verify that the out of band verifier expires out of band authentication requests, codes, or tokens after 10 minutes.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 287 + ], + "NIST": [ + "5.1.3.2" + ] + }, + { + "Shortcode": "V2.7.3", + "Ordinal": 3, + "Description": "Verify that the out of band verifier authentication requests, codes, or tokens are only usable once, and only for the original authentication request.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 287 + ], + "NIST": [ + "5.1.3.2" + ] + }, + { + "Shortcode": "V2.7.4", + "Ordinal": 4, + "Description": "Verify that the out of band authenticator and verifier communicates over a secure independent channel.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 523 + ], + "NIST": [ + "5.1.3.2" + ] + }, + { + "Shortcode": "V2.7.5", + "Ordinal": 5, + "Description": "Verify that the out of band verifier retains only a hashed version of the authentication code.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 256 + ], + "NIST": [ + "5.1.3.2" + ] + }, + { + "Shortcode": "V2.7.6", + "Ordinal": 6, + "Description": "Verify that the initial authentication code is generated by a secure random number generator, containing at least 20 bits of entropy (typically a six digital random number is sufficient).", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 310 + ], + "NIST": [ + "5.1.3.2" + ] + } + ] + }, + { + "Shortcode": "V2.8", + "Ordinal": 8, + "Name": "Single or Multi-factor One Time Verifier Requirements", + "Items": [ + { + "Shortcode": "V2.8.1", + "Ordinal": 1, + "Description": "Verify that time-based OTPs have a defined lifetime before expiring.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 613 + ], + "NIST": [ + "5.1.4.2", + "5.1.5.2" + ] + }, + { + "Shortcode": "V2.8.2", + "Ordinal": 2, + "Description": "Verify that symmetric keys used to verify submitted OTPs are highly protected, such as by using a hardware security module or secure operating system based key storage.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 320 + ], + "NIST": [ + "5.1.4.2", + "5.1.5.2" + ] + }, + { + "Shortcode": "V2.8.3", + "Ordinal": 3, + "Description": "Verify that approved cryptographic algorithms are used in the generation, seeding, and verification of OTPs.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 326 + ], + "NIST": [ + "5.1.4.2", + "5.1.5.2" + ] + }, + { + "Shortcode": "V2.8.4", + "Ordinal": 4, + "Description": "Verify that time-based OTP can be used only once within the validity period.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 287 + ], + "NIST": [ + "5.1.4.2", + "5.1.5.2" + ] + }, + { + "Shortcode": "V2.8.5", + "Ordinal": 5, + "Description": "Verify that if a time-based multi-factor OTP token is re-used during the validity period, it is logged and rejected with secure notifications being sent to the holder of the device.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 287 + ], + "NIST": [ + "5.1.5.2" + ] + }, + { + "Shortcode": "V2.8.6", + "Ordinal": 6, + "Description": "Verify physical single-factor OTP generator can be revoked in case of theft or other loss. Ensure that revocation is immediately effective across logged in sessions, regardless of location.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 613 + ], + "NIST": [ + "5.2.1" + ] + }, + { + "Shortcode": "V2.8.7", + "Ordinal": 7, + "Description": "Verify that biometric authenticators are limited to use only as secondary factors in conjunction with either something you have and something you know.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "Optional" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 308 + ], + "NIST": [ + "5.2.3" + ] + } + ] + }, + { + "Shortcode": "V2.9", + "Ordinal": 9, + "Name": "Cryptographic Software and Devices Verifier Requirements", + "Items": [ + { + "Shortcode": "V2.9.1", + "Ordinal": 1, + "Description": "Verify that cryptographic keys used in verification are stored securely and protected against disclosure, such as using a Trusted Platform Module (TPM) or Hardware Security Module (HSM), or an OS service that can use this secure storage.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 320 + ], + "NIST": [ + "5.1.7.2" + ] + }, + { + "Shortcode": "V2.9.2", + "Ordinal": 2, + "Description": "Verify that the challenge nonce is at least 64 bits in length, and statistically unique or unique over the lifetime of the cryptographic device.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 330 + ], + "NIST": [ + "5.1.7.2" + ] + }, + { + "Shortcode": "V2.9.3", + "Ordinal": 3, + "Description": "Verify that approved cryptographic algorithms are used in the generation, seeding, and verification.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 327 + ], + "NIST": [ + "5.1.7.2" + ] + } + ] + }, + { + "Shortcode": "V2.10", + "Ordinal": 10, + "Name": "Service Authentication Requirements", + "Items": [ + { + "Shortcode": "V2.10.1", + "Ordinal": 1, + "Description": "Verify that intra-service secrets do not rely on unchanging credentials such as passwords, API keys or shared accounts with privileged access.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "OS assisted" + }, + "L3": { + "Required": true, + "Requirement": "HSM" + }, + "CWE": [ + 287 + ], + "NIST": [ + "5.1.1.1" + ] + }, + { + "Shortcode": "V2.10.2", + "Ordinal": 2, + "Description": "Verify that if passwords are required for service authentication, the service account used is not a default credential. (e.g. root/root or admin/admin are default in some services during installation).", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "OS assisted" + }, + "L3": { + "Required": true, + "Requirement": "HSM" + }, + "CWE": [ + 255 + ], + "NIST": [ + "5.1.1.1" + ] + }, + { + "Shortcode": "V2.10.3", + "Ordinal": 3, + "Description": "Verify that passwords are stored with sufficient protection to prevent offline recovery attacks, including local system access.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "OS assisted" + }, + "L3": { + "Required": true, + "Requirement": "HSM" + }, + "CWE": [ + 522 + ], + "NIST": [ + "5.1.1.1" + ] + }, + { + "Shortcode": "V2.10.4", + "Ordinal": 4, + "Description": "Verify passwords, integrations with databases and third-party systems, seeds and internal secrets, and API keys are managed securely and not included in the source code or stored within source code repositories. Such storage SHOULD resist offline attacks. The use of a secure software key store (L1), hardware TPM, or an HSM (L3) is recommended for password storage.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "OS assisted" + }, + "L3": { + "Required": true, + "Requirement": "HSM" + }, + "CWE": [ + 798 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V3", + "Ordinal": 3, + "ShortName": "Session", + "Name": "Session Management Verification Requirements", + "Items": [ + { + "Shortcode": "V3.1", + "Ordinal": 1, + "Name": "Fundamental Session Management Requirements", + "Items": [ + { + "Shortcode": "V3.1.1", + "Ordinal": 1, + "Description": "Verify the application never reveals session tokens in URL parameters. ", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 598 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V3.2", + "Ordinal": 2, + "Name": "Session Binding Requirements", + "Items": [ + { + "Shortcode": "V3.2.1", + "Ordinal": 1, + "Description": "Verify the application generates a new session token on user authentication. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 384 + ], + "NIST": [ + "7.1" + ] + }, + { + "Shortcode": "V3.2.2", + "Ordinal": 2, + "Description": "Verify that session tokens possess at least 64 bits of entropy. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 331 + ], + "NIST": [ + "7.1" + ] + }, + { + "Shortcode": "V3.2.3", + "Ordinal": 3, + "Description": "Verify the application only stores session tokens in the browser using secure methods such as appropriately secured cookies (see section 3.4) or HTML 5 session storage.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 539 + ], + "NIST": [ + "7.1" + ] + }, + { + "Shortcode": "V3.2.4", + "Ordinal": 4, + "Description": "Verify that session token are generated using approved cryptographic algorithms. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 331 + ], + "NIST": [ + "7.1" + ] + } + ] + }, + { + "Shortcode": "V3.3", + "Ordinal": 3, + "Name": "Session Logout and Timeout Requirements", + "Items": [ + { + "Shortcode": "V3.3.1", + "Ordinal": 1, + "Description": "Verify that logout and expiration invalidate the session token, such that the back button or a downstream relying party does not resume an authenticated session, including across relying parties. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 613 + ], + "NIST": [ + "7.1" + ] + }, + { + "Shortcode": "V3.3.2", + "Ordinal": 2, + "Description": "If authenticators permit users to remain logged in, verify that re-authentication occurs periodically both when actively used or after an idle period. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "30 days" + }, + "L2": { + "Required": true, + "Requirement": "12 hours or 30 minutes of inactivity, 2FA optional" + }, + "L3": { + "Required": true, + "Requirement": "12 hours or 15 minutes of inactivity, with 2FA" + }, + "CWE": [ + 613 + ], + "NIST": [ + "7.2" + ] + }, + { + "Shortcode": "V3.3.3", + "Ordinal": 3, + "Description": "Verify that the application gives the option to terminate all other active sessions after a successful password change (including change via password reset/recovery), and that this is effective across the application, federated login (if present), and any relying parties.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 613 + ], + "NIST": [] + }, + { + "Shortcode": "V3.3.4", + "Ordinal": 4, + "Description": "Verify that users are able to view and (having re-entered login credentials) log out of any or all currently active sessions and devices.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 613 + ], + "NIST": [ + "7.1" + ] + } + ] + }, + { + "Shortcode": "V3.4", + "Ordinal": 4, + "Name": "Cookie-based Session Management", + "Items": [ + { + "Shortcode": "V3.4.1", + "Ordinal": 1, + "Description": "Verify that cookie-based session tokens have the 'Secure' attribute set. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 614 + ], + "NIST": [ + "7.1.1" + ] + }, + { + "Shortcode": "V3.4.2", + "Ordinal": 2, + "Description": "Verify that cookie-based session tokens have the 'HttpOnly' attribute set. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 1004 + ], + "NIST": [ + "7.1.1" + ] + }, + { + "Shortcode": "V3.4.3", + "Ordinal": 3, + "Description": "Verify that cookie-based session tokens utilize the 'SameSite' attribute to limit exposure to cross-site request forgery attacks. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 16 + ], + "NIST": [ + "7.1.1" + ] + }, + { + "Shortcode": "V3.4.4", + "Ordinal": 4, + "Description": "Verify that cookie-based session tokens use \"__Host-\" prefix (see references) to provide session cookie confidentiality.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 16 + ], + "NIST": [ + "7.1.1" + ] + }, + { + "Shortcode": "V3.4.5", + "Ordinal": 5, + "Description": "Verify that if the application is published under a domain name with other applications that set or use session cookies that might override or disclose the session cookies, set the path attribute in cookie-based session tokens using the most precise path possible. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 16 + ], + "NIST": [ + "7.1.1" + ] + } + ] + }, + { + "Shortcode": "V3.5", + "Ordinal": 5, + "Name": "Token-based Session Management", + "Items": [ + { + "Shortcode": "V3.5.1", + "Ordinal": 1, + "Description": "Verify the application allows users to revoke OAuth tokens that form trust relationships with linked applications. ", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 290 + ], + "NIST": [ + "7.1.2" + ] + }, + { + "Shortcode": "V3.5.2", + "Ordinal": 2, + "Description": "Verify the application uses session tokens rather than static API secrets and keys, except with legacy implementations.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 798 + ], + "NIST": [] + }, + { + "Shortcode": "V3.5.3", + "Ordinal": 3, + "Description": "Verify that stateless session tokens use digital signatures, encryption, and other countermeasures to protect against tampering, enveloping, replay, null cipher, and key substitution attacks.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 345 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V3.6", + "Ordinal": 6, + "Name": "Re-authentication from a Federation or Assertion", + "Items": [ + { + "Shortcode": "V3.6.1", + "Ordinal": 1, + "Description": "Verify that relying parties specify the maximum authentication time to Credential Service Providers (CSPs) and that CSPs re-authenticate the subscriber if they haven't used a session within that period.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 613 + ], + "NIST": [ + "7.2.1" + ] + }, + { + "Shortcode": "V3.6.2", + "Ordinal": 2, + "Description": "Verify that Credential Service Providers (CSPs) inform Relying Parties (RPs) of the last authentication event, to allow RPs to determine if they need to re-authenticate the user.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 613 + ], + "NIST": [ + "7.2.1" + ] + } + ] + }, + { + "Shortcode": "V3.7", + "Ordinal": 7, + "Name": "Defenses Against Session Management Exploits", + "Items": [ + { + "Shortcode": "V3.7.1", + "Ordinal": 1, + "Description": "Verify the application ensures a full, valid login session or requires re-authentication or secondary verification before allowing any sensitive transactions or account modifications.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 306 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V4", + "Ordinal": 4, + "ShortName": "Access", + "Name": "Access Control Verification Requirements", + "Items": [ + { + "Shortcode": "V4.1", + "Ordinal": 1, + "Name": "General Access Control Design", + "Items": [ + { + "Shortcode": "V4.1.1", + "Ordinal": 1, + "Description": "Verify that the application enforces access control rules on a trusted service layer, especially if client-side access control is present and could be bypassed.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 602 + ], + "NIST": [] + }, + { + "Shortcode": "V4.1.2", + "Ordinal": 2, + "Description": "Verify that all user and data attributes and policy information used by access controls cannot be manipulated by end users unless specifically authorized.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 639 + ], + "NIST": [] + }, + { + "Shortcode": "V4.1.3", + "Ordinal": 3, + "Description": "Verify that the principle of least privilege exists - users should only be able to access functions, data files, URLs, controllers, services, and other resources, for which they possess specific authorization. This implies protection against spoofing and elevation of privilege. ([C7](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 285 + ], + "NIST": [] + }, + { + "Shortcode": "V4.1.4", + "Ordinal": 4, + "Description": "Verify that the principle of deny by default exists whereby new users/roles start with minimal or no permissions and users/roles do not receive access to new features until access is explicitly assigned. ([C7](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 276 + ], + "NIST": [] + }, + { + "Shortcode": "V4.1.5", + "Ordinal": 5, + "Description": "Verify that access controls fail securely including when an exception occurs. ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 285 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V4.2", + "Ordinal": 2, + "Name": "Operation Level Access Control", + "Items": [ + { + "Shortcode": "V4.2.1", + "Ordinal": 1, + "Description": "Verify that sensitive data and APIs are protected against Insecure Direct Object Reference (IDOR) attacks targeting creation, reading, updating and deletion of records, such as creating or updating someone else's record, viewing everyone's records, or deleting all records.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 639 + ], + "NIST": [] + }, + { + "Shortcode": "V4.2.2", + "Ordinal": 2, + "Description": "Verify that the application or framework enforces a strong anti-CSRF mechanism to protect authenticated functionality, and effective anti-automation or anti-CSRF protects unauthenticated functionality.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 352 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V4.3", + "Ordinal": 3, + "Name": "Other Access Control Considerations", + "Items": [ + { + "Shortcode": "V4.3.1", + "Ordinal": 1, + "Description": "Verify administrative interfaces use appropriate multi-factor authentication to prevent unauthorized use.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 419 + ], + "NIST": [] + }, + { + "Shortcode": "V4.3.2", + "Ordinal": 2, + "Description": "Verify that directory browsing is disabled unless deliberately desired. Additionally, applications should not allow discovery or disclosure of file or directory metadata, such as Thumbs.db, .DS_Store, .git or .svn folders.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 548 + ], + "NIST": [] + }, + { + "Shortcode": "V4.3.3", + "Ordinal": 3, + "Description": "Verify the application has additional authorization (such as step up or adaptive authentication) for lower value systems, and / or segregation of duties for high value applications to enforce anti-fraud controls as per the risk of application and past fraud.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 732 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V5", + "Ordinal": 5, + "ShortName": "Validation", + "Name": "Validation, Sanitization and Encoding Verification Requirements", + "Items": [ + { + "Shortcode": "V5.1", + "Ordinal": 1, + "Name": "Input Validation Requirements", + "Items": [ + { + "Shortcode": "V5.1.1", + "Ordinal": 1, + "Description": "Verify that the application has defenses against HTTP parameter pollution attacks, particularly if the application framework makes no distinction about the source of request parameters (GET, POST, cookies, headers, or environment variables).", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 235 + ], + "NIST": [] + }, + { + "Shortcode": "V5.1.2", + "Ordinal": 2, + "Description": "Verify that frameworks protect against mass parameter assignment attacks, or that the application has countermeasures to protect against unsafe parameter assignment, such as marking fields private or similar. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 915 + ], + "NIST": [] + }, + { + "Shortcode": "V5.1.3", + "Ordinal": 3, + "Description": "Verify that all input (HTML form fields, REST requests, URL parameters, HTTP headers, cookies, batch files, RSS feeds, etc) is validated using positive validation (allow lists). ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 20 + ], + "NIST": [] + }, + { + "Shortcode": "V5.1.4", + "Ordinal": 4, + "Description": "Verify that structured data is strongly typed and validated against a defined schema including allowed characters, length and pattern (e.g. credit card numbers or telephone, or validating that two related fields are reasonable, such as checking that suburb and zip/postcode match). ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 20 + ], + "NIST": [] + }, + { + "Shortcode": "V5.1.5", + "Ordinal": 5, + "Description": "Verify that URL redirects and forwards only allow destinations which appear on an allow list, or show a warning when redirecting to potentially untrusted content.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 601 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V5.2", + "Ordinal": 2, + "Name": "Sanitization and Sandboxing Requirements", + "Items": [ + { + "Shortcode": "V5.2.1", + "Ordinal": 1, + "Description": "Verify that all untrusted HTML input from WYSIWYG editors or similar is properly sanitized with an HTML sanitizer library or framework feature. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 116 + ], + "NIST": [] + }, + { + "Shortcode": "V5.2.2", + "Ordinal": 2, + "Description": "Verify that unstructured data is sanitized to enforce safety measures such as allowed characters and length.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 138 + ], + "NIST": [] + }, + { + "Shortcode": "V5.2.3", + "Ordinal": 3, + "Description": "Verify that the application sanitizes user input before passing to mail systems to protect against SMTP or IMAP injection.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 147 + ], + "NIST": [] + }, + { + "Shortcode": "V5.2.4", + "Ordinal": 4, + "Description": "Verify that the application avoids the use of eval() or other dynamic code execution features. Where there is no alternative, any user input being included must be sanitized or sandboxed before being executed.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 95 + ], + "NIST": [] + }, + { + "Shortcode": "V5.2.5", + "Ordinal": 5, + "Description": "Verify that the application protects against template injection attacks by ensuring that any user input being included is sanitized or sandboxed.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 94 + ], + "NIST": [] + }, + { + "Shortcode": "V5.2.6", + "Ordinal": 6, + "Description": "Verify that the application protects against SSRF attacks, by validating or sanitizing untrusted data or HTTP file metadata, such as filenames and URL input fields, and uses allow lists of protocols, domains, paths and ports.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 918 + ], + "NIST": [] + }, + { + "Shortcode": "V5.2.7", + "Ordinal": 7, + "Description": "Verify that the application sanitizes, disables, or sandboxes user-supplied Scalable Vector Graphics (SVG) scriptable content, especially as they relate to XSS resulting from inline scripts, and foreignObject.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 159 + ], + "NIST": [] + }, + { + "Shortcode": "V5.2.8", + "Ordinal": 8, + "Description": "Verify that the application sanitizes, disables, or sandboxes user-supplied scriptable or expression template language content, such as Markdown, CSS or XSL stylesheets, BBCode, or similar.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 94 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V5.3", + "Ordinal": 3, + "Name": "Output Encoding and Injection Prevention Requirements", + "Items": [ + { + "Shortcode": "V5.3.1", + "Ordinal": 1, + "Description": "Verify that output encoding is relevant for the interpreter and context required. For example, use encoders specifically for HTML values, HTML attributes, JavaScript, URL parameters, HTTP headers, SMTP, and others as the context requires, especially from untrusted inputs (e.g. names with Unicode or apostrophes, such as \u306d\u3053 or O'Hara). ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 116 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.2", + "Ordinal": 2, + "Description": "Verify that output encoding preserves the user's chosen character set and locale, such that any Unicode character point is valid and safely handled. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 176 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.3", + "Ordinal": 3, + "Description": "Verify that context-aware, preferably automated - or at worst, manual - output escaping protects against reflected, stored, and DOM based XSS. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 79 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.4", + "Ordinal": 4, + "Description": "Verify that data selection or database queries (e.g. SQL, HQL, ORM, NoSQL) use parameterized queries, ORMs, entity frameworks, or are otherwise protected from database injection attacks. ([C3](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 89 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.5", + "Ordinal": 5, + "Description": "Verify that where parameterized or safer mechanisms are not present, context-specific output encoding is used to protect against injection attacks, such as the use of SQL escaping to protect against SQL injection. ([C3, C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 89 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.6", + "Ordinal": 6, + "Description": "Verify that the application protects against JavaScript or JSON injection attacks, including for eval attacks, remote JavaScript includes, Content Security Policy (CSP) bypasses, DOM XSS, and JavaScript expression evaluation. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 830 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.7", + "Ordinal": 7, + "Description": "Verify that the application protects against LDAP injection vulnerabilities, or that specific security controls to prevent LDAP injection have been implemented. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 90 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.8", + "Ordinal": 8, + "Description": "Verify that the application protects against OS command injection and that operating system calls use parameterized OS queries or use contextual command line output encoding. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 78 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.9", + "Ordinal": 9, + "Description": "Verify that the application protects against Local File Inclusion (LFI) or Remote File Inclusion (RFI) attacks.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 829 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.10", + "Ordinal": 10, + "Description": "Verify that the application protects against XPath injection or XML injection attacks. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 643 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V5.4", + "Ordinal": 4, + "Name": "Memory, String, and Unmanaged Code Requirements", + "Items": [ + { + "Shortcode": "V5.4.1", + "Ordinal": 1, + "Description": "Verify that the application uses memory-safe string, safer memory copy and pointer arithmetic to detect or prevent stack, buffer, or heap overflows.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 120 + ], + "NIST": [] + }, + { + "Shortcode": "V5.4.2", + "Ordinal": 2, + "Description": "Verify that format strings do not take potentially hostile input, and are constant.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 134 + ], + "NIST": [] + }, + { + "Shortcode": "V5.4.3", + "Ordinal": 3, + "Description": "Verify that sign, range, and input validation techniques are used to prevent integer overflows.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 190 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V5.5", + "Ordinal": 5, + "Name": "Deserialization Prevention Requirements", + "Items": [ + { + "Shortcode": "V5.5.1", + "Ordinal": 1, + "Description": "Verify that serialized objects use integrity checks or are encrypted to prevent hostile object creation or data tampering. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 502 + ], + "NIST": [] + }, + { + "Shortcode": "V5.5.2", + "Ordinal": 2, + "Description": "Verify that the application correctly restricts XML parsers to only use the most restrictive configuration possible and to ensure that unsafe features such as resolving external entities are disabled to prevent XML eXternal Entity (XXE) attacks. ", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 611 + ], + "NIST": [] + }, + { + "Shortcode": "V5.5.3", + "Ordinal": 3, + "Description": "Verify that deserialization of untrusted data is avoided or is protected in both custom code and third-party libraries (such as JSON, XML and YAML parsers). ", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 502 + ], + "NIST": [] + }, + { + "Shortcode": "V5.5.4", + "Ordinal": 4, + "Description": "Verify that when parsing JSON in browsers or JavaScript-based backends, JSON.parse is used to parse the JSON document. Do not use eval() to parse JSON.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 95 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V6", + "Ordinal": 6, + "ShortName": "Cryptography", + "Name": "Stored Cryptography Verification Requirements", + "Items": [ + { + "Shortcode": "V6.1", + "Ordinal": 1, + "Name": "Data Classification", + "Items": [ + { + "Shortcode": "V6.1.1", + "Ordinal": 1, + "Description": "Verify that regulated private data is stored encrypted while at rest, such as Personally Identifiable Information (PII), sensitive personal information, or data assessed likely to be subject to EU's GDPR.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 311 + ], + "NIST": [] + }, + { + "Shortcode": "V6.1.2", + "Ordinal": 2, + "Description": "Verify that regulated health data is stored encrypted while at rest, such as medical records, medical device details, or de-anonymized research records.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 311 + ], + "NIST": [] + }, + { + "Shortcode": "V6.1.3", + "Ordinal": 3, + "Description": "Verify that regulated financial data is stored encrypted while at rest, such as financial accounts, defaults or credit history, tax records, pay history, beneficiaries, or de-anonymized market or research records.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 311 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V6.2", + "Ordinal": 2, + "Name": "Algorithms", + "Items": [ + { + "Shortcode": "V6.2.1", + "Ordinal": 1, + "Description": "Verify that all cryptographic modules fail securely, and errors are handled in a way that does not enable Padding Oracle attacks.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 310 + ], + "NIST": [] + }, + { + "Shortcode": "V6.2.2", + "Ordinal": 2, + "Description": "Verify that industry proven or government approved cryptographic algorithms, modes, and libraries are used, instead of custom coded cryptography. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 327 + ], + "NIST": [] + }, + { + "Shortcode": "V6.2.3", + "Ordinal": 3, + "Description": "Verify that encryption initialization vector, cipher configuration, and block modes are configured securely using the latest advice.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 326 + ], + "NIST": [] + }, + { + "Shortcode": "V6.2.4", + "Ordinal": 4, + "Description": "Verify that random number, encryption or hashing algorithms, key lengths, rounds, ciphers or modes, can be reconfigured, upgraded, or swapped at any time, to protect against cryptographic breaks. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 326 + ], + "NIST": [] + }, + { + "Shortcode": "V6.2.5", + "Ordinal": 5, + "Description": "Verify that known insecure block modes (i.e. ECB, etc.), padding modes (i.e. PKCS#1 v1.5, etc.), ciphers with small block sizes (i.e. Triple-DES, Blowfish, etc.), and weak hashing algorithms (i.e. MD5, SHA1, etc.) are not used unless required for backwards compatibility.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 326 + ], + "NIST": [] + }, + { + "Shortcode": "V6.2.6", + "Ordinal": 6, + "Description": "Verify that nonces, initialization vectors, and other single use numbers must not be used more than once with a given encryption key. The method of generation must be appropriate for the algorithm being used.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 326 + ], + "NIST": [] + }, + { + "Shortcode": "V6.2.7", + "Ordinal": 7, + "Description": "Verify that encrypted data is authenticated via signatures, authenticated cipher modes, or HMAC to ensure that ciphertext is not altered by an unauthorized party.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 326 + ], + "NIST": [] + }, + { + "Shortcode": "V6.2.8", + "Ordinal": 8, + "Description": "Verify that all cryptographic operations are constant-time, with no 'short-circuit' operations in comparisons, calculations, or returns, to avoid leaking information.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 385 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V6.3", + "Ordinal": 3, + "Name": "Random Values", + "Items": [ + { + "Shortcode": "V6.3.1", + "Ordinal": 1, + "Description": "Verify that all random numbers, random file names, random GUIDs, and random strings are generated using the cryptographic module's approved cryptographically secure random number generator when these random values are intended to be not guessable by an attacker.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 338 + ], + "NIST": [] + }, + { + "Shortcode": "V6.3.2", + "Ordinal": 2, + "Description": "Verify that random GUIDs are created using the GUID v4 algorithm, and a Cryptographically-secure Pseudo-random Number Generator (CSPRNG). GUIDs created using other pseudo-random number generators may be predictable.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 338 + ], + "NIST": [] + }, + { + "Shortcode": "V6.3.3", + "Ordinal": 3, + "Description": "Verify that random numbers are created with proper entropy even when the application is under heavy load, or that the application degrades gracefully in such circumstances.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 338 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V6.4", + "Ordinal": 4, + "Name": "Secret Management", + "Items": [ + { + "Shortcode": "V6.4.1", + "Ordinal": 1, + "Description": "Verify that a secrets management solution such as a key vault is used to securely create, store, control access to and destroy secrets. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 798 + ], + "NIST": [] + }, + { + "Shortcode": "V6.4.2", + "Ordinal": 2, + "Description": "Verify that key material is not exposed to the application but instead uses an isolated security module like a vault for cryptographic operations. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 320 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V7", + "Ordinal": 7, + "ShortName": "Error", + "Name": "Error Handling and Logging Verification Requirements", + "Items": [ + { + "Shortcode": "V7.1", + "Ordinal": 1, + "Name": "Log Content Requirements", + "Items": [ + { + "Shortcode": "V7.1.1", + "Ordinal": 1, + "Description": "Verify that the application does not log credentials or payment details. Session tokens should only be stored in logs in an irreversible, hashed form. ([C9, C10](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 532 + ], + "NIST": [] + }, + { + "Shortcode": "V7.1.2", + "Ordinal": 2, + "Description": "Verify that the application does not log other sensitive data as defined under local privacy laws or relevant security policy. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 532 + ], + "NIST": [] + }, + { + "Shortcode": "V7.1.3", + "Ordinal": 3, + "Description": "Verify that the application logs security relevant events including successful and failed authentication events, access control failures, deserialization failures and input validation failures. ([C5, C7](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 778 + ], + "NIST": [] + }, + { + "Shortcode": "V7.1.4", + "Ordinal": 4, + "Description": "Verify that each log event includes necessary information that would allow for a detailed investigation of the timeline when an event happens. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 778 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V7.2", + "Ordinal": 2, + "Name": "Log Processing Requirements", + "Items": [ + { + "Shortcode": "V7.2.1", + "Ordinal": 1, + "Description": "Verify that all authentication decisions are logged, without storing sensitive session tokens or passwords. This should include requests with relevant metadata needed for security investigations. ", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 778 + ], + "NIST": [] + }, + { + "Shortcode": "V7.2.2", + "Ordinal": 2, + "Description": "Verify that all access control decisions can be logged and all failed decisions are logged. This should include requests with relevant metadata needed for security investigations.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 285 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V7.3", + "Ordinal": 3, + "Name": "Log Protection Requirements", + "Items": [ + { + "Shortcode": "V7.3.1", + "Ordinal": 1, + "Description": "Verify that the application appropriately encodes user-supplied data to prevent log injection. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 117 + ], + "NIST": [] + }, + { + "Shortcode": "V7.3.2", + "Ordinal": 2, + "Description": "Verify that all events are protected from injection when viewed in log viewing software. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 117 + ], + "NIST": [] + }, + { + "Shortcode": "V7.3.3", + "Ordinal": 3, + "Description": "Verify that security logs are protected from unauthorized access and modification. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 200 + ], + "NIST": [] + }, + { + "Shortcode": "V7.3.4", + "Ordinal": 4, + "Description": "Verify that time sources are synchronized to the correct time and time zone. Strongly consider logging only in UTC if systems are global to assist with post-incident forensic analysis. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + } + ] + }, + { + "Shortcode": "V7.4", + "Ordinal": 4, + "Name": "Error Handling", + "Items": [ + { + "Shortcode": "V7.4.1", + "Ordinal": 1, + "Description": "Verify that a generic message is shown when an unexpected or security sensitive error occurs, potentially with a unique ID which support personnel can use to investigate. ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 210 + ], + "NIST": [] + }, + { + "Shortcode": "V7.4.2", + "Ordinal": 2, + "Description": "Verify that exception handling (or a functional equivalent) is used across the codebase to account for expected and unexpected error conditions. ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 544 + ], + "NIST": [] + }, + { + "Shortcode": "V7.4.3", + "Ordinal": 3, + "Description": "Verify that a \"last resort\" error handler is defined which will catch all unhandled exceptions. ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 431 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V8", + "Ordinal": 8, + "ShortName": "Data", + "Name": "Data Protection Verification Requirements", + "Items": [ + { + "Shortcode": "V8.1", + "Ordinal": 1, + "Name": "General Data Protection", + "Items": [ + { + "Shortcode": "V8.1.1", + "Ordinal": 1, + "Description": "Verify the application protects sensitive data from being cached in server components such as load balancers and application caches.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 524 + ], + "NIST": [] + }, + { + "Shortcode": "V8.1.2", + "Ordinal": 2, + "Description": "Verify that all cached or temporary copies of sensitive data stored on the server are protected from unauthorized access or purged/invalidated after the authorized user accesses the sensitive data.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 524 + ], + "NIST": [] + }, + { + "Shortcode": "V8.1.3", + "Ordinal": 3, + "Description": "Verify the application minimizes the number of parameters in a request, such as hidden fields, Ajax variables, cookies and header values.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 233 + ], + "NIST": [] + }, + { + "Shortcode": "V8.1.4", + "Ordinal": 4, + "Description": "Verify the application can detect and alert on abnormal numbers of requests, such as by IP, user, total per hour or day, or whatever makes sense for the application.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 770 + ], + "NIST": [] + }, + { + "Shortcode": "V8.1.5", + "Ordinal": 5, + "Description": "Verify that regular backups of important data are performed and that test restoration of data is performed.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 19 + ], + "NIST": [] + }, + { + "Shortcode": "V8.1.6", + "Ordinal": 6, + "Description": "Verify that backups are stored securely to prevent data from being stolen or corrupted.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 19 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V8.2", + "Ordinal": 2, + "Name": "Client-side Data Protection", + "Items": [ + { + "Shortcode": "V8.2.1", + "Ordinal": 1, + "Description": "Verify the application sets sufficient anti-caching headers so that sensitive data is not cached in modern browsers.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 525 + ], + "NIST": [] + }, + { + "Shortcode": "V8.2.2", + "Ordinal": 2, + "Description": "Verify that data stored in browser storage (such as HTML5 local storage, session storage, IndexedDB, or cookies) does not contain sensitive data or PII.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 922 + ], + "NIST": [] + }, + { + "Shortcode": "V8.2.3", + "Ordinal": 3, + "Description": "Verify that authenticated data is cleared from client storage, such as the browser DOM, after the client or session is terminated.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 922 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V8.3", + "Ordinal": 3, + "Name": "Sensitive Private Data", + "Items": [ + { + "Shortcode": "V8.3.1", + "Ordinal": 1, + "Description": "Verify that sensitive data is sent to the server in the HTTP message body or headers, and that query string parameters from any HTTP verb do not contain sensitive data.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 319 + ], + "NIST": [] + }, + { + "Shortcode": "V8.3.2", + "Ordinal": 2, + "Description": "Verify that users have a method to remove or export their data on demand.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 212 + ], + "NIST": [] + }, + { + "Shortcode": "V8.3.3", + "Ordinal": 3, + "Description": "Verify that users are provided clear language regarding collection and use of supplied personal information and that users have provided opt-in consent for the use of that data before it is used in any way.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 285 + ], + "NIST": [] + }, + { + "Shortcode": "V8.3.4", + "Ordinal": 4, + "Description": "Verify that all sensitive data created and processed by the application has been identified, and ensure that a policy is in place on how to deal with sensitive data. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 200 + ], + "NIST": [] + }, + { + "Shortcode": "V8.3.5", + "Ordinal": 5, + "Description": "Verify accessing sensitive data is audited (without logging the sensitive data itself), if the data is collected under relevant data protection directives or where logging of access is required.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 532 + ], + "NIST": [] + }, + { + "Shortcode": "V8.3.6", + "Ordinal": 6, + "Description": "Verify that sensitive information contained in memory is overwritten as soon as it is no longer required to mitigate memory dumping attacks, using zeroes or random data.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 226 + ], + "NIST": [] + }, + { + "Shortcode": "V8.3.7", + "Ordinal": 7, + "Description": "Verify that sensitive or private information that is required to be encrypted, is encrypted using approved algorithms that provide both confidentiality and integrity. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 327 + ], + "NIST": [] + }, + { + "Shortcode": "V8.3.8", + "Ordinal": 8, + "Description": "Verify that sensitive personal information is subject to data retention classification, such that old or out of date data is deleted automatically, on a schedule, or as the situation requires.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 285 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V9", + "Ordinal": 9, + "ShortName": "Communications", + "Name": "Communications Verification Requirements", + "Items": [ + { + "Shortcode": "V9.1", + "Ordinal": 1, + "Name": "Client Communications Security Requirements", + "Items": [ + { + "Shortcode": "V9.1.1", + "Ordinal": 1, + "Description": "Verify that secured TLS is used for all client connectivity, and does not fall back to insecure or unencrypted protocols. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 319 + ], + "NIST": [] + }, + { + "Shortcode": "V9.1.2", + "Ordinal": 2, + "Description": "Verify using online or up to date TLS testing tools that only strong algorithms, ciphers, and protocols are enabled, with the strongest algorithms and ciphers set as preferred.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 326 + ], + "NIST": [] + }, + { + "Shortcode": "V9.1.3", + "Ordinal": 3, + "Description": "Verify that old versions of SSL and TLS protocols, algorithms, ciphers, and configuration are disabled, such as SSLv2, SSLv3, or TLS 1.0 and TLS 1.1. The latest version of TLS should be the preferred cipher suite.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 326 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V9.2", + "Ordinal": 2, + "Name": "Server Communications Security Requirements", + "Items": [ + { + "Shortcode": "V9.2.1", + "Ordinal": 1, + "Description": "Verify that connections to and from the server use trusted TLS certificates. Where internally generated or self-signed certificates are used, the server must be configured to only trust specific internal CAs and specific self-signed certificates. All others should be rejected.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 295 + ], + "NIST": [] + }, + { + "Shortcode": "V9.2.2", + "Ordinal": 2, + "Description": "Verify that encrypted communications such as TLS is used for all inbound and outbound connections, including for management ports, monitoring, authentication, API, or web service calls, database, cloud, serverless, mainframe, external, and partner connections. The server must not fall back to insecure or unencrypted protocols.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 319 + ], + "NIST": [] + }, + { + "Shortcode": "V9.2.3", + "Ordinal": 3, + "Description": "Verify that all encrypted connections to external systems that involve sensitive information or functions are authenticated.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 287 + ], + "NIST": [] + }, + { + "Shortcode": "V9.2.4", + "Ordinal": 4, + "Description": "Verify that proper certification revocation, such as Online Certificate Status Protocol (OCSP) Stapling, is enabled and configured.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 299 + ], + "NIST": [] + }, + { + "Shortcode": "V9.2.5", + "Ordinal": 5, + "Description": "Verify that backend TLS connection failures are logged.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 544 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V10", + "Ordinal": 10, + "ShortName": "Malicious", + "Name": "Malicious Code Verification Requirements", + "Items": [ + { + "Shortcode": "V10.1", + "Ordinal": 1, + "Name": "Code Integrity Controls", + "Items": [ + { + "Shortcode": "V10.1.1", + "Ordinal": 1, + "Description": "Verify that a code analysis tool is in use that can detect potentially malicious code, such as time functions, unsafe file operations and network connections.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 749 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V10.2", + "Ordinal": 2, + "Name": "Malicious Code Search", + "Items": [ + { + "Shortcode": "V10.2.1", + "Ordinal": 1, + "Description": "Verify that the application source code and third party libraries do not contain unauthorized phone home or data collection capabilities. Where such functionality exists, obtain the user's permission for it to operate before collecting any data.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 359 + ], + "NIST": [] + }, + { + "Shortcode": "V10.2.2", + "Ordinal": 2, + "Description": "Verify that the application does not ask for unnecessary or excessive permissions to privacy related features or sensors, such as contacts, cameras, microphones, or location.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 272 + ], + "NIST": [] + }, + { + "Shortcode": "V10.2.3", + "Ordinal": 3, + "Description": "Verify that the application source code and third party libraries do not contain back doors, such as hard-coded or additional undocumented accounts or keys, code obfuscation, undocumented binary blobs, rootkits, or anti-debugging, insecure debugging features, or otherwise out of date, insecure, or hidden functionality that could be used maliciously if discovered.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 507 + ], + "NIST": [] + }, + { + "Shortcode": "V10.2.4", + "Ordinal": 4, + "Description": "Verify that the application source code and third party libraries do not contain time bombs by searching for date and time related functions.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 511 + ], + "NIST": [] + }, + { + "Shortcode": "V10.2.5", + "Ordinal": 5, + "Description": "Verify that the application source code and third party libraries do not contain malicious code, such as salami attacks, logic bypasses, or logic bombs.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 511 + ], + "NIST": [] + }, + { + "Shortcode": "V10.2.6", + "Ordinal": 6, + "Description": "Verify that the application source code and third party libraries do not contain Easter eggs or any other potentially unwanted functionality.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 507 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V10.3", + "Ordinal": 3, + "Name": "Deployed Application Integrity Controls", + "Items": [ + { + "Shortcode": "V10.3.1", + "Ordinal": 1, + "Description": "Verify that if the application has a client or server auto-update feature, updates should be obtained over secure channels and digitally signed. The update code must validate the digital signature of the update before installing or executing the update.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 16 + ], + "NIST": [] + }, + { + "Shortcode": "V10.3.2", + "Ordinal": 2, + "Description": "Verify that the application employs integrity protections, such as code signing or subresource integrity. The application must not load or execute code from untrusted sources, such as loading includes, modules, plugins, code, or libraries from untrusted sources or the Internet.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 353 + ], + "NIST": [] + }, + { + "Shortcode": "V10.3.3", + "Ordinal": 3, + "Description": "Verify that the application has protection from subdomain takeovers if the application relies upon DNS entries or DNS subdomains, such as expired domain names, out of date DNS pointers or CNAMEs, expired projects at public source code repos, or transient cloud APIs, serverless functions, or storage buckets (*autogen-bucket-id*.cloud.example.com) or similar. Protections can include ensuring that DNS names used by applications are regularly checked for expiry or change.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 350 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V11", + "Ordinal": 11, + "ShortName": "BusLogic", + "Name": "Business Logic Verification Requirements", + "Items": [ + { + "Shortcode": "V11.1", + "Ordinal": 1, + "Name": "Business Logic Security Requirements", + "Items": [ + { + "Shortcode": "V11.1.1", + "Ordinal": 1, + "Description": "Verify the application will only process business logic flows for the same user in sequential step order and without skipping steps.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 841 + ], + "NIST": [] + }, + { + "Shortcode": "V11.1.2", + "Ordinal": 2, + "Description": "Verify the application will only process business logic flows with all steps being processed in realistic human time, i.e. transactions are not submitted too quickly.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 799 + ], + "NIST": [] + }, + { + "Shortcode": "V11.1.3", + "Ordinal": 3, + "Description": "Verify the application has appropriate limits for specific business actions or transactions which are correctly enforced on a per user basis.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 770 + ], + "NIST": [] + }, + { + "Shortcode": "V11.1.4", + "Ordinal": 4, + "Description": "Verify the application has sufficient anti-automation controls to detect and protect against data exfiltration, excessive business logic requests, excessive file uploads or denial of service attacks.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 770 + ], + "NIST": [] + }, + { + "Shortcode": "V11.1.5", + "Ordinal": 5, + "Description": "Verify the application has business logic limits or validation to protect against likely business risks or threats, identified using threat modeling or similar methodologies.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 841 + ], + "NIST": [] + }, + { + "Shortcode": "V11.1.6", + "Ordinal": 6, + "Description": "Verify the application does not suffer from \"Time Of Check to Time Of Use\" (TOCTOU) issues or other race conditions for sensitive operations.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 367 + ], + "NIST": [] + }, + { + "Shortcode": "V11.1.7", + "Ordinal": 7, + "Description": "Verify the application monitors for unusual events or activity from a business logic perspective. For example, attempts to perform actions out of order or actions which a normal user would never attempt. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 754 + ], + "NIST": [] + }, + { + "Shortcode": "V11.1.8", + "Ordinal": 8, + "Description": "Verify the application has configurable alerting when automated attacks or unusual activity is detected.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 390 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V12", + "Ordinal": 12, + "ShortName": "Files", + "Name": "File and Resources Verification Requirements", + "Items": [ + { + "Shortcode": "V12.1", + "Ordinal": 1, + "Name": "File Upload Requirements", + "Items": [ + { + "Shortcode": "V12.1.1", + "Ordinal": 1, + "Description": "Verify that the application will not accept large files that could fill up storage or cause a denial of service.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 400 + ], + "NIST": [] + }, + { + "Shortcode": "V12.1.2", + "Ordinal": 2, + "Description": "Verify that compressed files are checked for \"zip bombs\" - small input files that will decompress into huge files thus exhausting file storage limits.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 409 + ], + "NIST": [] + }, + { + "Shortcode": "V12.1.3", + "Ordinal": 3, + "Description": "Verify that a file size quota and maximum number of files per user is enforced to ensure that a single user cannot fill up the storage with too many files, or excessively large files.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 770 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V12.2", + "Ordinal": 2, + "Name": "File Integrity Requirements", + "Items": [ + { + "Shortcode": "V12.2.1", + "Ordinal": 1, + "Description": "Verify that files obtained from untrusted sources are validated to be of expected type based on the file's content.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 434 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V12.3", + "Ordinal": 3, + "Name": "File Execution Requirements", + "Items": [ + { + "Shortcode": "V12.3.1", + "Ordinal": 1, + "Description": "Verify that user-submitted filename metadata is not used directly by system or framework filesystems and that a URL API is used to protect against path traversal.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 22 + ], + "NIST": [] + }, + { + "Shortcode": "V12.3.2", + "Ordinal": 2, + "Description": "Verify that user-submitted filename metadata is validated or ignored to prevent the disclosure, creation, updating or removal of local files (LFI).", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 73 + ], + "NIST": [] + }, + { + "Shortcode": "V12.3.3", + "Ordinal": 3, + "Description": "Verify that user-submitted filename metadata is validated or ignored to prevent the disclosure or execution of remote files via Remote File Inclusion (RFI) or Server-side Request Forgery (SSRF) attacks. ", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 98 + ], + "NIST": [] + }, + { + "Shortcode": "V12.3.4", + "Ordinal": 4, + "Description": "Verify that the application protects against Reflective File Download (RFD) by validating or ignoring user-submitted filenames in a JSON, JSONP, or URL parameter, the response Content-Type header should be set to text/plain, and the Content-Disposition header should have a fixed filename.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 641 + ], + "NIST": [] + }, + { + "Shortcode": "V12.3.5", + "Ordinal": 5, + "Description": "Verify that untrusted file metadata is not used directly with system API or libraries, to protect against OS command injection.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 78 + ], + "NIST": [] + }, + { + "Shortcode": "V12.3.6", + "Ordinal": 6, + "Description": "Verify that the application does not include and execute functionality from untrusted sources, such as unverified content distribution networks, JavaScript libraries, node npm libraries, or server-side DLLs.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 829 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V12.4", + "Ordinal": 4, + "Name": "File Storage Requirements", + "Items": [ + { + "Shortcode": "V12.4.1", + "Ordinal": 1, + "Description": "Verify that files obtained from untrusted sources are stored outside the web root, with limited permissions, preferably with strong validation.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 922 + ], + "NIST": [] + }, + { + "Shortcode": "V12.4.2", + "Ordinal": 2, + "Description": "Verify that files obtained from untrusted sources are scanned by antivirus scanners to prevent upload of known malicious content.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 509 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V12.5", + "Ordinal": 5, + "Name": "File Download Requirements", + "Items": [ + { + "Shortcode": "V12.5.1", + "Ordinal": 1, + "Description": "Verify that the web tier is configured to serve only files with specific file extensions to prevent unintentional information and source code leakage. For example, backup files (e.g. .bak), temporary working files (e.g. .swp), compressed files (.zip, .tar.gz, etc) and other extensions commonly used by editors should be blocked unless required.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 552 + ], + "NIST": [] + }, + { + "Shortcode": "V12.5.2", + "Ordinal": 2, + "Description": "Verify that direct requests to uploaded files will never be executed as HTML/JavaScript content.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 434 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V12.6", + "Ordinal": 6, + "Name": "SSRF Protection Requirements", + "Items": [ + { + "Shortcode": "V12.6.1", + "Ordinal": 1, + "Description": "Verify that the web or application server is configured with an allow list of resources or systems to which the server can send requests or load data/files from.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 918 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V13", + "Ordinal": 13, + "ShortName": "API", + "Name": "API and Web Service Verification Requirements", + "Items": [ + { + "Shortcode": "V13.1", + "Ordinal": 1, + "Name": "Generic Web Service Security Verification Requirements", + "Items": [ + { + "Shortcode": "V13.1.1", + "Ordinal": 1, + "Description": "Verify that all application components use the same encodings and parsers to avoid parsing attacks that exploit different URI or file parsing behavior that could be used in SSRF and RFI attacks.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 116 + ], + "NIST": [] + }, + { + "Shortcode": "V13.1.2", + "Ordinal": 2, + "Description": "Verify that access to administration and management functions is limited to authorized administrators.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 419 + ], + "NIST": [] + }, + { + "Shortcode": "V13.1.3", + "Ordinal": 3, + "Description": "Verify API URLs do not expose sensitive information, such as the API key, session tokens etc.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 598 + ], + "NIST": [] + }, + { + "Shortcode": "V13.1.4", + "Ordinal": 4, + "Description": "Verify that authorization decisions are made at both the URI, enforced by programmatic or declarative security at the controller or router, and at the resource level, enforced by model-based permissions.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 285 + ], + "NIST": [] + }, + { + "Shortcode": "V13.1.5", + "Ordinal": 5, + "Description": "Verify that requests containing unexpected or missing content types are rejected with appropriate headers (HTTP response status 406 Unacceptable or 415 Unsupported Media Type).", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 434 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V13.2", + "Ordinal": 2, + "Name": "RESTful Web Service Verification Requirements", + "Items": [ + { + "Shortcode": "V13.2.1", + "Ordinal": 1, + "Description": "Verify that enabled RESTful HTTP methods are a valid choice for the user or action, such as preventing normal users using DELETE or PUT on protected API or resources.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 650 + ], + "NIST": [] + }, + { + "Shortcode": "V13.2.2", + "Ordinal": 2, + "Description": "Verify that JSON schema validation is in place and verified before accepting input.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 20 + ], + "NIST": [] + }, + { + "Shortcode": "V13.2.3", + "Ordinal": 3, + "Description": "Verify that RESTful web services that utilize cookies are protected from Cross-Site Request Forgery via the use of at least one or more of the following: double submit cookie pattern, CSRF nonces, or Origin request header checks.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 352 + ], + "NIST": [] + }, + { + "Shortcode": "V13.2.4", + "Ordinal": 4, + "Description": "Verify that REST services have anti-automation controls to protect against excessive calls, especially if the API is unauthenticated.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 770 + ], + "NIST": [] + }, + { + "Shortcode": "V13.2.5", + "Ordinal": 5, + "Description": "Verify that REST services explicitly check the incoming Content-Type to be the expected one, such as application/xml or application/json.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 436 + ], + "NIST": [] + }, + { + "Shortcode": "V13.2.6", + "Ordinal": 6, + "Description": "Verify that the message headers and payload are trustworthy and not modified in transit. Requiring strong encryption for transport (TLS only) may be sufficient in many cases as it provides both confidentiality and integrity protection. Per-message digital signatures can provide additional assurance on top of the transport protections for high-security applications but bring with them additional complexity and risks to weigh against the benefits.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 345 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V13.3", + "Ordinal": 3, + "Name": "SOAP Web Service Verification Requirements", + "Items": [ + { + "Shortcode": "V13.3.1", + "Ordinal": 1, + "Description": "Verify that XSD schema validation takes place to ensure a properly formed XML document, followed by validation of each input field before any processing of that data takes place.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 20 + ], + "NIST": [] + }, + { + "Shortcode": "V13.3.2", + "Ordinal": 2, + "Description": "Verify that the message payload is signed using WS-Security to ensure reliable transport between client and service.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 345 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V13.4", + "Ordinal": 4, + "Name": "GraphQL and other Web Service Data Layer Security Requirements", + "Items": [ + { + "Shortcode": "V13.4.1", + "Ordinal": 1, + "Description": "Verify that a query allow list or a combination of depth limiting and amount limiting is used to prevent GraphQL or data layer expression Denial of Service (DoS) as a result of expensive, nested queries. For more advanced scenarios, query cost analysis should be used.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 770 + ], + "NIST": [] + }, + { + "Shortcode": "V13.4.2", + "Ordinal": 2, + "Description": "Verify that GraphQL or other data layer authorization logic should be implemented at the business logic layer instead of the GraphQL layer.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 285 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V14", + "Ordinal": 14, + "ShortName": "Config", + "Name": "Configuration Verification Requirements", + "Items": [ + { + "Shortcode": "V14.1", + "Ordinal": 1, + "Name": "Build", + "Items": [ + { + "Shortcode": "V14.1.1", + "Ordinal": 1, + "Description": "Verify that the application build and deployment processes are performed in a secure and repeatable way, such as CI / CD automation, automated configuration management, and automated deployment scripts.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V14.1.2", + "Ordinal": 2, + "Description": "Verify that compiler flags are configured to enable all available buffer overflow protections and warnings, including stack randomization, data execution prevention, and to break the build if an unsafe pointer, memory, format string, integer, or string operations are found.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 120 + ], + "NIST": [] + }, + { + "Shortcode": "V14.1.3", + "Ordinal": 3, + "Description": "Verify that server configuration is hardened as per the recommendations of the application server and frameworks in use.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 16 + ], + "NIST": [] + }, + { + "Shortcode": "V14.1.4", + "Ordinal": 4, + "Description": "Verify that the application, configuration, and all dependencies can be re-deployed using automated deployment scripts, built from a documented and tested runbook in a reasonable time, or restored from backups in a timely fashion.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V14.1.5", + "Ordinal": 5, + "Description": "Verify that authorized administrators can verify the integrity of all security-relevant configurations to detect tampering.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + } + ] + }, + { + "Shortcode": "V14.2", + "Ordinal": 2, + "Name": "Dependency", + "Items": [ + { + "Shortcode": "V14.2.1", + "Ordinal": 1, + "Description": "Verify that all components are up to date, preferably using a dependency checker during build or compile time. ([C2](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 1026 + ], + "NIST": [] + }, + { + "Shortcode": "V14.2.2", + "Ordinal": 2, + "Description": "Verify that all unneeded features, documentation, samples, configurations are removed, such as sample applications, platform documentation, and default or example users.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 1002 + ], + "NIST": [] + }, + { + "Shortcode": "V14.2.3", + "Ordinal": 3, + "Description": "Verify that if application assets, such as JavaScript libraries, CSS or web fonts, are hosted externally on a Content Delivery Network (CDN) or external provider, Subresource Integrity (SRI) is used to validate the integrity of the asset.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 829 + ], + "NIST": [] + }, + { + "Shortcode": "V14.2.4", + "Ordinal": 4, + "Description": "Verify that third party components come from pre-defined, trusted and continually maintained repositories. ([C2](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 829 + ], + "NIST": [] + }, + { + "Shortcode": "V14.2.5", + "Ordinal": 5, + "Description": "Verify that an inventory catalog is maintained of all third party libraries in use. ([C2](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V14.2.6", + "Ordinal": 6, + "Description": "Verify that the attack surface is reduced by sandboxing or encapsulating third party libraries to expose only the required behaviour into the application. ([C2](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 265 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V14.3", + "Ordinal": 3, + "Name": "Unintended Security Disclosure Requirements", + "Items": [ + { + "Shortcode": "V14.3.1", + "Ordinal": 1, + "Description": "Verify that web or application server and framework error messages are configured to deliver user actionable, customized responses to eliminate any unintended security disclosures.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 209 + ], + "NIST": [] + }, + { + "Shortcode": "V14.3.2", + "Ordinal": 2, + "Description": "Verify that web or application server and application framework debug modes are disabled in production to eliminate debug features, developer consoles, and unintended security disclosures.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 497 + ], + "NIST": [] + }, + { + "Shortcode": "V14.3.3", + "Ordinal": 3, + "Description": "Verify that the HTTP headers or any part of the HTTP response do not expose detailed version information of system components.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 200 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V14.4", + "Ordinal": 4, + "Name": "HTTP Security Headers Requirements", + "Items": [ + { + "Shortcode": "V14.4.1", + "Ordinal": 1, + "Description": "Verify that every HTTP response contains a Content-Type header. text/*, */*+xml and application/xml content types should also specify a safe character set (e.g., UTF-8, ISO-8859-1).", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 173 + ], + "NIST": [] + }, + { + "Shortcode": "V14.4.2", + "Ordinal": 2, + "Description": "Verify that all API responses contain a Content-Disposition: attachment; filename=\"api.json\" header (or other appropriate filename for the content type).", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 116 + ], + "NIST": [] + }, + { + "Shortcode": "V14.4.3", + "Ordinal": 3, + "Description": "Verify that a Content Security Policy (CSP) response header is in place that helps mitigate impact for XSS attacks like HTML, DOM, JSON, and JavaScript injection vulnerabilities.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 1021 + ], + "NIST": [] + }, + { + "Shortcode": "V14.4.4", + "Ordinal": 4, + "Description": "Verify that all responses contain a X-Content-Type-Options: nosniff header.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 116 + ], + "NIST": [] + }, + { + "Shortcode": "V14.4.5", + "Ordinal": 5, + "Description": "Verify that a Strict-Transport-Security header is included on all responses and for all subdomains, such as Strict-Transport-Security: max-age=15724800; includeSubdomains.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 523 + ], + "NIST": [] + }, + { + "Shortcode": "V14.4.6", + "Ordinal": 6, + "Description": "Verify that a suitable \"Referrer-Policy\" header is included, such as \"no-referrer\" or \"same-origin\".", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 116 + ], + "NIST": [] + }, + { + "Shortcode": "V14.4.7", + "Ordinal": 7, + "Description": "Verify that the content of a web application cannot be embedded in a third-party site by default and that embedding of the exact resources is only allowed where necessary by using suitable Content-Security-Policy: frame-ancestors and X-Frame-Options response headers.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 346 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V14.5", + "Ordinal": 5, + "Name": "Validate HTTP Request Header Requirements", + "Items": [ + { + "Shortcode": "V14.5.1", + "Ordinal": 1, + "Description": "Verify that the application server only accepts the HTTP methods in use by the application/API, including pre-flight OPTIONS, and logs/alerts on any requests that are not valid for the application context.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 749 + ], + "NIST": [] + }, + { + "Shortcode": "V14.5.2", + "Ordinal": 2, + "Description": "Verify that the supplied Origin header is not used for authentication or access control decisions, as the Origin header can easily be changed by an attacker.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 346 + ], + "NIST": [] + }, + { + "Shortcode": "V14.5.3", + "Ordinal": 3, + "Description": "Verify that the Cross-Origin Resource Sharing (CORS) Access-Control-Allow-Origin header uses a strict allow list of trusted domains and subdomains to match against and does not support the \"null\" origin.", + "L1": { + "Required": true, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 346 + ], + "NIST": [] + }, + { + "Shortcode": "V14.5.4", + "Ordinal": 4, + "Description": "Verify that HTTP headers added by a trusted proxy or SSO devices, such as a bearer token, are authenticated by the application.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "" + }, + "CWE": [ + 306 + ], + "NIST": [] + } + ] + } + ] + } + ] +} diff --git a/resources/OWASP.Application.Security.Verification.Standard.4.0.3-en.json b/resources/OWASP.Application.Security.Verification.Standard.4.0.3-en.json new file mode 100644 index 0000000..145627a --- /dev/null +++ b/resources/OWASP.Application.Security.Verification.Standard.4.0.3-en.json @@ -0,0 +1,6734 @@ +{ + "Name": "Application Security Verification Standard Project", + "ShortName": "ASVS", + "Version": "4.0.3", + "Description": "The Application Security Verification Standard is a list of application security requirements or tests that can be used by architects, developers, testers, security professionals, tool vendors, and consumers to define, build, test and verify secure applications.", + "Requirements": [ + { + "Shortcode": "V1", + "Ordinal": 1, + "ShortName": "Architecture", + "Name": "Architecture, Design and Threat Modeling", + "Items": [ + { + "Shortcode": "V1.1", + "Ordinal": 1, + "Name": "Secure Software Development Lifecycle", + "Items": [ + { + "Shortcode": "V1.1.1", + "Ordinal": 1, + "Description": "Verify the use of a secure software development lifecycle that addresses security in all stages of development. ([C1](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V1.1.2", + "Ordinal": 2, + "Description": "Verify the use of threat modeling for every design change or sprint planning to identify threats, plan for countermeasures, facilitate appropriate risk responses, and guide security testing.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 1053 + ], + "NIST": [] + }, + { + "Shortcode": "V1.1.3", + "Ordinal": 3, + "Description": "Verify that all user stories and features contain functional security constraints, such as \"As a user, I should be able to view and edit my profile. I should not be able to view or edit anyone else's profile\"", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 1110 + ], + "NIST": [] + }, + { + "Shortcode": "V1.1.4", + "Ordinal": 4, + "Description": "Verify documentation and justification of all the application's trust boundaries, components, and significant data flows.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 1059 + ], + "NIST": [] + }, + { + "Shortcode": "V1.1.5", + "Ordinal": 5, + "Description": "Verify definition and security analysis of the application's high-level architecture and all connected remote services. ([C1](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 1059 + ], + "NIST": [] + }, + { + "Shortcode": "V1.1.6", + "Ordinal": 6, + "Description": "Verify implementation of centralized, simple (economy of design), vetted, secure, and reusable security controls to avoid duplicate, missing, ineffective, or insecure controls. ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 637 + ], + "NIST": [] + }, + { + "Shortcode": "V1.1.7", + "Ordinal": 7, + "Description": "Verify availability of a secure coding checklist, security requirements, guideline, or policy to all developers and testers.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 637 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.2", + "Ordinal": 2, + "Name": "Authentication Architecture", + "Items": [ + { + "Shortcode": "V1.2.1", + "Ordinal": 1, + "Description": "Verify the use of unique or special low-privilege operating system accounts for all application components, services, and servers. ([C3](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 250 + ], + "NIST": [] + }, + { + "Shortcode": "V1.2.2", + "Ordinal": 2, + "Description": "Verify that communications between application components, including APIs, middleware and data layers, are authenticated. Components should have the least necessary privileges needed. ([C3](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 306 + ], + "NIST": [] + }, + { + "Shortcode": "V1.2.3", + "Ordinal": 3, + "Description": "Verify that the application uses a single vetted authentication mechanism that is known to be secure, can be extended to include strong authentication, and has sufficient logging and monitoring to detect account abuse or breaches.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 306 + ], + "NIST": [] + }, + { + "Shortcode": "V1.2.4", + "Ordinal": 4, + "Description": "Verify that all authentication pathways and identity management APIs implement consistent authentication security control strength, such that there are no weaker alternatives per the risk of the application.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 306 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.3", + "Ordinal": 3, + "Name": "Session Management Architecture", + "Items": [] + }, + { + "Shortcode": "V1.4", + "Ordinal": 4, + "Name": "Access Control Architecture", + "Items": [ + { + "Shortcode": "V1.4.1", + "Ordinal": 1, + "Description": "Verify that trusted enforcement points, such as access control gateways, servers, and serverless functions, enforce access controls. Never enforce access controls on the client.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 602 + ], + "NIST": [] + }, + { + "Shortcode": "V1.4.2", + "Ordinal": 2, + "Description": "[DELETED, NOT ACTIONABLE]", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": false, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V1.4.3", + "Ordinal": 3, + "Description": "[DELETED, DUPLICATE OF 4.1.3]", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": false, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V1.4.4", + "Ordinal": 4, + "Description": "Verify the application uses a single and well-vetted access control mechanism for accessing protected data and resources. All requests must pass through this single mechanism to avoid copy and paste or insecure alternative paths. ([C7](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 284 + ], + "NIST": [] + }, + { + "Shortcode": "V1.4.5", + "Ordinal": 5, + "Description": "Verify that attribute or feature-based access control is used whereby the code checks the user's authorization for a feature/data item rather than just their role. Permissions should still be allocated using roles. ([C7](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 275 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.5", + "Ordinal": 5, + "Name": "Input and Output Architecture", + "Items": [ + { + "Shortcode": "V1.5.1", + "Ordinal": 1, + "Description": "Verify that input and output requirements clearly define how to handle and process data based on type, content, and applicable laws, regulations, and other policy compliance.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 1029 + ], + "NIST": [] + }, + { + "Shortcode": "V1.5.2", + "Ordinal": 2, + "Description": "Verify that serialization is not used when communicating with untrusted clients. If this is not possible, ensure that adequate integrity controls (and possibly encryption if sensitive data is sent) are enforced to prevent deserialization attacks including object injection.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 502 + ], + "NIST": [] + }, + { + "Shortcode": "V1.5.3", + "Ordinal": 3, + "Description": "Verify that input validation is enforced on a trusted service layer. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 602 + ], + "NIST": [] + }, + { + "Shortcode": "V1.5.4", + "Ordinal": 4, + "Description": "Verify that output encoding occurs close to or by the interpreter for which it is intended. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 116 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.6", + "Ordinal": 6, + "Name": "Cryptographic Architecture", + "Items": [ + { + "Shortcode": "V1.6.1", + "Ordinal": 1, + "Description": "Verify that there is an explicit policy for management of cryptographic keys and that a cryptographic key lifecycle follows a key management standard such as NIST SP 800-57.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 320 + ], + "NIST": [] + }, + { + "Shortcode": "V1.6.2", + "Ordinal": 2, + "Description": "Verify that consumers of cryptographic services protect key material and other secrets by using key vaults or API based alternatives.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 320 + ], + "NIST": [] + }, + { + "Shortcode": "V1.6.3", + "Ordinal": 3, + "Description": "Verify that all keys and passwords are replaceable and are part of a well-defined process to re-encrypt sensitive data.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 320 + ], + "NIST": [] + }, + { + "Shortcode": "V1.6.4", + "Ordinal": 4, + "Description": "Verify that the architecture treats client-side secrets--such as symmetric keys, passwords, or API tokens--as insecure and never uses them to protect or access sensitive data.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 320 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.7", + "Ordinal": 7, + "Name": "Errors, Logging and Auditing Architecture", + "Items": [ + { + "Shortcode": "V1.7.1", + "Ordinal": 1, + "Description": "Verify that a common logging format and approach is used across the system. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 1009 + ], + "NIST": [] + }, + { + "Shortcode": "V1.7.2", + "Ordinal": 2, + "Description": "Verify that logs are securely transmitted to a preferably remote system for analysis, detection, alerting, and escalation. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.8", + "Ordinal": 8, + "Name": "Data Protection and Privacy Architecture", + "Items": [ + { + "Shortcode": "V1.8.1", + "Ordinal": 1, + "Description": "Verify that all sensitive data is identified and classified into protection levels.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V1.8.2", + "Ordinal": 2, + "Description": "Verify that all protection levels have an associated set of protection requirements, such as encryption requirements, integrity requirements, retention, privacy and other confidentiality requirements, and that these are applied in the architecture.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.9", + "Ordinal": 9, + "Name": "Communications Architecture", + "Items": [ + { + "Shortcode": "V1.9.1", + "Ordinal": 1, + "Description": "Verify the application encrypts communications between components, particularly when these components are in different containers, systems, sites, or cloud providers. ([C3](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 319 + ], + "NIST": [] + }, + { + "Shortcode": "V1.9.2", + "Ordinal": 2, + "Description": "Verify that application components verify the authenticity of each side in a communication link to prevent person-in-the-middle attacks. For example, application components should validate TLS certificates and chains.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 295 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.10", + "Ordinal": 10, + "Name": "Malicious Software Architecture", + "Items": [ + { + "Shortcode": "V1.10.1", + "Ordinal": 1, + "Description": "Verify that a source code control system is in use, with procedures to ensure that check-ins are accompanied by issues or change tickets. The source code control system should have access control and identifiable users to allow traceability of any changes.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 284 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.11", + "Ordinal": 11, + "Name": "Business Logic Architecture", + "Items": [ + { + "Shortcode": "V1.11.1", + "Ordinal": 1, + "Description": "Verify the definition and documentation of all application components in terms of the business or security functions they provide.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 1059 + ], + "NIST": [] + }, + { + "Shortcode": "V1.11.2", + "Ordinal": 2, + "Description": "Verify that all high-value business logic flows, including authentication, session management and access control, do not share unsynchronized state.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 362 + ], + "NIST": [] + }, + { + "Shortcode": "V1.11.3", + "Ordinal": 3, + "Description": "Verify that all high-value business logic flows, including authentication, session management and access control are thread safe and resistant to time-of-check and time-of-use race conditions.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 367 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.12", + "Ordinal": 12, + "Name": "Secure File Upload Architecture", + "Items": [ + { + "Shortcode": "V1.12.1", + "Ordinal": 1, + "Description": "[DELETED, DUPLICATE OF 12.4.1]", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": false, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V1.12.2", + "Ordinal": 2, + "Description": "Verify that user-uploaded files - if required to be displayed or downloaded from the application - are served by either octet stream downloads, or from an unrelated domain, such as a cloud file storage bucket. Implement a suitable Content Security Policy (CSP) to reduce the risk from XSS vectors or other attacks from the uploaded file.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 646 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V1.13", + "Ordinal": 13, + "Name": "API Architecture", + "Items": [] + }, + { + "Shortcode": "V1.14", + "Ordinal": 14, + "Name": "Configuration Architecture", + "Items": [ + { + "Shortcode": "V1.14.1", + "Ordinal": 1, + "Description": "Verify the segregation of components of differing trust levels through well-defined security controls, firewall rules, API gateways, reverse proxies, cloud-based security groups, or similar mechanisms.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 923 + ], + "NIST": [] + }, + { + "Shortcode": "V1.14.2", + "Ordinal": 2, + "Description": "Verify that binary signatures, trusted connections, and verified endpoints are used to deploy binaries to remote devices.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 494 + ], + "NIST": [] + }, + { + "Shortcode": "V1.14.3", + "Ordinal": 3, + "Description": "Verify that the build pipeline warns of out-of-date or insecure components and takes appropriate actions.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 1104 + ], + "NIST": [] + }, + { + "Shortcode": "V1.14.4", + "Ordinal": 4, + "Description": "Verify that the build pipeline contains a build step to automatically build and verify the secure deployment of the application, particularly if the application infrastructure is software defined, such as cloud environment build scripts.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V1.14.5", + "Ordinal": 5, + "Description": "Verify that application deployments adequately sandbox, containerize and/or isolate at the network level to delay and deter attackers from attacking other applications, especially when they are performing sensitive or dangerous actions such as deserialization. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 265 + ], + "NIST": [] + }, + { + "Shortcode": "V1.14.6", + "Ordinal": 6, + "Description": "Verify the application does not use unsupported, insecure, or deprecated client-side technologies such as NSAPI plugins, Flash, Shockwave, ActiveX, Silverlight, NACL, or client-side Java applets.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 477 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V2", + "Ordinal": 2, + "ShortName": "Authentication", + "Name": "Authentication", + "Items": [ + { + "Shortcode": "V2.1", + "Ordinal": 1, + "Name": "Password Security", + "Items": [ + { + "Shortcode": "V2.1.1", + "Ordinal": 1, + "Description": "Verify that user set passwords are at least 12 characters in length (after multiple spaces are combined). ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.2", + "Ordinal": 2, + "Description": "Verify that passwords of at least 64 characters are permitted, and that passwords of more than 128 characters are denied. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.3", + "Ordinal": 3, + "Description": "Verify that password truncation is not performed. However, consecutive multiple spaces may be replaced by a single space. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.4", + "Ordinal": 4, + "Description": "Verify that any printable Unicode character, including language neutral characters such as spaces and Emojis are permitted in passwords.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.5", + "Ordinal": 5, + "Description": "Verify users can change their password.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 620 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.6", + "Ordinal": 6, + "Description": "Verify that password change functionality requires the user's current and new password.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 620 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.7", + "Ordinal": 7, + "Description": "Verify that passwords submitted during account registration, login, and password change are checked against a set of breached passwords either locally (such as the top 1,000 or 10,000 most common passwords which match the system's password policy) or using an external API. If using an API a zero knowledge proof or other mechanism should be used to ensure that the plain text password is not sent or used in verifying the breach status of the password. If the password is breached, the application must require the user to set a new non-breached password. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.8", + "Ordinal": 8, + "Description": "Verify that a password strength meter is provided to help users set a stronger password.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.9", + "Ordinal": 9, + "Description": "Verify that there are no password composition rules limiting the type of characters permitted. There should be no requirement for upper or lower case or numbers or special characters. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.10", + "Ordinal": 10, + "Description": "Verify that there are no periodic credential rotation or password history requirements.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 263 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.11", + "Ordinal": 11, + "Description": "Verify that \"paste\" functionality, browser password helpers, and external password managers are permitted.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.1.12", + "Ordinal": 12, + "Description": "Verify that the user can choose to either temporarily view the entire masked password, or temporarily view the last typed character of the password on platforms that do not have this as built-in functionality.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 521 + ], + "NIST": [ + "5.1.1.2" + ] + } + ] + }, + { + "Shortcode": "V2.2", + "Ordinal": 2, + "Name": "General Authenticator Security", + "Items": [ + { + "Shortcode": "V2.2.1", + "Ordinal": 1, + "Description": "Verify that anti-automation controls are effective at mitigating breached credential testing, brute force, and account lockout attacks. Such controls include blocking the most common breached passwords, soft lockouts, rate limiting, CAPTCHA, ever increasing delays between attempts, IP address restrictions, or risk-based restrictions such as location, first login on a device, recent attempts to unlock the account, or similar. Verify that no more than 100 failed attempts per hour is possible on a single account.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 307 + ], + "NIST": [ + "5.2.2", + "5.1.1.2", + "5.1.4.2", + "5.1.5.2" + ] + }, + { + "Shortcode": "V2.2.2", + "Ordinal": 2, + "Description": "Verify that the use of weak authenticators (such as SMS and email) is limited to secondary verification and transaction approval and not as a replacement for more secure authentication methods. Verify that stronger methods are offered before weak methods, users are aware of the risks, or that proper measures are in place to limit the risks of account compromise.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 304 + ], + "NIST": [ + "5.2.10" + ] + }, + { + "Shortcode": "V2.2.3", + "Ordinal": 3, + "Description": "Verify that secure notifications are sent to users after updates to authentication details, such as credential resets, email or address changes, logging in from unknown or risky locations. The use of push notifications - rather than SMS or email - is preferred, but in the absence of push notifications, SMS or email is acceptable as long as no sensitive information is disclosed in the notification.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 620 + ], + "NIST": [] + }, + { + "Shortcode": "V2.2.4", + "Ordinal": 4, + "Description": "Verify impersonation resistance against phishing, such as the use of multi-factor authentication, cryptographic devices with intent (such as connected keys with a push to authenticate), or at higher AAL levels, client-side certificates.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 308 + ], + "NIST": [ + "5.2.5" + ] + }, + { + "Shortcode": "V2.2.5", + "Ordinal": 5, + "Description": "Verify that where a Credential Service Provider (CSP) and the application verifying authentication are separated, mutually authenticated TLS is in place between the two endpoints.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 319 + ], + "NIST": [ + "5.2.6" + ] + }, + { + "Shortcode": "V2.2.6", + "Ordinal": 6, + "Description": "Verify replay resistance through the mandated use of One-time Passwords (OTP) devices, cryptographic authenticators, or lookup codes.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 308 + ], + "NIST": [ + "5.2.8" + ] + }, + { + "Shortcode": "V2.2.7", + "Ordinal": 7, + "Description": "Verify intent to authenticate by requiring the entry of an OTP token or user-initiated action such as a button press on a FIDO hardware key.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 308 + ], + "NIST": [ + "5.2.9" + ] + } + ] + }, + { + "Shortcode": "V2.3", + "Ordinal": 3, + "Name": "Authenticator Lifecycle", + "Items": [ + { + "Shortcode": "V2.3.1", + "Ordinal": 1, + "Description": "Verify system generated initial passwords or activation codes SHOULD be securely randomly generated, SHOULD be at least 6 characters long, and MAY contain letters and numbers, and expire after a short period of time. These initial secrets must not be permitted to become the long term password.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 330 + ], + "NIST": [ + "5.1.1.2", + "A.3" + ] + }, + { + "Shortcode": "V2.3.2", + "Ordinal": 2, + "Description": "Verify that enrollment and use of user-provided authentication devices are supported, such as a U2F or FIDO tokens.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 308 + ], + "NIST": [ + "6.1.3" + ] + }, + { + "Shortcode": "V2.3.3", + "Ordinal": 3, + "Description": "Verify that renewal instructions are sent with sufficient time to renew time bound authenticators.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 287 + ], + "NIST": [ + "6.1.4" + ] + } + ] + }, + { + "Shortcode": "V2.4", + "Ordinal": 4, + "Name": "Credential Storage", + "Items": [ + { + "Shortcode": "V2.4.1", + "Ordinal": 1, + "Description": "Verify that passwords are stored in a form that is resistant to offline attacks. Passwords SHALL be salted and hashed using an approved one-way key derivation or password hashing function. Key derivation and password hashing functions take a password, a salt, and a cost factor as inputs when generating a password hash. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 916 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.4.2", + "Ordinal": 2, + "Description": "Verify that the salt is at least 32 bits in length and be chosen arbitrarily to minimize salt value collisions among stored hashes. For each credential, a unique salt value and the resulting hash SHALL be stored. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 916 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.4.3", + "Ordinal": 3, + "Description": "Verify that if PBKDF2 is used, the iteration count SHOULD be as large as verification server performance will allow, typically at least 100,000 iterations. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 916 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.4.4", + "Ordinal": 4, + "Description": "Verify that if bcrypt is used, the work factor SHOULD be as large as verification server performance will allow, with a minimum of 10. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 916 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.4.5", + "Ordinal": 5, + "Description": "Verify that an additional iteration of a key derivation function is performed, using a salt value that is secret and known only to the verifier. Generate the salt value using an approved random bit generator [SP 800-90Ar1] and provide at least the minimum security strength specified in the latest revision of SP 800-131A. The secret salt value SHALL be stored separately from the hashed passwords (e.g., in a specialized device like a hardware security module).", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 916 + ], + "NIST": [ + "5.1.1.2" + ] + } + ] + }, + { + "Shortcode": "V2.5", + "Ordinal": 5, + "Name": "Credential Recovery", + "Items": [ + { + "Shortcode": "V2.5.1", + "Ordinal": 1, + "Description": "Verify that a system generated initial activation or recovery secret is not sent in clear text to the user. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 640 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.5.2", + "Ordinal": 2, + "Description": "Verify password hints or knowledge-based authentication (so-called \"secret questions\") are not present.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 640 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.5.3", + "Ordinal": 3, + "Description": "Verify password credential recovery does not reveal the current password in any way. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 640 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.5.4", + "Ordinal": 4, + "Description": "Verify shared or default accounts are not present (e.g. \"root\", \"admin\", or \"sa\").", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 16 + ], + "NIST": [ + "5.1.1.2", + "A.3" + ] + }, + { + "Shortcode": "V2.5.5", + "Ordinal": 5, + "Description": "Verify that if an authentication factor is changed or replaced, that the user is notified of this event.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 304 + ], + "NIST": [ + "6.1.2.3" + ] + }, + { + "Shortcode": "V2.5.6", + "Ordinal": 6, + "Description": "Verify forgotten password, and other recovery paths use a secure recovery mechanism, such as time-based OTP (TOTP) or other soft token, mobile push, or another offline recovery mechanism. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 640 + ], + "NIST": [ + "5.1.1.2" + ] + }, + { + "Shortcode": "V2.5.7", + "Ordinal": 7, + "Description": "Verify that if OTP or multi-factor authentication factors are lost, that evidence of identity proofing is performed at the same level as during enrollment.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 308 + ], + "NIST": [ + "6.1.2.3" + ] + } + ] + }, + { + "Shortcode": "V2.6", + "Ordinal": 6, + "Name": "Look-up Secret Verifier", + "Items": [ + { + "Shortcode": "V2.6.1", + "Ordinal": 1, + "Description": "Verify that lookup secrets can be used only once.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 308 + ], + "NIST": [ + "5.1.2.2" + ] + }, + { + "Shortcode": "V2.6.2", + "Ordinal": 2, + "Description": "Verify that lookup secrets have sufficient randomness (112 bits of entropy), or if less than 112 bits of entropy, salted with a unique and random 32-bit salt and hashed with an approved one-way hash.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 330 + ], + "NIST": [ + "5.1.2.2" + ] + }, + { + "Shortcode": "V2.6.3", + "Ordinal": 3, + "Description": "Verify that lookup secrets are resistant to offline attacks, such as predictable values.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 310 + ], + "NIST": [ + "5.1.2.2" + ] + } + ] + }, + { + "Shortcode": "V2.7", + "Ordinal": 7, + "Name": "Out of Band Verifier", + "Items": [ + { + "Shortcode": "V2.7.1", + "Ordinal": 1, + "Description": "Verify that clear text out of band (NIST \"restricted\") authenticators, such as SMS or PSTN, are not offered by default, and stronger alternatives such as push notifications are offered first.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 287 + ], + "NIST": [ + "5.1.3.2" + ] + }, + { + "Shortcode": "V2.7.2", + "Ordinal": 2, + "Description": "Verify that the out of band verifier expires out of band authentication requests, codes, or tokens after 10 minutes.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 287 + ], + "NIST": [ + "5.1.3.2" + ] + }, + { + "Shortcode": "V2.7.3", + "Ordinal": 3, + "Description": "Verify that the out of band verifier authentication requests, codes, or tokens are only usable once, and only for the original authentication request.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 287 + ], + "NIST": [ + "5.1.3.2" + ] + }, + { + "Shortcode": "V2.7.4", + "Ordinal": 4, + "Description": "Verify that the out of band authenticator and verifier communicates over a secure independent channel.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 523 + ], + "NIST": [ + "5.1.3.2" + ] + }, + { + "Shortcode": "V2.7.5", + "Ordinal": 5, + "Description": "Verify that the out of band verifier retains only a hashed version of the authentication code.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 256 + ], + "NIST": [ + "5.1.3.2" + ] + }, + { + "Shortcode": "V2.7.6", + "Ordinal": 6, + "Description": "Verify that the initial authentication code is generated by a secure random number generator, containing at least 20 bits of entropy (typically a six digital random number is sufficient).", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 310 + ], + "NIST": [ + "5.1.3.2" + ] + } + ] + }, + { + "Shortcode": "V2.8", + "Ordinal": 8, + "Name": "One Time Verifier", + "Items": [ + { + "Shortcode": "V2.8.1", + "Ordinal": 1, + "Description": "Verify that time-based OTPs have a defined lifetime before expiring.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 613 + ], + "NIST": [ + "5.1.4.2", + "5.1.5.2" + ] + }, + { + "Shortcode": "V2.8.2", + "Ordinal": 2, + "Description": "Verify that symmetric keys used to verify submitted OTPs are highly protected, such as by using a hardware security module or secure operating system based key storage.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 320 + ], + "NIST": [ + "5.1.4.2", + "5.1.5.2" + ] + }, + { + "Shortcode": "V2.8.3", + "Ordinal": 3, + "Description": "Verify that approved cryptographic algorithms are used in the generation, seeding, and verification of OTPs.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 326 + ], + "NIST": [ + "5.1.4.2", + "5.1.5.2" + ] + }, + { + "Shortcode": "V2.8.4", + "Ordinal": 4, + "Description": "Verify that time-based OTP can be used only once within the validity period.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 287 + ], + "NIST": [ + "5.1.4.2", + "5.1.5.2" + ] + }, + { + "Shortcode": "V2.8.5", + "Ordinal": 5, + "Description": "Verify that if a time-based multi-factor OTP token is re-used during the validity period, it is logged and rejected with secure notifications being sent to the holder of the device.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 287 + ], + "NIST": [ + "5.1.5.2" + ] + }, + { + "Shortcode": "V2.8.6", + "Ordinal": 6, + "Description": "Verify physical single-factor OTP generator can be revoked in case of theft or other loss. Ensure that revocation is immediately effective across logged in sessions, regardless of location.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 613 + ], + "NIST": [ + "5.2.1" + ] + }, + { + "Shortcode": "V2.8.7", + "Ordinal": 7, + "Description": "Verify that biometric authenticators are limited to use only as secondary factors in conjunction with either something you have and something you know.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "Optional" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 308 + ], + "NIST": [ + "5.2.3" + ] + } + ] + }, + { + "Shortcode": "V2.9", + "Ordinal": 9, + "Name": "Cryptographic Verifier", + "Items": [ + { + "Shortcode": "V2.9.1", + "Ordinal": 1, + "Description": "Verify that cryptographic keys used in verification are stored securely and protected against disclosure, such as using a Trusted Platform Module (TPM) or Hardware Security Module (HSM), or an OS service that can use this secure storage.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 320 + ], + "NIST": [ + "5.1.7.2" + ] + }, + { + "Shortcode": "V2.9.2", + "Ordinal": 2, + "Description": "Verify that the challenge nonce is at least 64 bits in length, and statistically unique or unique over the lifetime of the cryptographic device.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 330 + ], + "NIST": [ + "5.1.7.2" + ] + }, + { + "Shortcode": "V2.9.3", + "Ordinal": 3, + "Description": "Verify that approved cryptographic algorithms are used in the generation, seeding, and verification.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 327 + ], + "NIST": [ + "5.1.7.2" + ] + } + ] + }, + { + "Shortcode": "V2.10", + "Ordinal": 10, + "Name": "Service Authentication", + "Items": [ + { + "Shortcode": "V2.10.1", + "Ordinal": 1, + "Description": "Verify that intra-service secrets do not rely on unchanging credentials such as passwords, API keys or shared accounts with privileged access.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "OS assisted" + }, + "L3": { + "Required": true, + "Requirement": "HSM" + }, + "CWE": [ + 287 + ], + "NIST": [ + "5.1.1.1" + ] + }, + { + "Shortcode": "V2.10.2", + "Ordinal": 2, + "Description": "Verify that if passwords are required for service authentication, the service account used is not a default credential. (e.g. root/root or admin/admin are default in some services during installation).", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "OS assisted" + }, + "L3": { + "Required": true, + "Requirement": "HSM" + }, + "CWE": [ + 255 + ], + "NIST": [ + "5.1.1.1" + ] + }, + { + "Shortcode": "V2.10.3", + "Ordinal": 3, + "Description": "Verify that passwords are stored with sufficient protection to prevent offline recovery attacks, including local system access.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "OS assisted" + }, + "L3": { + "Required": true, + "Requirement": "HSM" + }, + "CWE": [ + 522 + ], + "NIST": [ + "5.1.1.1" + ] + }, + { + "Shortcode": "V2.10.4", + "Ordinal": 4, + "Description": "Verify passwords, integrations with databases and third-party systems, seeds and internal secrets, and API keys are managed securely and not included in the source code or stored within source code repositories. Such storage SHOULD resist offline attacks. The use of a secure software key store (L1), hardware TPM, or an HSM (L3) is recommended for password storage.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "OS assisted" + }, + "L3": { + "Required": true, + "Requirement": "HSM" + }, + "CWE": [ + 798 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V3", + "Ordinal": 3, + "ShortName": "Session", + "Name": "Session Management", + "Items": [ + { + "Shortcode": "V3.1", + "Ordinal": 1, + "Name": "Fundamental Session Management Security", + "Items": [ + { + "Shortcode": "V3.1.1", + "Ordinal": 1, + "Description": "Verify the application never reveals session tokens in URL parameters.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 598 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V3.2", + "Ordinal": 2, + "Name": "Session Binding", + "Items": [ + { + "Shortcode": "V3.2.1", + "Ordinal": 1, + "Description": "Verify the application generates a new session token on user authentication. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 384 + ], + "NIST": [ + "7.1" + ] + }, + { + "Shortcode": "V3.2.2", + "Ordinal": 2, + "Description": "Verify that session tokens possess at least 64 bits of entropy. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 331 + ], + "NIST": [ + "7.1" + ] + }, + { + "Shortcode": "V3.2.3", + "Ordinal": 3, + "Description": "Verify the application only stores session tokens in the browser using secure methods such as appropriately secured cookies (see section 3.4) or HTML 5 session storage.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 539 + ], + "NIST": [ + "7.1" + ] + }, + { + "Shortcode": "V3.2.4", + "Ordinal": 4, + "Description": "Verify that session tokens are generated using approved cryptographic algorithms. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 331 + ], + "NIST": [ + "7.1" + ] + } + ] + }, + { + "Shortcode": "V3.3", + "Ordinal": 3, + "Name": "Session Termination", + "Items": [ + { + "Shortcode": "V3.3.1", + "Ordinal": 1, + "Description": "Verify that logout and expiration invalidate the session token, such that the back button or a downstream relying party does not resume an authenticated session, including across relying parties. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 613 + ], + "NIST": [ + "7.1" + ] + }, + { + "Shortcode": "V3.3.2", + "Ordinal": 2, + "Description": "If authenticators permit users to remain logged in, verify that re-authentication occurs periodically both when actively used or after an idle period. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "30 days" + }, + "L2": { + "Required": true, + "Requirement": "12 hours or 30 minutes of inactivity, 2FA optional" + }, + "L3": { + "Required": true, + "Requirement": "12 hours or 15 minutes of inactivity, with 2FA" + }, + "CWE": [ + 613 + ], + "NIST": [ + "7.2" + ] + }, + { + "Shortcode": "V3.3.3", + "Ordinal": 3, + "Description": "Verify that the application gives the option to terminate all other active sessions after a successful password change (including change via password reset/recovery), and that this is effective across the application, federated login (if present), and any relying parties.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 613 + ], + "NIST": [] + }, + { + "Shortcode": "V3.3.4", + "Ordinal": 4, + "Description": "Verify that users are able to view and (having re-entered login credentials) log out of any or all currently active sessions and devices.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 613 + ], + "NIST": [ + "7.1" + ] + } + ] + }, + { + "Shortcode": "V3.4", + "Ordinal": 4, + "Name": "Cookie-based Session Management", + "Items": [ + { + "Shortcode": "V3.4.1", + "Ordinal": 1, + "Description": "Verify that cookie-based session tokens have the 'Secure' attribute set. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 614 + ], + "NIST": [ + "7.1.1" + ] + }, + { + "Shortcode": "V3.4.2", + "Ordinal": 2, + "Description": "Verify that cookie-based session tokens have the 'HttpOnly' attribute set. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 1004 + ], + "NIST": [ + "7.1.1" + ] + }, + { + "Shortcode": "V3.4.3", + "Ordinal": 3, + "Description": "Verify that cookie-based session tokens utilize the 'SameSite' attribute to limit exposure to cross-site request forgery attacks. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 1275 + ], + "NIST": [ + "7.1.1" + ] + }, + { + "Shortcode": "V3.4.4", + "Ordinal": 4, + "Description": "Verify that cookie-based session tokens use the \"__Host-\" prefix so cookies are only sent to the host that initially set the cookie.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 16 + ], + "NIST": [ + "7.1.1" + ] + }, + { + "Shortcode": "V3.4.5", + "Ordinal": 5, + "Description": "Verify that if the application is published under a domain name with other applications that set or use session cookies that might disclose the session cookies, set the path attribute in cookie-based session tokens using the most precise path possible. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 16 + ], + "NIST": [ + "7.1.1" + ] + } + ] + }, + { + "Shortcode": "V3.5", + "Ordinal": 5, + "Name": "Token-based Session Management", + "Items": [ + { + "Shortcode": "V3.5.1", + "Ordinal": 1, + "Description": "Verify the application allows users to revoke OAuth tokens that form trust relationships with linked applications.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 290 + ], + "NIST": [ + "7.1.2" + ] + }, + { + "Shortcode": "V3.5.2", + "Ordinal": 2, + "Description": "Verify the application uses session tokens rather than static API secrets and keys, except with legacy implementations.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 798 + ], + "NIST": [] + }, + { + "Shortcode": "V3.5.3", + "Ordinal": 3, + "Description": "Verify that stateless session tokens use digital signatures, encryption, and other countermeasures to protect against tampering, enveloping, replay, null cipher, and key substitution attacks.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 345 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V3.6", + "Ordinal": 6, + "Name": "Federated Re-authentication", + "Items": [ + { + "Shortcode": "V3.6.1", + "Ordinal": 1, + "Description": "Verify that Relying Parties (RPs) specify the maximum authentication time to Credential Service Providers (CSPs) and that CSPs re-authenticate the user if they haven't used a session within that period.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 613 + ], + "NIST": [ + "7.2.1" + ] + }, + { + "Shortcode": "V3.6.2", + "Ordinal": 2, + "Description": "Verify that Credential Service Providers (CSPs) inform Relying Parties (RPs) of the last authentication event, to allow RPs to determine if they need to re-authenticate the user.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 613 + ], + "NIST": [ + "7.2.1" + ] + } + ] + }, + { + "Shortcode": "V3.7", + "Ordinal": 7, + "Name": "Defenses Against Session Management Exploits", + "Items": [ + { + "Shortcode": "V3.7.1", + "Ordinal": 1, + "Description": "Verify the application ensures a full, valid login session or requires re-authentication or secondary verification before allowing any sensitive transactions or account modifications.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 306 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V4", + "Ordinal": 4, + "ShortName": "Access", + "Name": "Access Control", + "Items": [ + { + "Shortcode": "V4.1", + "Ordinal": 1, + "Name": "General Access Control Design", + "Items": [ + { + "Shortcode": "V4.1.1", + "Ordinal": 1, + "Description": "Verify that the application enforces access control rules on a trusted service layer, especially if client-side access control is present and could be bypassed.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 602 + ], + "NIST": [] + }, + { + "Shortcode": "V4.1.2", + "Ordinal": 2, + "Description": "Verify that all user and data attributes and policy information used by access controls cannot be manipulated by end users unless specifically authorized.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 639 + ], + "NIST": [] + }, + { + "Shortcode": "V4.1.3", + "Ordinal": 3, + "Description": "Verify that the principle of least privilege exists - users should only be able to access functions, data files, URLs, controllers, services, and other resources, for which they possess specific authorization. This implies protection against spoofing and elevation of privilege. ([C7](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 285 + ], + "NIST": [] + }, + { + "Shortcode": "V4.1.4", + "Ordinal": 4, + "Description": "[DELETED, DUPLICATE OF 4.1.3]", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": false, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V4.1.5", + "Ordinal": 5, + "Description": "Verify that access controls fail securely including when an exception occurs. ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 285 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V4.2", + "Ordinal": 2, + "Name": "Operation Level Access Control", + "Items": [ + { + "Shortcode": "V4.2.1", + "Ordinal": 1, + "Description": "Verify that sensitive data and APIs are protected against Insecure Direct Object Reference (IDOR) attacks targeting creation, reading, updating and deletion of records, such as creating or updating someone else's record, viewing everyone's records, or deleting all records.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 639 + ], + "NIST": [] + }, + { + "Shortcode": "V4.2.2", + "Ordinal": 2, + "Description": "Verify that the application or framework enforces a strong anti-CSRF mechanism to protect authenticated functionality, and effective anti-automation or anti-CSRF protects unauthenticated functionality.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 352 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V4.3", + "Ordinal": 3, + "Name": "Other Access Control Considerations", + "Items": [ + { + "Shortcode": "V4.3.1", + "Ordinal": 1, + "Description": "Verify administrative interfaces use appropriate multi-factor authentication to prevent unauthorized use.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 419 + ], + "NIST": [] + }, + { + "Shortcode": "V4.3.2", + "Ordinal": 2, + "Description": "Verify that directory browsing is disabled unless deliberately desired. Additionally, applications should not allow discovery or disclosure of file or directory metadata, such as Thumbs.db, .DS_Store, .git or .svn folders.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 548 + ], + "NIST": [] + }, + { + "Shortcode": "V4.3.3", + "Ordinal": 3, + "Description": "Verify the application has additional authorization (such as step up or adaptive authentication) for lower value systems, and / or segregation of duties for high value applications to enforce anti-fraud controls as per the risk of application and past fraud.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 732 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V5", + "Ordinal": 5, + "ShortName": "Validation", + "Name": "Validation, Sanitization and Encoding", + "Items": [ + { + "Shortcode": "V5.1", + "Ordinal": 1, + "Name": "Input Validation", + "Items": [ + { + "Shortcode": "V5.1.1", + "Ordinal": 1, + "Description": "Verify that the application has defenses against HTTP parameter pollution attacks, particularly if the application framework makes no distinction about the source of request parameters (GET, POST, cookies, headers, or environment variables).", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 235 + ], + "NIST": [] + }, + { + "Shortcode": "V5.1.2", + "Ordinal": 2, + "Description": "Verify that frameworks protect against mass parameter assignment attacks, or that the application has countermeasures to protect against unsafe parameter assignment, such as marking fields private or similar. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 915 + ], + "NIST": [] + }, + { + "Shortcode": "V5.1.3", + "Ordinal": 3, + "Description": "Verify that all input (HTML form fields, REST requests, URL parameters, HTTP headers, cookies, batch files, RSS feeds, etc) is validated using positive validation (allow lists). ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 20 + ], + "NIST": [] + }, + { + "Shortcode": "V5.1.4", + "Ordinal": 4, + "Description": "Verify that structured data is strongly typed and validated against a defined schema including allowed characters, length and pattern (e.g. credit card numbers, e-mail addresses, telephone numbers, or validating that two related fields are reasonable, such as checking that suburb and zip/postcode match). ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 20 + ], + "NIST": [] + }, + { + "Shortcode": "V5.1.5", + "Ordinal": 5, + "Description": "Verify that URL redirects and forwards only allow destinations which appear on an allow list, or show a warning when redirecting to potentially untrusted content.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 601 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V5.2", + "Ordinal": 2, + "Name": "Sanitization and Sandboxing", + "Items": [ + { + "Shortcode": "V5.2.1", + "Ordinal": 1, + "Description": "Verify that all untrusted HTML input from WYSIWYG editors or similar is properly sanitized with an HTML sanitizer library or framework feature. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 116 + ], + "NIST": [] + }, + { + "Shortcode": "V5.2.2", + "Ordinal": 2, + "Description": "Verify that unstructured data is sanitized to enforce safety measures such as allowed characters and length.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 138 + ], + "NIST": [] + }, + { + "Shortcode": "V5.2.3", + "Ordinal": 3, + "Description": "Verify that the application sanitizes user input before passing to mail systems to protect against SMTP or IMAP injection.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 147 + ], + "NIST": [] + }, + { + "Shortcode": "V5.2.4", + "Ordinal": 4, + "Description": "Verify that the application avoids the use of eval() or other dynamic code execution features. Where there is no alternative, any user input being included must be sanitized or sandboxed before being executed.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 95 + ], + "NIST": [] + }, + { + "Shortcode": "V5.2.5", + "Ordinal": 5, + "Description": "Verify that the application protects against template injection attacks by ensuring that any user input being included is sanitized or sandboxed.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 94 + ], + "NIST": [] + }, + { + "Shortcode": "V5.2.6", + "Ordinal": 6, + "Description": "Verify that the application protects against SSRF attacks, by validating or sanitizing untrusted data or HTTP file metadata, such as filenames and URL input fields, and uses allow lists of protocols, domains, paths and ports.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 918 + ], + "NIST": [] + }, + { + "Shortcode": "V5.2.7", + "Ordinal": 7, + "Description": "Verify that the application sanitizes, disables, or sandboxes user-supplied Scalable Vector Graphics (SVG) scriptable content, especially as they relate to XSS resulting from inline scripts, and foreignObject.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 159 + ], + "NIST": [] + }, + { + "Shortcode": "V5.2.8", + "Ordinal": 8, + "Description": "Verify that the application sanitizes, disables, or sandboxes user-supplied scriptable or expression template language content, such as Markdown, CSS or XSL stylesheets, BBCode, or similar.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 94 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V5.3", + "Ordinal": 3, + "Name": "Output Encoding and Injection Prevention", + "Items": [ + { + "Shortcode": "V5.3.1", + "Ordinal": 1, + "Description": "Verify that output encoding is relevant for the interpreter and context required. For example, use encoders specifically for HTML values, HTML attributes, JavaScript, URL parameters, HTTP headers, SMTP, and others as the context requires, especially from untrusted inputs (e.g. names with Unicode or apostrophes, such as ねこ or O'Hara). ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 116 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.2", + "Ordinal": 2, + "Description": "Verify that output encoding preserves the user's chosen character set and locale, such that any Unicode character point is valid and safely handled. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 176 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.3", + "Ordinal": 3, + "Description": "Verify that context-aware, preferably automated - or at worst, manual - output escaping protects against reflected, stored, and DOM based XSS. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 79 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.4", + "Ordinal": 4, + "Description": "Verify that data selection or database queries (e.g. SQL, HQL, ORM, NoSQL) use parameterized queries, ORMs, entity frameworks, or are otherwise protected from database injection attacks. ([C3](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 89 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.5", + "Ordinal": 5, + "Description": "Verify that where parameterized or safer mechanisms are not present, context-specific output encoding is used to protect against injection attacks, such as the use of SQL escaping to protect against SQL injection. ([C3, C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 89 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.6", + "Ordinal": 6, + "Description": "Verify that the application protects against JSON injection attacks, JSON eval attacks, and JavaScript expression evaluation. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 830 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.7", + "Ordinal": 7, + "Description": "Verify that the application protects against LDAP injection vulnerabilities, or that specific security controls to prevent LDAP injection have been implemented. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 90 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.8", + "Ordinal": 8, + "Description": "Verify that the application protects against OS command injection and that operating system calls use parameterized OS queries or use contextual command line output encoding. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 78 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.9", + "Ordinal": 9, + "Description": "Verify that the application protects against Local File Inclusion (LFI) or Remote File Inclusion (RFI) attacks.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 829 + ], + "NIST": [] + }, + { + "Shortcode": "V5.3.10", + "Ordinal": 10, + "Description": "Verify that the application protects against XPath injection or XML injection attacks. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 643 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V5.4", + "Ordinal": 4, + "Name": "Memory, String, and Unmanaged Code", + "Items": [ + { + "Shortcode": "V5.4.1", + "Ordinal": 1, + "Description": "Verify that the application uses memory-safe string, safer memory copy and pointer arithmetic to detect or prevent stack, buffer, or heap overflows.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 120 + ], + "NIST": [] + }, + { + "Shortcode": "V5.4.2", + "Ordinal": 2, + "Description": "Verify that format strings do not take potentially hostile input, and are constant.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 134 + ], + "NIST": [] + }, + { + "Shortcode": "V5.4.3", + "Ordinal": 3, + "Description": "Verify that sign, range, and input validation techniques are used to prevent integer overflows.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 190 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V5.5", + "Ordinal": 5, + "Name": "Deserialization Prevention", + "Items": [ + { + "Shortcode": "V5.5.1", + "Ordinal": 1, + "Description": "Verify that serialized objects use integrity checks or are encrypted to prevent hostile object creation or data tampering. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 502 + ], + "NIST": [] + }, + { + "Shortcode": "V5.5.2", + "Ordinal": 2, + "Description": "Verify that the application correctly restricts XML parsers to only use the most restrictive configuration possible and to ensure that unsafe features such as resolving external entities are disabled to prevent XML eXternal Entity (XXE) attacks.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 611 + ], + "NIST": [] + }, + { + "Shortcode": "V5.5.3", + "Ordinal": 3, + "Description": "Verify that deserialization of untrusted data is avoided or is protected in both custom code and third-party libraries (such as JSON, XML and YAML parsers).", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 502 + ], + "NIST": [] + }, + { + "Shortcode": "V5.5.4", + "Ordinal": 4, + "Description": "Verify that when parsing JSON in browsers or JavaScript-based backends, JSON.parse is used to parse the JSON document. Do not use eval() to parse JSON.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 95 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V6", + "Ordinal": 6, + "ShortName": "Cryptography", + "Name": "Stored Cryptography", + "Items": [ + { + "Shortcode": "V6.1", + "Ordinal": 1, + "Name": "Data Classification", + "Items": [ + { + "Shortcode": "V6.1.1", + "Ordinal": 1, + "Description": "Verify that regulated private data is stored encrypted while at rest, such as Personally Identifiable Information (PII), sensitive personal information, or data assessed likely to be subject to EU's GDPR.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 311 + ], + "NIST": [] + }, + { + "Shortcode": "V6.1.2", + "Ordinal": 2, + "Description": "Verify that regulated health data is stored encrypted while at rest, such as medical records, medical device details, or de-anonymized research records.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 311 + ], + "NIST": [] + }, + { + "Shortcode": "V6.1.3", + "Ordinal": 3, + "Description": "Verify that regulated financial data is stored encrypted while at rest, such as financial accounts, defaults or credit history, tax records, pay history, beneficiaries, or de-anonymized market or research records.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 311 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V6.2", + "Ordinal": 2, + "Name": "Algorithms", + "Items": [ + { + "Shortcode": "V6.2.1", + "Ordinal": 1, + "Description": "Verify that all cryptographic modules fail securely, and errors are handled in a way that does not enable Padding Oracle attacks.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 310 + ], + "NIST": [] + }, + { + "Shortcode": "V6.2.2", + "Ordinal": 2, + "Description": "Verify that industry proven or government approved cryptographic algorithms, modes, and libraries are used, instead of custom coded cryptography. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 327 + ], + "NIST": [] + }, + { + "Shortcode": "V6.2.3", + "Ordinal": 3, + "Description": "Verify that encryption initialization vector, cipher configuration, and block modes are configured securely using the latest advice.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 326 + ], + "NIST": [] + }, + { + "Shortcode": "V6.2.4", + "Ordinal": 4, + "Description": "Verify that random number, encryption or hashing algorithms, key lengths, rounds, ciphers or modes, can be reconfigured, upgraded, or swapped at any time, to protect against cryptographic breaks. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 326 + ], + "NIST": [] + }, + { + "Shortcode": "V6.2.5", + "Ordinal": 5, + "Description": "Verify that known insecure block modes (i.e. ECB, etc.), padding modes (i.e. PKCS#1 v1.5, etc.), ciphers with small block sizes (i.e. Triple-DES, Blowfish, etc.), and weak hashing algorithms (i.e. MD5, SHA1, etc.) are not used unless required for backwards compatibility.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 326 + ], + "NIST": [] + }, + { + "Shortcode": "V6.2.6", + "Ordinal": 6, + "Description": "Verify that nonces, initialization vectors, and other single use numbers must not be used more than once with a given encryption key. The method of generation must be appropriate for the algorithm being used.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 326 + ], + "NIST": [] + }, + { + "Shortcode": "V6.2.7", + "Ordinal": 7, + "Description": "Verify that encrypted data is authenticated via signatures, authenticated cipher modes, or HMAC to ensure that ciphertext is not altered by an unauthorized party.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 326 + ], + "NIST": [] + }, + { + "Shortcode": "V6.2.8", + "Ordinal": 8, + "Description": "Verify that all cryptographic operations are constant-time, with no 'short-circuit' operations in comparisons, calculations, or returns, to avoid leaking information.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 385 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V6.3", + "Ordinal": 3, + "Name": "Random Values", + "Items": [ + { + "Shortcode": "V6.3.1", + "Ordinal": 1, + "Description": "Verify that all random numbers, random file names, random GUIDs, and random strings are generated using the cryptographic module's approved cryptographically secure random number generator when these random values are intended to be not guessable by an attacker.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 338 + ], + "NIST": [] + }, + { + "Shortcode": "V6.3.2", + "Ordinal": 2, + "Description": "Verify that random GUIDs are created using the GUID v4 algorithm, and a Cryptographically-secure Pseudo-random Number Generator (CSPRNG). GUIDs created using other pseudo-random number generators may be predictable.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 338 + ], + "NIST": [] + }, + { + "Shortcode": "V6.3.3", + "Ordinal": 3, + "Description": "Verify that random numbers are created with proper entropy even when the application is under heavy load, or that the application degrades gracefully in such circumstances.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 338 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V6.4", + "Ordinal": 4, + "Name": "Secret Management", + "Items": [ + { + "Shortcode": "V6.4.1", + "Ordinal": 1, + "Description": "Verify that a secrets management solution such as a key vault is used to securely create, store, control access to and destroy secrets. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 798 + ], + "NIST": [] + }, + { + "Shortcode": "V6.4.2", + "Ordinal": 2, + "Description": "Verify that key material is not exposed to the application but instead uses an isolated security module like a vault for cryptographic operations. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 320 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V7", + "Ordinal": 7, + "ShortName": "Error", + "Name": "Error Handling and Logging", + "Items": [ + { + "Shortcode": "V7.1", + "Ordinal": 1, + "Name": "Log Content", + "Items": [ + { + "Shortcode": "V7.1.1", + "Ordinal": 1, + "Description": "Verify that the application does not log credentials or payment details. Session tokens should only be stored in logs in an irreversible, hashed form. ([C9, C10](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 532 + ], + "NIST": [] + }, + { + "Shortcode": "V7.1.2", + "Ordinal": 2, + "Description": "Verify that the application does not log other sensitive data as defined under local privacy laws or relevant security policy. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 532 + ], + "NIST": [] + }, + { + "Shortcode": "V7.1.3", + "Ordinal": 3, + "Description": "Verify that the application logs security relevant events including successful and failed authentication events, access control failures, deserialization failures and input validation failures. ([C5, C7](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 778 + ], + "NIST": [] + }, + { + "Shortcode": "V7.1.4", + "Ordinal": 4, + "Description": "Verify that each log event includes necessary information that would allow for a detailed investigation of the timeline when an event happens. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 778 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V7.2", + "Ordinal": 2, + "Name": "Log Processing", + "Items": [ + { + "Shortcode": "V7.2.1", + "Ordinal": 1, + "Description": "Verify that all authentication decisions are logged, without storing sensitive session tokens or passwords. This should include requests with relevant metadata needed for security investigations.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 778 + ], + "NIST": [] + }, + { + "Shortcode": "V7.2.2", + "Ordinal": 2, + "Description": "Verify that all access control decisions can be logged and all failed decisions are logged. This should include requests with relevant metadata needed for security investigations.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 285 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V7.3", + "Ordinal": 3, + "Name": "Log Protection", + "Items": [ + { + "Shortcode": "V7.3.1", + "Ordinal": 1, + "Description": "Verify that all logging components appropriately encode data to prevent log injection. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 117 + ], + "NIST": [] + }, + { + "Shortcode": "V7.3.2", + "Ordinal": 2, + "Description": "[DELETED, DUPLICATE OF 7.3.1]", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": false, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V7.3.3", + "Ordinal": 3, + "Description": "Verify that security logs are protected from unauthorized access and modification. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 200 + ], + "NIST": [] + }, + { + "Shortcode": "V7.3.4", + "Ordinal": 4, + "Description": "Verify that time sources are synchronized to the correct time and time zone. Strongly consider logging only in UTC if systems are global to assist with post-incident forensic analysis. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [], + "NIST": [] + } + ] + }, + { + "Shortcode": "V7.4", + "Ordinal": 4, + "Name": "Error Handling", + "Items": [ + { + "Shortcode": "V7.4.1", + "Ordinal": 1, + "Description": "Verify that a generic message is shown when an unexpected or security sensitive error occurs, potentially with a unique ID which support personnel can use to investigate. ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 210 + ], + "NIST": [] + }, + { + "Shortcode": "V7.4.2", + "Ordinal": 2, + "Description": "Verify that exception handling (or a functional equivalent) is used across the codebase to account for expected and unexpected error conditions. ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 544 + ], + "NIST": [] + }, + { + "Shortcode": "V7.4.3", + "Ordinal": 3, + "Description": "Verify that a \"last resort\" error handler is defined which will catch all unhandled exceptions. ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 431 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V8", + "Ordinal": 8, + "ShortName": "Data", + "Name": "Data Protection", + "Items": [ + { + "Shortcode": "V8.1", + "Ordinal": 1, + "Name": "General Data Protection", + "Items": [ + { + "Shortcode": "V8.1.1", + "Ordinal": 1, + "Description": "Verify the application protects sensitive data from being cached in server components such as load balancers and application caches.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 524 + ], + "NIST": [] + }, + { + "Shortcode": "V8.1.2", + "Ordinal": 2, + "Description": "Verify that all cached or temporary copies of sensitive data stored on the server are protected from unauthorized access or purged/invalidated after the authorized user accesses the sensitive data.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 524 + ], + "NIST": [] + }, + { + "Shortcode": "V8.1.3", + "Ordinal": 3, + "Description": "Verify the application minimizes the number of parameters in a request, such as hidden fields, Ajax variables, cookies and header values.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 233 + ], + "NIST": [] + }, + { + "Shortcode": "V8.1.4", + "Ordinal": 4, + "Description": "Verify the application can detect and alert on abnormal numbers of requests, such as by IP, user, total per hour or day, or whatever makes sense for the application.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 770 + ], + "NIST": [] + }, + { + "Shortcode": "V8.1.5", + "Ordinal": 5, + "Description": "Verify that regular backups of important data are performed and that test restoration of data is performed.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 19 + ], + "NIST": [] + }, + { + "Shortcode": "V8.1.6", + "Ordinal": 6, + "Description": "Verify that backups are stored securely to prevent data from being stolen or corrupted.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 19 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V8.2", + "Ordinal": 2, + "Name": "Client-side Data Protection", + "Items": [ + { + "Shortcode": "V8.2.1", + "Ordinal": 1, + "Description": "Verify the application sets sufficient anti-caching headers so that sensitive data is not cached in modern browsers.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 525 + ], + "NIST": [] + }, + { + "Shortcode": "V8.2.2", + "Ordinal": 2, + "Description": "Verify that data stored in browser storage (such as localStorage, sessionStorage, IndexedDB, or cookies) does not contain sensitive data.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 922 + ], + "NIST": [] + }, + { + "Shortcode": "V8.2.3", + "Ordinal": 3, + "Description": "Verify that authenticated data is cleared from client storage, such as the browser DOM, after the client or session is terminated.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 922 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V8.3", + "Ordinal": 3, + "Name": "Sensitive Private Data", + "Items": [ + { + "Shortcode": "V8.3.1", + "Ordinal": 1, + "Description": "Verify that sensitive data is sent to the server in the HTTP message body or headers, and that query string parameters from any HTTP verb do not contain sensitive data.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 319 + ], + "NIST": [] + }, + { + "Shortcode": "V8.3.2", + "Ordinal": 2, + "Description": "Verify that users have a method to remove or export their data on demand.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 212 + ], + "NIST": [] + }, + { + "Shortcode": "V8.3.3", + "Ordinal": 3, + "Description": "Verify that users are provided clear language regarding collection and use of supplied personal information and that users have provided opt-in consent for the use of that data before it is used in any way.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 285 + ], + "NIST": [] + }, + { + "Shortcode": "V8.3.4", + "Ordinal": 4, + "Description": "Verify that all sensitive data created and processed by the application has been identified, and ensure that a policy is in place on how to deal with sensitive data. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 200 + ], + "NIST": [] + }, + { + "Shortcode": "V8.3.5", + "Ordinal": 5, + "Description": "Verify accessing sensitive data is audited (without logging the sensitive data itself), if the data is collected under relevant data protection directives or where logging of access is required.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 532 + ], + "NIST": [] + }, + { + "Shortcode": "V8.3.6", + "Ordinal": 6, + "Description": "Verify that sensitive information contained in memory is overwritten as soon as it is no longer required to mitigate memory dumping attacks, using zeroes or random data.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 226 + ], + "NIST": [] + }, + { + "Shortcode": "V8.3.7", + "Ordinal": 7, + "Description": "Verify that sensitive or private information that is required to be encrypted, is encrypted using approved algorithms that provide both confidentiality and integrity. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 327 + ], + "NIST": [] + }, + { + "Shortcode": "V8.3.8", + "Ordinal": 8, + "Description": "Verify that sensitive personal information is subject to data retention classification, such that old or out of date data is deleted automatically, on a schedule, or as the situation requires.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 285 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V9", + "Ordinal": 9, + "ShortName": "Communications", + "Name": "Communication", + "Items": [ + { + "Shortcode": "V9.1", + "Ordinal": 1, + "Name": "Client Communication Security", + "Items": [ + { + "Shortcode": "V9.1.1", + "Ordinal": 1, + "Description": "Verify that TLS is used for all client connectivity, and does not fall back to insecure or unencrypted communications. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 319 + ], + "NIST": [] + }, + { + "Shortcode": "V9.1.2", + "Ordinal": 2, + "Description": "Verify using up to date TLS testing tools that only strong cipher suites are enabled, with the strongest cipher suites set as preferred.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 326 + ], + "NIST": [] + }, + { + "Shortcode": "V9.1.3", + "Ordinal": 3, + "Description": "Verify that only the latest recommended versions of the TLS protocol are enabled, such as TLS 1.2 and TLS 1.3. The latest version of the TLS protocol should be the preferred option.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 326 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V9.2", + "Ordinal": 2, + "Name": "Server Communication Security", + "Items": [ + { + "Shortcode": "V9.2.1", + "Ordinal": 1, + "Description": "Verify that connections to and from the server use trusted TLS certificates. Where internally generated or self-signed certificates are used, the server must be configured to only trust specific internal CAs and specific self-signed certificates. All others should be rejected.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 295 + ], + "NIST": [] + }, + { + "Shortcode": "V9.2.2", + "Ordinal": 2, + "Description": "Verify that encrypted communications such as TLS is used for all inbound and outbound connections, including for management ports, monitoring, authentication, API, or web service calls, database, cloud, serverless, mainframe, external, and partner connections. The server must not fall back to insecure or unencrypted protocols.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 319 + ], + "NIST": [] + }, + { + "Shortcode": "V9.2.3", + "Ordinal": 3, + "Description": "Verify that all encrypted connections to external systems that involve sensitive information or functions are authenticated.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 287 + ], + "NIST": [] + }, + { + "Shortcode": "V9.2.4", + "Ordinal": 4, + "Description": "Verify that proper certification revocation, such as Online Certificate Status Protocol (OCSP) Stapling, is enabled and configured.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 299 + ], + "NIST": [] + }, + { + "Shortcode": "V9.2.5", + "Ordinal": 5, + "Description": "Verify that backend TLS connection failures are logged.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 544 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V10", + "Ordinal": 10, + "ShortName": "Malicious", + "Name": "Malicious Code", + "Items": [ + { + "Shortcode": "V10.1", + "Ordinal": 1, + "Name": "Code Integrity", + "Items": [ + { + "Shortcode": "V10.1.1", + "Ordinal": 1, + "Description": "Verify that a code analysis tool is in use that can detect potentially malicious code, such as time functions, unsafe file operations and network connections.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 749 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V10.2", + "Ordinal": 2, + "Name": "Malicious Code Search", + "Items": [ + { + "Shortcode": "V10.2.1", + "Ordinal": 1, + "Description": "Verify that the application source code and third party libraries do not contain unauthorized phone home or data collection capabilities. Where such functionality exists, obtain the user's permission for it to operate before collecting any data.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 359 + ], + "NIST": [] + }, + { + "Shortcode": "V10.2.2", + "Ordinal": 2, + "Description": "Verify that the application does not ask for unnecessary or excessive permissions to privacy related features or sensors, such as contacts, cameras, microphones, or location.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 272 + ], + "NIST": [] + }, + { + "Shortcode": "V10.2.3", + "Ordinal": 3, + "Description": "Verify that the application source code and third party libraries do not contain back doors, such as hard-coded or additional undocumented accounts or keys, code obfuscation, undocumented binary blobs, rootkits, or anti-debugging, insecure debugging features, or otherwise out of date, insecure, or hidden functionality that could be used maliciously if discovered.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 507 + ], + "NIST": [] + }, + { + "Shortcode": "V10.2.4", + "Ordinal": 4, + "Description": "Verify that the application source code and third party libraries do not contain time bombs by searching for date and time related functions.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 511 + ], + "NIST": [] + }, + { + "Shortcode": "V10.2.5", + "Ordinal": 5, + "Description": "Verify that the application source code and third party libraries do not contain malicious code, such as salami attacks, logic bypasses, or logic bombs.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 511 + ], + "NIST": [] + }, + { + "Shortcode": "V10.2.6", + "Ordinal": 6, + "Description": "Verify that the application source code and third party libraries do not contain Easter eggs or any other potentially unwanted functionality.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 507 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V10.3", + "Ordinal": 3, + "Name": "Application Integrity", + "Items": [ + { + "Shortcode": "V10.3.1", + "Ordinal": 1, + "Description": "Verify that if the application has a client or server auto-update feature, updates should be obtained over secure channels and digitally signed. The update code must validate the digital signature of the update before installing or executing the update.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 16 + ], + "NIST": [] + }, + { + "Shortcode": "V10.3.2", + "Ordinal": 2, + "Description": "Verify that the application employs integrity protections, such as code signing or subresource integrity. The application must not load or execute code from untrusted sources, such as loading includes, modules, plugins, code, or libraries from untrusted sources or the Internet.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 353 + ], + "NIST": [] + }, + { + "Shortcode": "V10.3.3", + "Ordinal": 3, + "Description": "Verify that the application has protection from subdomain takeovers if the application relies upon DNS entries or DNS subdomains, such as expired domain names, out of date DNS pointers or CNAMEs, expired projects at public source code repos, or transient cloud APIs, serverless functions, or storage buckets (*autogen-bucket-id*.cloud.example.com) or similar. Protections can include ensuring that DNS names used by applications are regularly checked for expiry or change.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 350 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V11", + "Ordinal": 11, + "ShortName": "BusLogic", + "Name": "Business Logic", + "Items": [ + { + "Shortcode": "V11.1", + "Ordinal": 1, + "Name": "Business Logic Security", + "Items": [ + { + "Shortcode": "V11.1.1", + "Ordinal": 1, + "Description": "Verify that the application will only process business logic flows for the same user in sequential step order and without skipping steps.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 841 + ], + "NIST": [] + }, + { + "Shortcode": "V11.1.2", + "Ordinal": 2, + "Description": "Verify that the application will only process business logic flows with all steps being processed in realistic human time, i.e. transactions are not submitted too quickly.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 799 + ], + "NIST": [] + }, + { + "Shortcode": "V11.1.3", + "Ordinal": 3, + "Description": "Verify the application has appropriate limits for specific business actions or transactions which are correctly enforced on a per user basis.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 770 + ], + "NIST": [] + }, + { + "Shortcode": "V11.1.4", + "Ordinal": 4, + "Description": "Verify that the application has anti-automation controls to protect against excessive calls such as mass data exfiltration, business logic requests, file uploads or denial of service attacks.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 770 + ], + "NIST": [] + }, + { + "Shortcode": "V11.1.5", + "Ordinal": 5, + "Description": "Verify the application has business logic limits or validation to protect against likely business risks or threats, identified using threat modeling or similar methodologies.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 841 + ], + "NIST": [] + }, + { + "Shortcode": "V11.1.6", + "Ordinal": 6, + "Description": "Verify that the application does not suffer from \"Time Of Check to Time Of Use\" (TOCTOU) issues or other race conditions for sensitive operations.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 367 + ], + "NIST": [] + }, + { + "Shortcode": "V11.1.7", + "Ordinal": 7, + "Description": "Verify that the application monitors for unusual events or activity from a business logic perspective. For example, attempts to perform actions out of order or actions which a normal user would never attempt. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 754 + ], + "NIST": [] + }, + { + "Shortcode": "V11.1.8", + "Ordinal": 8, + "Description": "Verify that the application has configurable alerting when automated attacks or unusual activity is detected.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 390 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V12", + "Ordinal": 12, + "ShortName": "Files", + "Name": "Files and Resources", + "Items": [ + { + "Shortcode": "V12.1", + "Ordinal": 1, + "Name": "File Upload", + "Items": [ + { + "Shortcode": "V12.1.1", + "Ordinal": 1, + "Description": "Verify that the application will not accept large files that could fill up storage or cause a denial of service.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 400 + ], + "NIST": [] + }, + { + "Shortcode": "V12.1.2", + "Ordinal": 2, + "Description": "Verify that the application checks compressed files (e.g. zip, gz, docx, odt) against maximum allowed uncompressed size and against maximum number of files before uncompressing the file.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 409 + ], + "NIST": [] + }, + { + "Shortcode": "V12.1.3", + "Ordinal": 3, + "Description": "Verify that a file size quota and maximum number of files per user is enforced to ensure that a single user cannot fill up the storage with too many files, or excessively large files.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 770 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V12.2", + "Ordinal": 2, + "Name": "File Integrity", + "Items": [ + { + "Shortcode": "V12.2.1", + "Ordinal": 1, + "Description": "Verify that files obtained from untrusted sources are validated to be of expected type based on the file's content.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 434 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V12.3", + "Ordinal": 3, + "Name": "File Execution", + "Items": [ + { + "Shortcode": "V12.3.1", + "Ordinal": 1, + "Description": "Verify that user-submitted filename metadata is not used directly by system or framework filesystems and that a URL API is used to protect against path traversal.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 22 + ], + "NIST": [] + }, + { + "Shortcode": "V12.3.2", + "Ordinal": 2, + "Description": "Verify that user-submitted filename metadata is validated or ignored to prevent the disclosure, creation, updating or removal of local files (LFI).", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 73 + ], + "NIST": [] + }, + { + "Shortcode": "V12.3.3", + "Ordinal": 3, + "Description": "Verify that user-submitted filename metadata is validated or ignored to prevent the disclosure or execution of remote files via Remote File Inclusion (RFI) or Server-side Request Forgery (SSRF) attacks.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 98 + ], + "NIST": [] + }, + { + "Shortcode": "V12.3.4", + "Ordinal": 4, + "Description": "Verify that the application protects against Reflective File Download (RFD) by validating or ignoring user-submitted filenames in a JSON, JSONP, or URL parameter, the response Content-Type header should be set to text/plain, and the Content-Disposition header should have a fixed filename.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 641 + ], + "NIST": [] + }, + { + "Shortcode": "V12.3.5", + "Ordinal": 5, + "Description": "Verify that untrusted file metadata is not used directly with system API or libraries, to protect against OS command injection.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 78 + ], + "NIST": [] + }, + { + "Shortcode": "V12.3.6", + "Ordinal": 6, + "Description": "Verify that the application does not include and execute functionality from untrusted sources, such as unverified content distribution networks, JavaScript libraries, node npm libraries, or server-side DLLs.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 829 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V12.4", + "Ordinal": 4, + "Name": "File Storage", + "Items": [ + { + "Shortcode": "V12.4.1", + "Ordinal": 1, + "Description": "Verify that files obtained from untrusted sources are stored outside the web root, with limited permissions.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 552 + ], + "NIST": [] + }, + { + "Shortcode": "V12.4.2", + "Ordinal": 2, + "Description": "Verify that files obtained from untrusted sources are scanned by antivirus scanners to prevent upload and serving of known malicious content.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 509 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V12.5", + "Ordinal": 5, + "Name": "File Download", + "Items": [ + { + "Shortcode": "V12.5.1", + "Ordinal": 1, + "Description": "Verify that the web tier is configured to serve only files with specific file extensions to prevent unintentional information and source code leakage. For example, backup files (e.g. .bak), temporary working files (e.g. .swp), compressed files (.zip, .tar.gz, etc) and other extensions commonly used by editors should be blocked unless required.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 552 + ], + "NIST": [] + }, + { + "Shortcode": "V12.5.2", + "Ordinal": 2, + "Description": "Verify that direct requests to uploaded files will never be executed as HTML/JavaScript content.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 434 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V12.6", + "Ordinal": 6, + "Name": "SSRF Protection", + "Items": [ + { + "Shortcode": "V12.6.1", + "Ordinal": 1, + "Description": "Verify that the web or application server is configured with an allow list of resources or systems to which the server can send requests or load data/files from.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 918 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V13", + "Ordinal": 13, + "ShortName": "API", + "Name": "API and Web Service", + "Items": [ + { + "Shortcode": "V13.1", + "Ordinal": 1, + "Name": "Generic Web Service Security", + "Items": [ + { + "Shortcode": "V13.1.1", + "Ordinal": 1, + "Description": "Verify that all application components use the same encodings and parsers to avoid parsing attacks that exploit different URI or file parsing behavior that could be used in SSRF and RFI attacks.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 116 + ], + "NIST": [] + }, + { + "Shortcode": "V13.1.2", + "Ordinal": 2, + "Description": "[DELETED, DUPLICATE OF 4.3.1]", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": false, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V13.1.3", + "Ordinal": 3, + "Description": "Verify API URLs do not expose sensitive information, such as the API key, session tokens etc.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 598 + ], + "NIST": [] + }, + { + "Shortcode": "V13.1.4", + "Ordinal": 4, + "Description": "Verify that authorization decisions are made at both the URI, enforced by programmatic or declarative security at the controller or router, and at the resource level, enforced by model-based permissions.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 285 + ], + "NIST": [] + }, + { + "Shortcode": "V13.1.5", + "Ordinal": 5, + "Description": "Verify that requests containing unexpected or missing content types are rejected with appropriate headers (HTTP response status 406 Unacceptable or 415 Unsupported Media Type).", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 434 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V13.2", + "Ordinal": 2, + "Name": "RESTful Web Service", + "Items": [ + { + "Shortcode": "V13.2.1", + "Ordinal": 1, + "Description": "Verify that enabled RESTful HTTP methods are a valid choice for the user or action, such as preventing normal users using DELETE or PUT on protected API or resources.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 650 + ], + "NIST": [] + }, + { + "Shortcode": "V13.2.2", + "Ordinal": 2, + "Description": "Verify that JSON schema validation is in place and verified before accepting input.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 20 + ], + "NIST": [] + }, + { + "Shortcode": "V13.2.3", + "Ordinal": 3, + "Description": "Verify that RESTful web services that utilize cookies are protected from Cross-Site Request Forgery via the use of at least one or more of the following: double submit cookie pattern, CSRF nonces, or Origin request header checks.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 352 + ], + "NIST": [] + }, + { + "Shortcode": "V13.2.4", + "Ordinal": 4, + "Description": "[DELETED, DUPLICATE OF 11.1.4]", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": false, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V13.2.5", + "Ordinal": 5, + "Description": "Verify that REST services explicitly check the incoming Content-Type to be the expected one, such as application/xml or application/json.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 436 + ], + "NIST": [] + }, + { + "Shortcode": "V13.2.6", + "Ordinal": 6, + "Description": "Verify that the message headers and payload are trustworthy and not modified in transit. Requiring strong encryption for transport (TLS only) may be sufficient in many cases as it provides both confidentiality and integrity protection. Per-message digital signatures can provide additional assurance on top of the transport protections for high-security applications but bring with them additional complexity and risks to weigh against the benefits.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 345 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V13.3", + "Ordinal": 3, + "Name": "SOAP Web Service", + "Items": [ + { + "Shortcode": "V13.3.1", + "Ordinal": 1, + "Description": "Verify that XSD schema validation takes place to ensure a properly formed XML document, followed by validation of each input field before any processing of that data takes place.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 20 + ], + "NIST": [] + }, + { + "Shortcode": "V13.3.2", + "Ordinal": 2, + "Description": "Verify that the message payload is signed using WS-Security to ensure reliable transport between client and service.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 345 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V13.4", + "Ordinal": 4, + "Name": "GraphQL", + "Items": [ + { + "Shortcode": "V13.4.1", + "Ordinal": 1, + "Description": "Verify that a query allow list or a combination of depth limiting and amount limiting is used to prevent GraphQL or data layer expression Denial of Service (DoS) as a result of expensive, nested queries. For more advanced scenarios, query cost analysis should be used.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 770 + ], + "NIST": [] + }, + { + "Shortcode": "V13.4.2", + "Ordinal": 2, + "Description": "Verify that GraphQL or other data layer authorization logic should be implemented at the business logic layer instead of the GraphQL layer.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 285 + ], + "NIST": [] + } + ] + } + ] + }, + { + "Shortcode": "V14", + "Ordinal": 14, + "ShortName": "Config", + "Name": "Configuration", + "Items": [ + { + "Shortcode": "V14.1", + "Ordinal": 1, + "Name": "Build and Deploy", + "Items": [ + { + "Shortcode": "V14.1.1", + "Ordinal": 1, + "Description": "Verify that the application build and deployment processes are performed in a secure and repeatable way, such as CI / CD automation, automated configuration management, and automated deployment scripts.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V14.1.2", + "Ordinal": 2, + "Description": "Verify that compiler flags are configured to enable all available buffer overflow protections and warnings, including stack randomization, data execution prevention, and to break the build if an unsafe pointer, memory, format string, integer, or string operations are found.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 120 + ], + "NIST": [] + }, + { + "Shortcode": "V14.1.3", + "Ordinal": 3, + "Description": "Verify that server configuration is hardened as per the recommendations of the application server and frameworks in use.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 16 + ], + "NIST": [] + }, + { + "Shortcode": "V14.1.4", + "Ordinal": 4, + "Description": "Verify that the application, configuration, and all dependencies can be re-deployed using automated deployment scripts, built from a documented and tested runbook in a reasonable time, or restored from backups in a timely fashion.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V14.1.5", + "Ordinal": 5, + "Description": "Verify that authorized administrators can verify the integrity of all security-relevant configurations to detect tampering.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [], + "NIST": [] + } + ] + }, + { + "Shortcode": "V14.2", + "Ordinal": 2, + "Name": "Dependency", + "Items": [ + { + "Shortcode": "V14.2.1", + "Ordinal": 1, + "Description": "Verify that all components are up to date, preferably using a dependency checker during build or compile time. ([C2](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 1026 + ], + "NIST": [] + }, + { + "Shortcode": "V14.2.2", + "Ordinal": 2, + "Description": "Verify that all unneeded features, documentation, sample applications and configurations are removed.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 1002 + ], + "NIST": [] + }, + { + "Shortcode": "V14.2.3", + "Ordinal": 3, + "Description": "Verify that if application assets, such as JavaScript libraries, CSS or web fonts, are hosted externally on a Content Delivery Network (CDN) or external provider, Subresource Integrity (SRI) is used to validate the integrity of the asset.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 829 + ], + "NIST": [] + }, + { + "Shortcode": "V14.2.4", + "Ordinal": 4, + "Description": "Verify that third party components come from pre-defined, trusted and continually maintained repositories. ([C2](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 829 + ], + "NIST": [] + }, + { + "Shortcode": "V14.2.5", + "Ordinal": 5, + "Description": "Verify that a Software Bill of Materials (SBOM) is maintained of all third party libraries in use. ([C2](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V14.2.6", + "Ordinal": 6, + "Description": "Verify that the attack surface is reduced by sandboxing or encapsulating third party libraries to expose only the required behaviour into the application. ([C2](https://owasp.org/www-project-proactive-controls/#div-numbering))", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 265 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V14.3", + "Ordinal": 3, + "Name": "Unintended Security Disclosure", + "Items": [ + { + "Shortcode": "V14.3.1", + "Ordinal": 1, + "Description": "[DELETED, DUPLICATE OF 7.4.1]", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": false, + "Requirement": "" + }, + "L3": { + "Required": false, + "Requirement": "" + }, + "CWE": [], + "NIST": [] + }, + { + "Shortcode": "V14.3.2", + "Ordinal": 2, + "Description": "Verify that web or application server and application framework debug modes are disabled in production to eliminate debug features, developer consoles, and unintended security disclosures.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 497 + ], + "NIST": [] + }, + { + "Shortcode": "V14.3.3", + "Ordinal": 3, + "Description": "Verify that the HTTP headers or any part of the HTTP response do not expose detailed version information of system components.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 200 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V14.4", + "Ordinal": 4, + "Name": "HTTP Security Headers", + "Items": [ + { + "Shortcode": "V14.4.1", + "Ordinal": 1, + "Description": "Verify that every HTTP response contains a Content-Type header. Also specify a safe character set (e.g., UTF-8, ISO-8859-1) if the content types are text/*, /+xml and application/xml. Content must match with the provided Content-Type header.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 173 + ], + "NIST": [] + }, + { + "Shortcode": "V14.4.2", + "Ordinal": 2, + "Description": "Verify that all API responses contain a Content-Disposition: attachment; filename=\"api.json\" header (or other appropriate filename for the content type).", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 116 + ], + "NIST": [] + }, + { + "Shortcode": "V14.4.3", + "Ordinal": 3, + "Description": "Verify that a Content Security Policy (CSP) response header is in place that helps mitigate impact for XSS attacks like HTML, DOM, JSON, and JavaScript injection vulnerabilities.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 1021 + ], + "NIST": [] + }, + { + "Shortcode": "V14.4.4", + "Ordinal": 4, + "Description": "Verify that all responses contain a X-Content-Type-Options: nosniff header.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 116 + ], + "NIST": [] + }, + { + "Shortcode": "V14.4.5", + "Ordinal": 5, + "Description": "Verify that a Strict-Transport-Security header is included on all responses and for all subdomains, such as Strict-Transport-Security: max-age=15724800; includeSubdomains.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 523 + ], + "NIST": [] + }, + { + "Shortcode": "V14.4.6", + "Ordinal": 6, + "Description": "Verify that a suitable Referrer-Policy header is included to avoid exposing sensitive information in the URL through the Referer header to untrusted parties.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 116 + ], + "NIST": [] + }, + { + "Shortcode": "V14.4.7", + "Ordinal": 7, + "Description": "Verify that the content of a web application cannot be embedded in a third-party site by default and that embedding of the exact resources is only allowed where necessary by using suitable Content-Security-Policy: frame-ancestors and X-Frame-Options response headers.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 1021 + ], + "NIST": [] + } + ] + }, + { + "Shortcode": "V14.5", + "Ordinal": 5, + "Name": "HTTP Request Header Validation", + "Items": [ + { + "Shortcode": "V14.5.1", + "Ordinal": 1, + "Description": "Verify that the application server only accepts the HTTP methods in use by the application/API, including pre-flight OPTIONS, and logs/alerts on any requests that are not valid for the application context.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 749 + ], + "NIST": [] + }, + { + "Shortcode": "V14.5.2", + "Ordinal": 2, + "Description": "Verify that the supplied Origin header is not used for authentication or access control decisions, as the Origin header can easily be changed by an attacker.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 346 + ], + "NIST": [] + }, + { + "Shortcode": "V14.5.3", + "Ordinal": 3, + "Description": "Verify that the Cross-Origin Resource Sharing (CORS) Access-Control-Allow-Origin header uses a strict allow list of trusted domains and subdomains to match against and does not support the \"null\" origin.", + "L1": { + "Required": true, + "Requirement": "✓" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 346 + ], + "NIST": [] + }, + { + "Shortcode": "V14.5.4", + "Ordinal": 4, + "Description": "Verify that HTTP headers added by a trusted proxy or SSO devices, such as a bearer token, are authenticated by the application.", + "L1": { + "Required": false, + "Requirement": "" + }, + "L2": { + "Required": true, + "Requirement": "✓" + }, + "L3": { + "Required": true, + "Requirement": "✓" + }, + "CWE": [ + 306 + ], + "NIST": [] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/styles.py b/styles.py new file mode 100644 index 0000000..0430be7 --- /dev/null +++ b/styles.py @@ -0,0 +1,29 @@ +from enum import Enum + +class Styles(Enum): + + conditional_format = {'font_name': 'Avenir','font_size': 11,'valign': 'vcenter', 'align': 'center','border': 5, 'border_color': 'white' } + pass_format = {'bg_color':'#B6D7A8', 'font_color': '#38761D' } + fail_format = {'bg_color':'#FFC7CE', 'font_color': '#9C0006'} + na_format = {'bg_color':'#CCCCCC', 'font_color': '#666666' } + testing_format = {'bg_color':'#F79646', 'font_color': '#E26B0A'} + + title_format = {'font_name': 'Avenir', 'font_size': 24, 'bold': True, 'text_wrap': True, 'valign': 'vcenter'} + subtitle_format = {'font_name': 'Avenir', 'font_size': 18, 'text_wrap': True, 'valign': 'vcenter'} + version_format = {'font_name': 'Avenir', 'font_size': 11, 'text_wrap': True, 'valign': 'vcenter'} + + title_section_format = {'bold': True, 'font_name': 'Avenir', 'font_size': 15, 'text_wrap': True, 'font_color': '#499FFF', 'valign': 'vcenter', 'bottom': 5, 'bottom_color': '#499FFF'} + fields_format = {'bold': True, 'font_name': 'Avenir', 'font_size': 11, 'text_wrap': True, 'font_color': '#C0C0C0', 'valign': 'vcenter', 'align': 'center'} + id_format = {'font_name': 'Avenir', 'font_size': 11, 'text_wrap': True, 'font_color': '#000000', 'valign': 'vcenter','align': 'center'} + requirements_format = {'font_name': 'Avenir', 'font_size': 11, 'text_wrap': True, 'font_color': '#000000', 'valign': 'vcenter'} + + # Conditional levels + level1_format = {'bold': True, 'font_name': 'Avenir', 'font_size': 11, 'text_wrap': True, 'font_color': '#33CCCC', 'bg_color': '#33CCCC', 'border': 5, 'border_color': 'white', 'valign': 'vcenter'} + level2_format = {'bold': True, 'font_name': 'Avenir', 'font_size': 11, 'text_wrap': True, 'font_color': '#99CC00', 'bg_color': '#99CC00', 'border': 5, 'border_color': 'white','valign': 'vcenter'} + level3_format = {'font_name': 'Avenir', 'font_size': 11, 'text_wrap': True, 'font_color': '#FF9900', 'bg_color': '#FF9900','border': 5, 'border_color': 'white', 'valign': 'vcenter'} + + statistics_titles = {'bold': True, 'font_name': 'Avenir', 'font_size': 11, 'font_color': 'white', 'valign': 'vcenter', 'align': 'center', 'bg_color': '#23548D'} + statistics_section_title = {'bold': True, 'font_name': 'Avenir', 'font_size': 11, 'font_color': 'white', 'valign': 'vcenter', 'bg_color': '#23548D'} + statistics_section_data = {'font_name': 'Avenir', 'font_size': 11, 'font_color': 'white', 'valign': 'vcenter', 'bg_color': '#347ED4'} + statistics_data = {'font_name': 'Avenir', 'font_size': 11, 'font_color': 'white', 'valign': 'vcenter', 'align': 'center', 'bg_color': '#347ED4'} + statistics_percentage = {'font_name': 'Avenir', 'font_size': 11, 'font_color': 'white', 'valign': 'vcenter', 'align': 'center', 'bg_color': '#347ED4', 'num_format': 10} \ No newline at end of file diff --git a/worksheet_generator.py b/worksheet_generator.py new file mode 100644 index 0000000..aa0e70f --- /dev/null +++ b/worksheet_generator.py @@ -0,0 +1,56 @@ +from xlsxwriter.workbook import Workbook +from styles import Styles + +class WorkSheetGenerator: + + def __init__(self, workbook: Workbook, worksheet_title, worksheet_name,worksheet_shortname, name, version): + self.workbook = workbook + self.worksheet_title = worksheet_title + self.worksheet_name = worksheet_name + self.worksheet_shortname = worksheet_shortname + self.name = name + self.version = version + self.worksheet = workbook.add_worksheet(worksheet_shortname) + + def generateWorksheet(self, requirements): + self.worksheet.hide_gridlines(2) + self.worksheet.insert_image('B2', 'assets/logo.png', {'object_positon': 2,'x_scale': 0.41, 'y_scale': 0.30}) + self.worksheet.set_column("B:B", 15) + self.worksheet.set_column("C:C", 100) + self.worksheet.set_column("D:F", 4.17) + #self.worksheet.set_column("G:G", 10) + self.worksheet.write("C3", self.worksheet_title,self.workbook.add_format(Styles.title_format.value)) + self.worksheet.write("C4", self.worksheet_name,self.workbook.add_format(Styles.subtitle_format.value)) + self.worksheet.write("C5", f'{self.name} {self.version}', self.workbook.add_format(Styles.version_format.value)) + row = 8 + for section in requirements: + row = self.writeRequirements(section['Name'], section['Items'], row) + + def writeRequirements(self, sectionName, requirements, row): + self.worksheet.merge_range(f"B{row}:G{row}", sectionName, self.workbook.add_format(Styles.title_section_format.value)) + row += 2 + self.worksheet.write(f"B{row}", "ID", self.workbook.add_format(Styles.fields_format.value)) + self.worksheet.write(f"C{row}", "Detailed Verification Requirement", self.workbook.add_format(Styles.fields_format.value)) + self.worksheet.write(f"D{row}", "L1", self.workbook.add_format(Styles.fields_format.value)) + self.worksheet.write(f"E{row}", "L2", self.workbook.add_format(Styles.fields_format.value)) + self.worksheet.write(f"F{row}", "L3", self.workbook.add_format(Styles.fields_format.value)) + # self.worksheet.write(f"G{row}", "Test Case", self.workbook.add_format(Styles.fields_format.value)) + self.worksheet.write(f"G{row}", "Status", self.workbook.add_format(Styles.fields_format.value)) + row += 2 + for req in requirements: + self.worksheet.set_row(row-1, 55) + self.worksheet.write(f"B{row}", req['Shortcode'], self.workbook.add_format(Styles.id_format.value)) + self.worksheet.write(f"C{row}", req['Description'], self.workbook.add_format(Styles.requirements_format.value)) + self.worksheet.write(f"D{row}", req['L1']['Requirement'], self.workbook.add_format(Styles.level1_format.value) if req['L1']['Required'] else self.workbook.add_format(Styles.requirements_format.value)) + self.worksheet.write(f"E{row}", req['L2']['Requirement'], self.workbook.add_format(Styles.level2_format.value) if req['L2']['Required'] else self.workbook.add_format(Styles.requirements_format.value)) + self.worksheet.write(f"F{row}", req['L3']['Requirement'], self.workbook.add_format(Styles.level3_format.value) if req['L3']['Required'] else self.workbook.add_format(Styles.requirements_format.value)) + self.worksheet.data_validation(f"G{row}", {'validate': 'list', 'source': ['Pass', 'Fail', 'N/A', 'TBT']}) + self.worksheet.write(f"G{row}", None, self.workbook.add_format(Styles.conditional_format.value)) + self.worksheet.conditional_format(f"G{row}", {'type': 'text', 'criteria': 'containing', 'value': 'Pass', 'format': self.workbook.add_format(Styles.pass_format.value) }) + self.worksheet.conditional_format(f"G{row}", {'type': 'text', 'criteria': 'containing', 'value': 'N/A', 'format': self.workbook.add_format(Styles.na_format.value)}) + self.worksheet.conditional_format(f"G{row}", {'type': 'text', 'criteria': 'containing', 'value': 'TBT', 'format': self.workbook.add_format(Styles.testing_format.value)}) + self.worksheet.conditional_format(f"G{row}", {'type': 'text', 'criteria': 'containing', 'value': 'Fail', 'format': self.workbook.add_format(Styles.fail_format.value)}) + + row+=1 + row+=1 + return row \ No newline at end of file