{
  "history": [
    {
      "added": 0,
      "commit": "ec3368a4f8239249088b77794d414526112e6aac",
      "date": "2026-11-01",
      "dependencies": 17,
      "errors": [],
      "fixable": 3,
      "go_version": null,
      "in_binary": null,
      "new_vulnerabilities": 0,
      "osv_confirmed": 0,
      "osv_only": 0,
      "ref": "3.8.1",
      "release_changed": false,
      "release_integrity": "none",
      "removed": 0,
      "resolved_vulnerabilities": 0,
      "scorecard": 4.7,
      "upgraded": 0,
      "vulnerabilities": {
        "Critical": 1,
        "High": 1,
        "Low": 1,
        "Medium": 0,
        "Negligible": 0,
        "Unknown": 0
      },
      "workflow": {
        "High": 46,
        "Low": 13,
        "Medium": 29,
        "files": 9
      }
    },
    {
      "added": 0,
      "commit": "ec3368a4f8239249088b77794d414526112e6aac",
      "date": "2026-11-02",
      "dependencies": 17,
      "errors": [],
      "fixable": 0,
      "go_version": null,
      "in_binary": null,
      "kev": null,
      "kev_new": 0,
      "new_vulnerabilities": 0,
      "osv_confirmed": 0,
      "osv_only": 0,
      "ref": "3.8.1",
      "release_changed": false,
      "release_integrity": "none",
      "removed": 0,
      "resolved_vulnerabilities": 3,
      "scorecard": 4.7,
      "scorecard_date": "2026-10-26",
      "scorecard_note": null,
      "scorecard_source": "openssf-api",
      "upgraded": 0,
      "vulnerabilities": {
        "Critical": 0,
        "High": 0,
        "Low": 0,
        "Medium": 0,
        "Negligible": 0,
        "Unknown": 0
      },
      "vulnerable_packages": 0,
      "workflow": {
        "High": 46,
        "Low": 13,
        "Medium": 29,
        "files": 9
      }
    }
  ],
  "latest": {
    "archived": false,
    "category": "Static Application Security Testing (SAST) \u203a Language-specific \u203a Python",
    "changes": {
      "added": [],
      "any": true,
      "baseline": false,
      "integrity_drift": 0,
      "license_changes": [],
      "new_vulnerabilities": [],
      "previous_ref": "3.8.1",
      "release_changed": false,
      "removed": [],
      "resolved_vulnerabilities": [
        {
          "aliases": [],
          "ecosystem": "github",
          "fix_state": "fixed",
          "fixed_in": [
            "1.14.3"
          ],
          "id": "GHSA-5xjx-3w67-w9x9",
          "location": ".github/workflows/cd.yml",
          "osv_confirmed": false,
          "package": "pypa/gh-action-pypi-publish",
          "severity": "Critical",
          "url": "https://github.com/advisories/GHSA-5xjx-3w67-w9x9",
          "version": "release/v1"
        },
        {
          "aliases": [],
          "ecosystem": "github",
          "fix_state": "fixed",
          "fixed_in": [
            "4.1.3"
          ],
          "id": "GHSA-cxww-7g56-2vh6",
          "location": ".github/workflows/reusable-build.yml",
          "osv_confirmed": false,
          "package": "actions/download-artifact",
          "severity": "High",
          "url": "https://github.com/advisories/GHSA-cxww-7g56-2vh6",
          "version": "v4"
        },
        {
          "aliases": [],
          "ecosystem": "github",
          "fix_state": "fixed",
          "fixed_in": [
            "1.13.0"
          ],
          "id": "GHSA-vxmw-7h4f-hqxh",
          "location": ".github/workflows/cd.yml",
          "osv_confirmed": false,
          "package": "pypa/gh-action-pypi-publish",
          "severity": "Low",
          "url": "https://github.com/advisories/GHSA-vxmw-7h4f-hqxh",
          "version": "release/v1"
        }
      ],
      "upgraded": [],
      "workflow_new": 0,
      "workflow_resolved": 0
    },
    "commit": "ec3368a4f8239249088b77794d414526112e6aac",
    "compliance": {
      "overall_score": 55,
      "standards": {
        "bsi_tr03183": {
          "failed_checks": [
            "Component Creator",
            "Distribution Licences",
            "SHA-512 Hash",
            "Dependency Relationship",
            "SBOM Creator Contact"
          ],
          "passed": 4,
          "score": 44,
          "total": 9
        },
        "cisa": {
          "failed_checks": [
            "Software Producer",
            "Dependency Relationship",
            "License Information",
            "Component Hash",
            "SBOM Author"
          ],
          "passed": 5,
          "score": 50,
          "total": 10
        },
        "ntia": {
          "failed_checks": [
            "Supplier Name",
            "Dependency Relationship"
          ],
          "passed": 5,
          "score": 71,
          "total": 7
        }
      }
    },
    "components": [
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/issue_responder.yml",
        "name": "actions/checkout",
        "purl": "pkg:github/actions/checkout@v3",
        "version": "v3"
      },
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/build.yml",
        "name": "actions/checkout",
        "purl": "pkg:github/actions/checkout@v4",
        "version": "v4"
      },
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/cd.yml",
        "name": "actions/download-artifact",
        "purl": "pkg:github/actions/download-artifact@v4",
        "version": "v4"
      },
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/pr-comment.yml",
        "name": "actions/github-script",
        "purl": "pkg:github/actions/github-script@v7",
        "version": "v7"
      },
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/build.yml",
        "name": "actions/setup-python",
        "purl": "pkg:github/actions/setup-python@v5",
        "version": "v5"
      },
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/reusable-build.yml",
        "name": "actions/upload-artifact",
        "purl": "pkg:github/actions/upload-artifact@v4",
        "version": "v4"
      },
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/reusable-build.yml",
        "name": "azure/login",
        "purl": "pkg:github/azure/login@v2",
        "version": "v2"
      },
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/reusable-build.yml",
        "name": "azure/trusted-signing-action",
        "purl": "pkg:github/azure/trusted-signing-action@v0.5",
        "version": "v0.5"
      },
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/bump.yml",
        "name": "crazy-max/ghaction-import-gpg",
        "purl": "pkg:github/crazy-max/ghaction-import-gpg@v6",
        "version": "v6"
      },
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/build.yml",
        "name": "docker/build-push-action",
        "purl": "pkg:github/docker/build-push-action@v4",
        "version": "v4"
      },
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/build.yml",
        "name": "docker/metadata-action",
        "purl": "pkg:github/docker/metadata-action@v5",
        "version": "v5"
      },
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/build.yml",
        "name": "docker/setup-buildx-action",
        "purl": "pkg:github/docker/setup-buildx-action@v3",
        "version": "v3"
      },
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/cd.yml",
        "name": "pypa/gh-action-pypi-publish",
        "purl": "pkg:github/pypa/gh-action-pypi-publish@release%2Fv1",
        "version": "release/v1"
      },
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/reusable-build.yml",
        "name": "sigstore/cosign-installer",
        "purl": "pkg:github/sigstore/cosign-installer@v4.0.0",
        "version": "v4.0.0"
      },
      {
        "ecosystem": "github",
        "licenses": [],
        "location": ".github/workflows/cd.yml",
        "name": "softprops/action-gh-release",
        "purl": "pkg:github/softprops/action-gh-release@v2.0.1",
        "version": "v2.0.1"
      },
      {
        "ecosystem": "unknown",
        "licenses": [],
        "location": ".github/workflows/cd.yml",
        "name": "./.github/workflows/ci.yml",
        "purl": "",
        "version": "UNKNOWN"
      },
      {
        "ecosystem": "unknown",
        "licenses": [],
        "location": ".github/workflows/cd.yml",
        "name": "./.github/workflows/reusable-build.yml",
        "purl": "",
        "version": "UNKNOWN"
      }
    ],
    "description": "Check Python dependencies for vulnerabilities",
    "errors": [],
    "excluded_matches": {
      "action reference to a moving tag or branch": 3
    },
    "id": "pyupio__safety",
    "manifests": [
      ".github/workflows/build.yml",
      ".github/workflows/bump.yml",
      ".github/workflows/cd.yml",
      ".github/workflows/ci.yml",
      ".github/workflows/issue_responder.yml",
      ".github/workflows/pr-comment.yml",
      ".github/workflows/pr.yml",
      ".github/workflows/reusable-build.yml",
      "action.yml",
      "pyproject.toml"
    ],
    "name": "safety",
    "osv": {
      "advisories": 0,
      "available": true,
      "confirmed": 0,
      "osv_only": [],
      "warning": null
    },
    "ref": "3.8.1",
    "ref_kind": "release",
    "release_integrity": {
      "asset": "safety-x86_64-unknown-linux-gnu",
      "assets": 13,
      "build_provenance": null,
      "checksums_published": false,
      "digest_matches_github": true,
      "immutable_release": null,
      "methods": [],
      "provenance_published": false,
      "sbom_published": false,
      "signature": null,
      "signatures_published": true,
      "signer": null,
      "verdict": "none"
    },
    "released_at": "2026-05-29T14:09:06Z",
    "repository": "pyupio/safety",
    "sbomlyze_diff": {
      "added": 0,
      "changed": 0,
      "drift": {},
      "findings": [
        "0 version changes among 34 shared packages \u2014 no actual upgrades",
        "Core system packages stable: github (23) unchanged"
      ],
      "removed": 0
    },
    "scanned_at": "2026-11-02T03:07:44+00:00",
    "scorecard": {
      "checks": [
        {
          "name": "CII-Best-Practices",
          "reason": "no effort to earn an OpenSSF best practices badge detected",
          "score": 0
        },
        {
          "name": "Fuzzing",
          "reason": "project is not fuzzed",
          "score": 0
        },
        {
          "name": "Pinned-Dependencies",
          "reason": "dependency not pinned by hash detected -- score normalized to 0",
          "score": 0
        },
        {
          "name": "SAST",
          "reason": "SAST tool is not run on all commits -- score normalized to 0",
          "score": 0
        },
        {
          "name": "Signed-Releases",
          "reason": "Project has not signed or included provenance with any releases.",
          "score": 0
        },
        {
          "name": "Token-Permissions",
          "reason": "detected GitHub workflow tokens with excessive permissions",
          "score": 0
        },
        {
          "name": "Maintained",
          "reason": "3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2",
          "score": 2
        },
        {
          "name": "Code-Review",
          "reason": "Found 22/30 approved changesets -- score normalized to 7",
          "score": 7
        },
        {
          "name": "Binary-Artifacts",
          "reason": "no binaries found in the repo",
          "score": 10
        },
        {
          "name": "Dangerous-Workflow",
          "reason": "no dangerous workflow patterns detected",
          "score": 10
        },
        {
          "name": "License",
          "reason": "license file detected",
          "score": 10
        },
        {
          "name": "Packaging",
          "reason": "packaging workflow detected",
          "score": 10
        },
        {
          "name": "Security-Policy",
          "reason": "security policy file detected",
          "score": 10
        },
        {
          "name": "Branch-Protection",
          "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
          "score": -1
        }
      ],
      "date": "2026-10-26",
      "score": 4.7,
      "source": "openssf-api",
      "version": "v5.6.0"
    },
    "vulnerabilities": [],
    "workflow_audit": {
      "files": 9,
      "findings": [
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/build.yml",
          "line": 17,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/build.yml",
          "line": 19,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/build.yml",
          "line": 33,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/build.yml",
          "line": 39,
          "note": "this step",
          "rule": "template-injection",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/build.yml",
          "line": 51,
          "note": "this step",
          "rule": "template-injection",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/build.yml",
          "line": 59,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/build.yml",
          "line": 78,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/bump.yml",
          "line": 20,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/bump.yml",
          "line": 44,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/bump.yml",
          "line": 57,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/cd.yml",
          "line": 32,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/cd.yml",
          "line": 36,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/cd.yml",
          "line": 43,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/cd.yml",
          "line": 49,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/cd.yml",
          "line": 72,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/cd.yml",
          "line": 95,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/cd.yml",
          "line": 101,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/ci.yml",
          "line": 22,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/ci.yml",
          "line": 27,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/ci.yml",
          "line": 52,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/ci.yml",
          "line": 82,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/ci.yml",
          "line": 115,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/ci.yml",
          "line": 117,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/ci.yml",
          "line": 140,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/ci.yml",
          "line": 142,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/issue_responder.yml",
          "line": 13,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "Medium",
          "description": "use of fundamentally insecure workflow trigger",
          "file": ".github/workflows/pr-comment.yml",
          "line": 3,
          "note": "this workflow",
          "rule": "dangerous-triggers",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
        },
        {
          "confidence": "High",
          "description": "unsound conditional expression",
          "file": ".github/workflows/pr-comment.yml",
          "line": 14,
          "note": "this job",
          "rule": "unsound-condition",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unsound-condition"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/pr-comment.yml",
          "line": 20,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/reusable-build.yml",
          "line": 36,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/reusable-build.yml",
          "line": 38,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 48,
          "note": "this step",
          "rule": "template-injection",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 48,
          "note": "this step",
          "rule": "template-injection",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 60,
          "note": "this step",
          "rule": "template-injection",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/reusable-build.yml",
          "line": 89,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/reusable-build.yml",
          "line": 91,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/reusable-build.yml",
          "line": 158,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/reusable-build.yml",
          "line": 331,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/reusable-build.yml",
          "line": 339,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/reusable-build.yml",
          "line": 365,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/reusable-build.yml",
          "line": 416,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/reusable-build.yml",
          "line": 428,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/reusable-build.yml",
          "line": 444,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/reusable-build.yml",
          "line": 454,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned action reference",
          "file": ".github/workflows/reusable-build.yml",
          "line": 463,
          "note": "this step",
          "rule": "unpinned-uses",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-uses"
        },
        {
          "confidence": "High",
          "description": "unpinned image references",
          "file": "action.yml",
          "line": 53,
          "note": "container image uses the floating 'latest' tag",
          "rule": "unpinned-images",
          "severity": "High",
          "url": "https://docs.zizmor.sh/audits/#unpinned-images"
        },
        {
          "confidence": "Medium",
          "description": "overly broad permissions",
          "file": ".github/workflows/build.yml",
          "line": 13,
          "note": "this job",
          "rule": "excessive-permissions",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#excessive-permissions"
        },
        {
          "confidence": "Medium",
          "description": "overly broad permissions",
          "file": ".github/workflows/bump.yml",
          "line": 16,
          "note": "this job",
          "rule": "excessive-permissions",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#excessive-permissions"
        },
        {
          "confidence": "Medium",
          "description": "overly broad permissions",
          "file": ".github/workflows/cd.yml",
          "line": 1,
          "note": "default permissions used due to no permissions: block",
          "rule": "excessive-permissions",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#excessive-permissions"
        },
        {
          "confidence": "Medium",
          "description": "overly broad permissions",
          "file": ".github/workflows/cd.yml",
          "line": 12,
          "note": "this job",
          "rule": "excessive-permissions",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#excessive-permissions"
        },
        {
          "confidence": "High",
          "description": "secrets unconditionally inherited by called workflow",
          "file": ".github/workflows/cd.yml",
          "line": 17,
          "note": "this reusable workflow",
          "rule": "secrets-inherit",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#secrets-inherit"
        },
        {
          "confidence": "Medium",
          "description": "overly broad permissions",
          "file": ".github/workflows/ci.yml",
          "line": 1,
          "note": "default permissions used due to no permissions: block",
          "rule": "excessive-permissions",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#excessive-permissions"
        },
        {
          "confidence": "Medium",
          "description": "overly broad permissions",
          "file": ".github/workflows/ci.yml",
          "line": 18,
          "note": "this job",
          "rule": "excessive-permissions",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#excessive-permissions"
        },
        {
          "confidence": "Medium",
          "description": "overly broad permissions",
          "file": ".github/workflows/ci.yml",
          "line": 49,
          "note": "this job",
          "rule": "excessive-permissions",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#excessive-permissions"
        },
        {
          "confidence": "Medium",
          "description": "overly broad permissions",
          "file": ".github/workflows/ci.yml",
          "line": 101,
          "note": "this job",
          "rule": "excessive-permissions",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#excessive-permissions"
        },
        {
          "confidence": "Medium",
          "description": "overly broad permissions",
          "file": ".github/workflows/ci.yml",
          "line": 130,
          "note": "this job",
          "rule": "excessive-permissions",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#excessive-permissions"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/ci.yml",
          "line": 156,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/ci.yml",
          "line": 156,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/ci.yml",
          "line": 156,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "overly broad permissions",
          "file": ".github/workflows/pr.yml",
          "line": 9,
          "note": "this job",
          "rule": "excessive-permissions",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#excessive-permissions"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 105,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 105,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 105,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 116,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 116,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 116,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 116,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 116,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 116,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 166,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 166,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 166,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 166,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 166,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "Medium",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 213,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Medium",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/build.yml",
          "line": 42,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Low",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/build.yml",
          "line": 51,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Low",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "use GitHub's dedicated self-repository syntax",
          "file": ".github/workflows/cd.yml",
          "line": 12,
          "note": "this job",
          "rule": "self-repository",
          "severity": "Low",
          "url": "https://docs.zizmor.sh/audits/#self-repository"
        },
        {
          "confidence": "High",
          "description": "use GitHub's dedicated self-repository syntax",
          "file": ".github/workflows/cd.yml",
          "line": 15,
          "note": "this job",
          "rule": "self-repository",
          "severity": "Low",
          "url": "https://docs.zizmor.sh/audits/#self-repository"
        },
        {
          "confidence": "High",
          "description": "use GitHub's dedicated self-repository syntax",
          "file": ".github/workflows/pr.yml",
          "line": 9,
          "note": "this job",
          "rule": "self-repository",
          "severity": "Low",
          "url": "https://docs.zizmor.sh/audits/#self-repository"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 213,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Low",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 243,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Low",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 243,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Low",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 265,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Low",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 265,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Low",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 313,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Low",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 313,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Low",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "code injection via template expansion",
          "file": ".github/workflows/reusable-build.yml",
          "line": 313,
          "note": "this step",
          "rule": "template-injection",
          "severity": "Low",
          "url": "https://docs.zizmor.sh/audits/#template-injection"
        },
        {
          "confidence": "High",
          "description": "action functionality is already included by the runner",
          "file": ".github/workflows/cd.yml",
          "line": 72,
          "note": "this step",
          "rule": "superfluous-actions",
          "severity": "Informational",
          "url": "https://docs.zizmor.sh/audits/#superfluous-actions"
        }
      ]
    }
  },
  "updated": "2026-11-02"
}
