Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/find-vulnerabilities.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Find dependencies vulnerabilities

on: [push]

jobs:
scan-codebase:
runs-on: ubuntu-24.04
name: Inspect packages with ScanCode.io
steps:
- uses: actions/checkout@v4
with:
path: scancode-inputs
sparse-checkout: setup.cfg
sparse-checkout-cone-mode: false

- uses: nexB/scancode-action@alpha
with:
pipelines: "inspect_packages:StaticResolver,find_vulnerabilities"
env:
VULNERABLECODE_URL: https://public.vulnerablecode.io/

- name: Fail in case of vulnerabilities
shell: bash
run: |
scanpipe shell --command '
from scanpipe.models import Project
project = Project.objects.get()
packages_qs = project.discoveredpackages.vulnerable()
dependencies_qs = project.discovereddependencies.vulnerable()
vulnerability_count = packages_qs.count() + dependencies_qs.count()
if vulnerability_count:
print(vulnerability_count, "vulnerabilities found:")
for entry in [*packages_qs, *dependencies_qs]:
print(entry)
exit(1)
else:
print("No vulnerabilities found")
exit(0)
'