Skip to content

ci: attach SBOM (SPDX + CycloneDX) to every release (#18) #56

ci: attach SBOM (SPDX + CycloneDX) to every release (#18)

ci: attach SBOM (SPDX + CycloneDX) to every release (#18) #56

Workflow file for this run

# Copyright (c) 2026 Santander Group
# SPDX-License-Identifier: Apache-2.0
#
# Dependency vulnerability scan with pip-audit.
name: Dependency scan
on:
push:
branches: [main, development]
pull_request:
schedule:
- cron: "37 4 * * *" # daily 04:37 UTC
permissions:
contents: read
jobs:
pip-audit:
name: pip-audit
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up Python
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
with:
python-version: "3.12"
cache: pip
- name: Install project
run: |
# Upgrade pip + setuptools (PYSEC-2025-49 fixed in setuptools 78.1.1).
python -m pip install --upgrade pip "setuptools>=78.1.1"
# CPU-only torch build (pulled transitively via pgmpy): avoids
# pulling NVIDIA CUDA wheels.
pip install torch --index-url https://download.pytorch.org/whl/cpu
pip install -e "."
- name: Run pip-audit
uses: pypa/gh-action-pip-audit@1220774d901786e6f652ae159f7b6bc8fea6d266 # v1.1.0
with:
local: true
vulnerability-service: osv
# PYSEC-2025-194: torch.jit.script memory corruption. No fixed
# version published upstream, and this library never calls
# torch.jit.script (only pgmpy-driven Bayesian-network training).
# PYSEC-2025-49: setuptools PackageIndex.download path traversal.
# setuptools is a build-time tool, not a runtime dependency, and the
# vulnerable download path is never invoked by this library.
ignore-vulns: |
PYSEC-2025-194
PYSEC-2025-49