{
  "repository": "Azure/Azure-Sentinel",
  "ref": "c6a93f51384f44329f62fc71a419b0792653452c",
  "methods": [
    {
      "slug": "formal",
      "title": "Formal verification and model checking"
    },
    {
      "slug": "static_analysis",
      "title": "Static analysis"
    },
    {
      "slug": "testing",
      "title": "Testing"
    },
    {
      "slug": "formatting",
      "title": "Formatting and hygiene"
    },
    {
      "slug": "supply_chain",
      "title": "Supply chain"
    },
    {
      "slug": "unclassified",
      "title": "Unclassified"
    }
  ],
  "verifications": [
    {
      "tool": "codeql",
      "method": "static_analysis",
      "commands": [
        "uses github/codeql-action/analyze"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/codeql-analysis.yml",
          "locator": "jobs.analyze.steps[4] (Perform CodeQL Analysis)"
        }
      ],
      "upstream": "https://github.com/github/codeql",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "tsc",
      "method": "static_analysis",
      "commands": [
        "tsc"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/content-validations.yaml",
          "locator": "jobs.ContentValidations.steps[3] (File Content Validations)"
        },
        {
          "path": "package.json",
          "locator": "scripts.tsc"
        },
        {
          "path": ".github/workflows/data-connector-validations.yaml",
          "locator": "jobs.DataConnectorValidations.steps[3] (Data Connector Validations)"
        },
        {
          "path": ".github/workflows/detection-validations.yaml",
          "locator": "jobs.DetectionsValidations.steps[3] (Id Change Validation)"
        },
        {
          "path": ".github/workflows/documents-link-validation.yaml",
          "locator": "jobs.DocumentsLinkValidation.steps[3] (Documents link locale validation)"
        },
        {
          "path": ".github/workflows/json-syntax-validation.yaml",
          "locator": "jobs.JsonFileValidation.steps[3] (Json File Syntax Validation)"
        },
        {
          "path": ".github/workflows/logo-validation.yaml",
          "locator": "jobs.logoValidator.steps[3] (Logo File Validation)"
        },
        {
          "path": ".github/workflows/playbook-validations.yaml",
          "locator": "jobs.PlaybooksValidations.steps[3] (Playbook Validations)"
        },
        {
          "path": ".github/workflows/sample-data-validation.yaml",
          "locator": "jobs.sampleDataValidator.steps[3] (Sample Data Validator)"
        },
        {
          "path": ".github/workflows/solution-validations.yaml",
          "locator": "jobs.SolutionValidations.steps[3] (Solution Validations)"
        },
        {
          "path": ".github/workflows/workbook-metadata-validations.yaml",
          "locator": "jobs.WorkbooksValidations.steps[3] (Workbooks Metadata Validations)"
        },
        {
          "path": ".github/workflows/workbook-template-validations.yaml",
          "locator": "jobs.WorkbooksTemplateValidations.steps[3] (Workbooks Template Validations)"
        }
      ],
      "upstream": "https://github.com/microsoft/TypeScript",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "ci-matrix",
      "method": "testing",
      "commands": [
        "analyze (language: 5)"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/codeql-analysis.yml",
          "locator": "jobs.analyze.strategy.matrix"
        }
      ],
      "upstream": "https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "unittest",
      "method": "testing",
      "commands": [
        "unittest discover -s .script/tests/asimParsersTest/ingestTimeParser/tests -p test_asim_*.py"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/runAsimIngestionTimeValidationTests.yaml",
          "locator": "jobs.ASimIngestionValidationTests.steps[3] (Run ingestion validation unit tests)"
        }
      ],
      "upstream": "https://github.com/python/cpython",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "mocha",
      "method": "testing",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "package.json",
          "locator": "dependencies: mocha"
        }
      ],
      "upstream": "https://github.com/mochajs/mocha",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": true
    },
    {
      "tool": "prettier",
      "method": "formatting",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "package.json",
          "locator": "dependencies: prettier"
        }
      ],
      "upstream": "https://github.com/prettier/prettier",
      "docs": "https://prettier.io/docs/cli#exit-codes",
      "exit_codes": {
        "0": "everything formatted",
        "1": "something was not formatted (--check)",
        "2": "prettier error"
      },
      "autofix": true,
      "declared_only": true
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "Write-Error Failed to run ARM-TTK tests: $_"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/arm-ttk-validations.yaml",
          "locator": "jobs.identify-changes.steps[1] (Identify Changes in PR)"
        },
        {
          "path": ".github/workflows/slash-command-armttk.yaml",
          "locator": "jobs.run-arm-ttk.steps[2] (Identify Changes in PR)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "bash .script/checkThatTemplatesVersionWasChanged.sh"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/validateVersionChangedInDetections.yml",
          "locator": "jobs.check-version-of-detection-was-updated.steps[1] (Check that template version was updated)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "dotnet test .script/tests/KqlvalidationsTests/Kqlvalidations.Tests.csproj --configuration $EXPR"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/kql-validations.yaml",
          "locator": "jobs.KqlValidations.steps[2] (Run KQL Validation tests)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "dotnet test .script/tests/NonAsciiValidationsTests/NonAsciiValidations.Tests.csproj --configuration $EXPR"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/non-ascii-validations.yaml",
          "locator": "jobs.NonAsciiValidations.steps[2] (Run Non-Ascii validation tests)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "dotnet test .script/tests/detectionTemplateSchemaValidation/DetectionTemplateSchemaValidation.Tests.csproj --configuration $EXPR"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/detection-template-schema-validations.yaml",
          "locator": "jobs.DetectionTemplateSchemaValidation.steps[2] (Run Detection template structure validation tests)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "log_info FORK PR DETECTED - Proceeding with security checks"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/runAsimIngestionTimeValidation.yaml",
          "locator": "jobs.security-gate.steps[1] (Check if PR needs approval)"
        },
        {
          "path": ".github/workflows/runAsimSchemaAndDataTesters.yaml",
          "locator": "jobs.security-gate.steps[1] (Check if PR needs approval)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "log_info Starting PR approval check..."
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/runAsimIngestionTimeValidation.yaml",
          "locator": "jobs.security-gate.steps[1] (Check if PR needs approval)"
        },
        {
          "path": ".github/workflows/runAsimSchemaAndDataTesters.yaml",
          "locator": "jobs.security-gate.steps[1] (Check if PR needs approval)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "log_success Internal PR - auto-approved"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/runAsimIngestionTimeValidation.yaml",
          "locator": "jobs.security-gate.steps[1] (Check if PR needs approval)"
        },
        {
          "path": ".github/workflows/runAsimSchemaAndDataTesters.yaml",
          "locator": "jobs.security-gate.steps[1] (Check if PR needs approval)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node --import tsx node_modules/mocha/bin/mocha.js --timeout 15000 --recursive .script/tests/**/*.test.ts"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.test"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    }
  ]
}
