Repository: gitleaks/gitleaks (go)

Issue:
sarif report does not pass schema validation
**Describe the bug**
Current sarif report not fully pass schema validation.

`SARIF1011: $schema: The '$schema' property value 'https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.5.json' does not refer to the final version of the SARIF 2.1.0 schema. If you are using an earlier version of the SARIF format, consider upgrading your analysis tool to produce the final version. If this file does in fact conform to the final version of the schema, upgrade the tool to populate the '$schema' property with a URL that refers to the final version of the schema.`

`SARIF2005: runs[0].tool.driver: The tool 'gitleaks' does not provide 'informationUri'. This property helps the developer responsible for addessing a result by providing a way to learn more about the tool.`

**To Reproduce**
1. Run gitleaks with sarif report output
2. Use sarif schema validator, e.g. https://sarifweb.azurewebsites.net/Validation
3. See validator suggestions

**Expected behavior**
Sarif schema validation pass

**Screenshots**
N/A

**Basic Info (please complete the following information):**
 - OS: Linux
 - Gitleaks Version: 8.16.3

**Additional context**
N/A

cc @zricethezav


Pull request:
🐛 fix(sarif): update report to pass validator
### Description:

Fixes #1166

This PR updates schema url to the latest official schema and adds driver's `informationUri` property.

### Checklist:

* [x] Does your PR pass tests?
* [x] Have you written new tests for your changes?
* [x] Have you lint your code locally prior to submission?


Patch:
diff --git a/report/sarif.go b/report/sarif.go
index 447020f..4cf345c 100644
--- a/report/sarif.go
+++ b/report/sarif.go
@@ -10,7 +10,7 @@ import (
 
 func writeSarif(cfg config.Config, findings []Finding, w io.WriteCloser) error {
 	sarif := Sarif{
-		Schema:  "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.5.json",
+		Schema:  "https://json.schemastore.org/sarif-2.1.0.json",
 		Version: "2.1.0",
 		Runs:    getRuns(cfg, findings),
 	}
@@ -34,6 +34,7 @@ func getTool(cfg config.Config) Tool {
 		Driver: Driver{
 			Name:            driver,
 			SemanticVersion: version,
+			InformationUri:  "https://github.com/gitleaks/gitleaks",
 			Rules:           getRules(cfg),
 		},
 	}
@@ -164,6 +165,7 @@ type Rules struct {
 type Driver struct {
 	Name            string  `json:"name"`
 	SemanticVersion string  `json:"semanticVersion"`
+	InformationUri  string  `json:"informationUri"`
 	Rules           []Rules `json:"rules"`
 }
 


Test patch:
diff --git a/testdata/baseline/baseline.sarif b/testdata/baseline/baseline.sarif
index bbaaf01..b2f8489 100644
--- a/testdata/baseline/baseline.sarif
+++ b/testdata/baseline/baseline.sarif
@@ -1,5 +1,5 @@
 {
- "$schema": "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.5.json",
+ "$schema": "https://json.schemastore.org/sarif-2.1.0.json",
  "version": "2.1.0",
  "runs": [
  ]
diff --git a/testdata/expected/report/sarif_simple.sarif b/testdata/expected/report/sarif_simple.sarif
index 802f415..0b1b15f 100644
--- a/testdata/expected/report/sarif_simple.sarif
+++ b/testdata/expected/report/sarif_simple.sarif
@@ -1,5 +1,5 @@
 {
- "$schema": "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.5.json",
+ "$schema": "https://json.schemastore.org/sarif-2.1.0.json",
  "version": "2.1.0",
  "runs": [
   {
@@ -7,6 +7,7 @@
     "driver": {
      "name": "gitleaks",
      "semanticVersion": "v8.0.0",
+     "informationUri": "https://github.com/gitleaks/gitleaks",
      "rules": [
       {
        "id": "aws-access-key",