ci: Add vet for vetting PR

This commit is contained in:
abhisek 2024-04-01 15:38:52 +05:30
parent c4fcab47d1
commit eb7f3cab94
No known key found for this signature in database
GPG Key ID: CB92A4990C02A88F
2 changed files with 72 additions and 0 deletions

42
.github/vet/policy.yml vendored Normal file
View File

@ -0,0 +1,42 @@
name: SafeDep vet OSS suite
description: |
Customized filter suite for vet vetting vet.
tags:
- general
- safedep-vet
filters:
- name: critical-or-high-vulns
check_type: CheckTypeVulnerability
summary: Critical or high risk vulnerabilities were found
value: |
vulns.critical.exists(p, true) || vulns.high.exists(p, true)
- name: low-popularity
check_type: CheckTypePopularity
summary: Component popularity is low by Github stars count
value: |
projects.exists(p, (p.type == "GITHUB") && (p.stars < 10))
- name: risky-oss-licenses
check_type: CheckTypeLicense
summary: Risky OSS license was detected
value: |
licenses.exists(p, p == "GPL-2.0") ||
licenses.exists(p, p == "GPL-2.0-only") ||
licenses.exists(p, p == "GPL-3.0") ||
licenses.exists(p, p == "GPL-3.0-only") ||
licenses.exists(p, p == "BSD-3-Clause OR GPL-2.0")
- name: ossf-unmaintained
check_type: CheckTypeMaintenance
summary: Component appears to be unmaintained
value: |
scorecard.scores["Maintained"] == 0
- name: osv-malware
check_type: CheckTypeMalware
summary: Malicious (malware) component detected
value: |
vulns.all.exists(v, v.id.startsWith("MAL-"))
- name: ossf-dangerous-workflow
check_type: CheckTypeSecurityScorecard
summary: Component release pipeline appear to use dangerous workflows
value: |
scorecard.scores["Dangerous-Workflow"] == 0

30
.github/workflows/vet-ci.yml vendored Normal file
View File

@ -0,0 +1,30 @@
name: vet OSS Components
on:
pull_request:
push:
branches:
- main
permissions:
contents: read
issues: write
pull-requests: write
security-events: write
jobs:
vet:
name: vet
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4
- name: Run vet
uses: safedep/vet-action@v1
with:
policy: .github/vet/policy.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}