技术文档 | 将OpenSCA接入GitHub Action,从软件供应链入口控制风险面
繼Jenkins和Gitlab CI之后,GitHub Action的集成也安排上啦~
若您解鎖了其他OpenSCA的用法,也歡迎向項目組來稿,將經驗分享給社區的小伙伴們~
參數說明
| 參數 | 是否必須 | 描述 |
|---|---|---|
| token | ? | OpenSCA云漏洞庫服務token,可在OpenSCA官網獲得 |
| proj | ? | 用于同步檢測結果至OpenSCA SaaS指定項目 |
| need-artifact | ? | "是否上傳日志/結果文件至workflow run(默認:否) |
| out | ? | 指定上傳的結果文件格式(文件間使用“,”分隔;僅outputs目錄下的結果文件會被上傳) |
使用樣例
workflow 示例
on:
push:
branches:
- master
- main
pull_request:
branches:
- master
- main
jobs:
opensca-scan:
runs-on: ubuntu-latest
name: OpenSCA Scan
steps:
- name: Checkout your code
uses: actions/checkout@v4
- name: Run OpenSCA Scan
uses: XmirrorSecurity/opensca-scan-action@v1
with:
token: ${{ secrets.OPENSCA_TOKEN }}
*需要先基于OpenSCA云漏洞庫服務token創建秘鑰,詳細信息請見https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#about-secrets
掃描結束后,可在倉庫的Security/Code scanning里找到結果
也可直接跳轉至OpenSCA SaaS查看更多詳細信息;跳轉鏈接可在Action日志中找到
更多場景
同步檢測結果至OpenSCA SaaS指定項目
使用proj參數將檢測任務綁定至指定項目下;ProjectID可在SaaS平臺獲取
- name: Run OpenSCA Scan
uses: XmirrorSecurity/opensca-scan-action@v1
with:
token: ${{ secrets.OPENSCA_TOKEN }}
proj: ${{ secrets.OPENSCA_PROJECT_ID }}
保留日志用于問題排查
- name: Run OpenSCA Scan
uses: XmirrorSecurity/opensca-scan-action@v1
with:
token: ${{ secrets.OPENSCA_TOKEN }}
need-artifact: "true"
上傳日志及檢測報告至workflow run
- name: Run OpenSCA Scan
uses: XmirrorSecurity/opensca-scan-action@v1
with:
token: ${{ secrets.OPENSCA_TOKEN }}
out: "outputs/result.json,outputs/result.html"
need-artifact: "true"
*僅outputs目錄下的結果文件會被上傳
常見問題
Permission denied
若遇permission denied報錯,可前往Settings -> Actions -> General,在Workflow permissions里選中 "Read and write permissions"并保存
找不到artifact?
在workflow summary頁面底部區域,截圖示意如下:
如有其他問題或反饋,歡迎向我們提交ISSUE~
https://github.com/XmirrorSecurity/opensca-scan-action
總結
以上是生活随笔為你收集整理的技术文档 | 将OpenSCA接入GitHub Action,从软件供应链入口控制风险面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript到底应不应该加分号?
- 下一篇: django的简单学习