
GitHub Action: Offensive360 SASTスキャン、コードスキャン用のSARIF出力付き。60以上の言語に対応。オープンソースには無料。
Offensive360 の静的アプリケーションセキュリティスキャン(SAST)を、プッシュまたはプルリクエストのたびに実行します。60以上の言語に対応したディープな汚染解析(taint)とデータフロー解析を実施し、結果は GitHub の code scanning タブ用に SARIF 形式で出力します。さらに、パイプライン用の重大度ゲートも備えています。
オープンソース向け無料: パブリックリポジトリでは無料のスキャントークンをリクエストできます。詳細は offensive360.com/free-for-open-source をご覧ください。
name: SAST
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
security-events: write # only needed when upload-sarif is enabled
jobs:
sast:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: offensive360/sast-scan-action@v1
with:
api-url: https://sast.offensive360.com # or your own on-prem instance
api-token: ${{ secrets.O360_API_TOKEN }}
upload-sarif: 'true'
fail-on: high
検出結果は Security → Code scanning にファイル・行番号、影響と修正のガイダンス、そして Offensive360 ダッシュボード上の完全なトレースとともに表示されます。
トークンはリポジトリのシークレット(例: O360_API_TOKEN)として保存してください。コミットしないでください。
| Input | Default | Description |
|---|---|---|
api-url | — (required) | Offensive360 インスタンスのベース URL |
api-token | — (required) | 外部スキャントークン(リポジトリシークレット) |
project-name | repository name | Offensive360 ダッシュボード上のプロジェクト名 |
path | . | スキャンするディレクトリ |
dependency-scan | false | 依存関係(SCA)解析も実行 |
malware-scan | false | マルウェア / バイナリ改ざん解析も実行 |
license-scan | false | ライセンスコンプライアンス解析も実行 |
fail-on | high | この重大度以上でジョブを失敗させる: none, low, medium, high, critical |
sarif-file | offensive360.sarif | 書き込む SARIF レポートのパス |
timeout-seconds | 3000 | スキャンの最大待機秒数 |
exclude | .git node_modules dist … | アップロードから除外するディレクトリ名(スペース区切り) |
upload-sarif | false | SARIF を GitHub code scanning にアップロード(security-events: write が必要) |
| Output | Description |
|---|---|
total, critical, high, medium, low | 検出件数 |
status | スキャンステータス(Succeeded, PartialFailed, …) |
sarif-file | 生成された SARIF レポートのパス |
project-id | このリポジトリの Offensive360 プロジェクト ID |
例 — 後続のステップに件数をコメントとして出力:
- uses: offensive360/sast-scan-action@v1
id: o360
with:
api-url: ${{ vars.O360_API_URL }}
api-token: ${{ secrets.O360_API_TOKEN }}
- run: echo "Found ${{ steps.o360.outputs.total }} issues (${{ steps.o360.outputs.critical }} critical)"
GitLab をお使いですか? このリポジトリの同等のテンプレートをインクルードしてください:
include:
- remote: 'https://raw.githubusercontent.com/offensive360/sast-scan-action/main/templates/gitlab-ci.yml'
そして、O360_API_URL とマスクされた O360_API_TOKEN の CI/CD 変数を設定してください。
スキャンは同じように動作します(同じ API、ExternalScanSourceType=GitLab)。
bash, zip, curl, python3 — すべてプリインストール済み)。path でサブディレクトリをスキャンするか、独自のインスタンスを使用してください。PartialFailed を報告します — SARIF には完了したすべての検出結果が引き続き含まれます。SAST、DAST、MAST、SCA、マルウェア & バイナリ解析、ライセンスコンプライアンスを1つのプラットフォームで提供 — フラットな料金、無制限のユーザーとスキャン、オンプレミスまたはクラウド。 offensive360.com · デモを予約