{
  "repository": "snyk/cli",
  "ref": "2f1dcd463b2b1f699901fe45188e70c24b243958",
  "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": "eslint",
      "method": "static_analysis",
      "commands": [
        "eslint --quiet --color --cache **/*.{js,ts}"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "Makefile",
          "locator": "target format (line 339)"
        },
        {
          "path": "package.json",
          "locator": "scripts.format"
        },
        {
          "path": "package.json",
          "locator": "scripts.lint:js"
        },
        {
          "path": "package.json",
          "locator": "devDependencies: eslint"
        },
        {
          "path": ".eslintrc.json",
          "locator": "config file"
        },
        {
          "path": "test/fixtures/qs-package/node_modules/extend/.eslintrc",
          "locator": "config file"
        },
        {
          "path": "test/fixtures/qs-package/node_modules/request/.eslintrc",
          "locator": "config file"
        },
        {
          "path": "test/fixtures/qs-package/node_modules/snyk/node_modules/form-data/.eslintrc",
          "locator": "config file"
        },
        {
          "path": "test/fixtures/qs-package/node_modules/snyk/node_modules/qs/.eslintrc",
          "locator": "config file"
        },
        {
          "path": "test/fixtures/qs-package/node_modules/snyk/node_modules/request/.eslintrc",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/eslint/eslint",
      "docs": "https://eslint.org/docs/latest/use/command-line-interface#exit-codes",
      "exit_codes": {
        "0": "no errors",
        "1": "linting errors found",
        "2": "configuration problem or internal error"
      },
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": "gitleaks",
      "method": "static_analysis",
      "commands": [
        "pre-commit hook gitleaks"
      ],
      "triggers": [
        "pre_commit"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.gitleaks"
        }
      ],
      "upstream": "https://github.com/gitleaks/gitleaks",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "golangci-lint",
      "method": "static_analysis",
      "commands": [
        "golangci-lint run -v"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "cliv2/Makefile",
          "locator": "target lint (line 247)"
        },
        {
          "path": "cliv2/.golangci.yaml",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/golangci/golangci-lint",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "tsc",
      "method": "static_analysis",
      "commands": [
        "tsc"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "ts-binary-wrapper/package.json",
          "locator": "scripts.build"
        },
        {
          "path": "package.json",
          "locator": "devDependencies: typescript"
        },
        {
          "path": "ts-binary-wrapper/package.json",
          "locator": "devDependencies: typescript"
        }
      ],
      "upstream": "https://github.com/microsoft/TypeScript",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "go-test",
      "method": "testing",
      "commands": [
        "go test ./..."
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "Makefile",
          "locator": "target test-release-scripts (line 245)"
        }
      ],
      "upstream": "https://github.com/golang/go",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "jest",
      "method": "testing",
      "commands": [
        "jest --runInBand --testPathPattern '/test(/jest)?/unit/",
        "jest --maxWorkers=1 --testPathPattern /test(/jest)?/acceptance/ --reporters=jest-junit --reporters=default",
        "jest test/*"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "Makefile",
          "locator": "target test-binary-wrapper (line 240)"
        },
        {
          "path": "package.json",
          "locator": "scripts.test"
        },
        {
          "path": "package.json",
          "locator": "scripts.test:unit"
        },
        {
          "path": "package.json",
          "locator": "scripts.test:acceptance"
        },
        {
          "path": "ts-binary-wrapper/package.json",
          "locator": "scripts.test"
        },
        {
          "path": "package.json",
          "locator": "devDependencies: jest"
        },
        {
          "path": "ts-binary-wrapper/package.json",
          "locator": "devDependencies: jest"
        },
        {
          "path": "cliv2/jest.config.ts",
          "locator": "config file"
        },
        {
          "path": "jest.config.js",
          "locator": "config file"
        },
        {
          "path": "packages/snyk-fix/jest.config.js",
          "locator": "config file"
        },
        {
          "path": "packages/snyk-protect/jest.config.js",
          "locator": "config file"
        },
        {
          "path": "ts-binary-wrapper/jest.config.js",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/jestjs/jest",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "gofmt",
      "method": "formatting",
      "commands": [
        "gofmt -w -l -e ."
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "cliv2/Makefile",
          "locator": "target format (line 254)"
        }
      ],
      "upstream": "https://github.com/golang/go",
      "docs": null,
      "exit_codes": {},
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": "prettier",
      "method": "formatting",
      "commands": [
        "prettier --write **/*.md",
        "prettier --write README.md",
        "prettier --write **/*.{js,ts,json,yaml,yml,md}",
        "prettier --check **/*.{js,ts,json,yaml,yml,md}"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/sync-cli-help-to-user-docs.yml",
          "locator": "jobs.build.steps[6] (Format with Prettier)"
        },
        {
          "path": ".github/workflows/sync-cli-readme.yml",
          "locator": "jobs.build.steps[6] (Format README with Prettier)"
        },
        {
          "path": "Makefile",
          "locator": "target format (line 339)"
        },
        {
          "path": "package.json",
          "locator": "scripts.format"
        },
        {
          "path": "package.json",
          "locator": "scripts.lint:formatting"
        },
        {
          "path": "package.json",
          "locator": "devDependencies: prettier"
        },
        {
          "path": ".prettierrc.json",
          "locator": "config file"
        }
      ],
      "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": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "ISSIGNED_SCRIPT = $(SPECIAL_SHELL) $(WORKING_DIR)/scripts/issigned_$(GOHOSTOS).ps1"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "cliv2/Makefile",
          "locator": "target _validate-build-mode (line 32)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "SHASUM_CMD = $(SPECIAL_SHELL) $(WORKING_DIR)/scripts/shasum.ps1"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "cliv2/Makefile",
          "locator": "target _validate-build-mode (line 32)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "SIGN_SCRIPT = $(SPECIAL_SHELL) $(WORKING_DIR)/scripts/sign_$(GOHOSTOS).ps1"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "cliv2/Makefile",
          "locator": "target _validate-build-mode (line 32)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "SPECIAL_SHELL = powershell"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "cliv2/Makefile",
          "locator": "target _validate-build-mode (line 32)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "gpg --verify sha256sums-experimental.txt.asc"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/deployment-monitor.yml",
          "locator": "jobs.verify_experimental_manifest.steps[2] (Verify experimental manifest)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "gpg --verify sha256sums-preview.txt.asc"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/deployment-monitor.yml",
          "locator": "jobs.verify_manifests.steps[3] (Verify preview manifest)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "gpg --verify sha256sums-stable.txt.asc"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/deployment-monitor.yml",
          "locator": "jobs.verify_manifests.steps[2] (Verify stable manifest)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "npm-run-all --serial --continue-on-error lint:*"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "Makefile",
          "locator": "target lint (line 325)"
        },
        {
          "path": "package.json",
          "locator": "scripts.lint"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "sh -s -- -b ${GO_BIN} ${OVERRIDE_GOCI_LINT_V}"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "cliv2/Makefile",
          "locator": "target lint (line 247)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "tap -Rspec --timeout=300 test/tap/*.test.*"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "Makefile",
          "locator": "target test-binary-wrapper (line 240)"
        },
        {
          "path": "package.json",
          "locator": "scripts.test"
        },
        {
          "path": "package.json",
          "locator": "scripts.test:tap"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "tr -d  )"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "cliv2/Makefile",
          "locator": "target _helpdocs-prepare (line 182)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "ts-node ./scripts/check-dependencies.ts"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/check-dependencies.yml",
          "locator": "jobs.check-dependencies.steps[4]"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "wc -l"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "cliv2/Makefile",
          "locator": "target _helpdocs-prepare (line 182)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    }
  ]
}
