|
23 | 23 | name: Scan Project-Built Docker Images |
24 | 24 | runs-on: ubuntu-latest |
25 | 25 | timeout-minutes: 15 |
| 26 | + permissions: |
| 27 | + contents: read |
26 | 28 | strategy: |
27 | 29 | fail-fast: false |
28 | 30 | matrix: |
@@ -61,16 +63,20 @@ jobs: |
61 | 63 | exit-code: "1" |
62 | 64 | scanners: "vuln" # Only vulnerabilities, skip secrets (test containers have legitimate SSH keys) |
63 | 65 |
|
64 | | - - name: Upload Trivy results to GitHub Security |
65 | | - uses: github/codeql-action/upload-sarif@v4 |
| 66 | + - name: Upload SARIF artifact |
| 67 | + uses: actions/upload-artifact@v4 |
66 | 68 | if: always() |
67 | 69 | with: |
68 | | - sarif_file: "trivy-results-${{ matrix.image.name }}.sarif" |
| 70 | + name: sarif-project-${{ matrix.image.name }} |
| 71 | + path: "trivy-results-${{ matrix.image.name }}.sarif" |
| 72 | + retention-days: 30 |
69 | 73 |
|
70 | 74 | scan-third-party-images: |
71 | 75 | name: Scan Third-Party Docker Images |
72 | 76 | runs-on: ubuntu-latest |
73 | 77 | timeout-minutes: 15 |
| 78 | + permissions: |
| 79 | + contents: read |
74 | 80 | strategy: |
75 | 81 | fail-fast: false |
76 | 82 | matrix: |
@@ -100,8 +106,30 @@ jobs: |
100 | 106 | exit-code: "1" |
101 | 107 | scanners: "vuln" # Focus on CVEs, not secrets |
102 | 108 |
|
103 | | - - name: Upload Trivy results to GitHub Security |
104 | | - uses: github/codeql-action/upload-sarif@v4 |
| 109 | + - name: Upload SARIF artifact |
| 110 | + uses: actions/upload-artifact@v4 |
105 | 111 | if: always() |
106 | 112 | with: |
107 | | - sarif_file: "trivy-results.sarif" |
| 113 | + name: sarif-third-party-${{ matrix.image }} |
| 114 | + path: "trivy-results.sarif" |
| 115 | + retention-days: 30 |
| 116 | + |
| 117 | + upload-sarif-results: |
| 118 | + name: Upload SARIF Results to GitHub Security |
| 119 | + runs-on: ubuntu-latest |
| 120 | + needs: [scan-project-images, scan-third-party-images] |
| 121 | + if: always() |
| 122 | + permissions: |
| 123 | + security-events: write |
| 124 | + steps: |
| 125 | + - name: Download all SARIF artifacts |
| 126 | + uses: actions/download-artifact@v4 |
| 127 | + with: |
| 128 | + pattern: sarif-* |
| 129 | + merge-multiple: false |
| 130 | + |
| 131 | + - name: Upload SARIF files to GitHub Security |
| 132 | + uses: github/codeql-action/upload-sarif@v4 |
| 133 | + with: |
| 134 | + sarif_file: "." |
| 135 | + category: "docker-security-scan" |
0 commit comments