Ostorlab GitHub Action
1. 新しいAPIキーを生成する
Ostorlab Github Actionを使用するには、まずAPIキーを生成する必要があります。これを行うには、次の手順に従います。
report.ostorlab.co に移動します。
Menuボタンをクリックします。

Integrations/APIをクリックして展開します。

API Keysをクリックします。

Newをクリックして新しいAPIキーを生成します。

APIキーをコピーします。キーに名前と有効期限を追加することもできます。

保存ボタンをクリックしてキーを保存することを忘れないでください。

2. ワークフローにOstorlab Github Actionを追加する
APIを生成したら、それをGitHub Secretsに追加します。YAMLファイルのsecrets.に一致する名前であることを確認してください。詳細な手順については、次のリンク のGithubドキュメントの手順に従うことができます。

次のステップは、スキャンをトリガーするOstorlabステップを追加するためにワークフローを更新することです。以下は、Android APKで高速スキャンを実行し、重大度がHIGHの脆弱性がある場合にパイプラインを失敗させる例です。
on: [push]
jobs:
ostorlab_test:
runs-on: ubuntu-latest
name: Test ostorlab ci actions.
steps:
- uses: actions/checkout@v2
- name: build ostorlab.apk
run: mv InsecureBankv2.apk ostorlab.apk
- name: Launch Ostorlab scan
id: start_scan
uses: Ostorlab/ostorlab_actions@v2.1.0
with:
scan_profile: fast_scan # スキャンに使用するスキャンプロファイルを指定します(スキャンセクションを確認してください)。
asset_type: android-apk # スキャンするアセットのタイプ。
target: ostorlab.apk # スキャンするターゲットへのパス。
scan_title: title_scan_ci # スキャンのタイトルを入力します。
ostorlab_api_key: ${{ secrets.ostorlab_api_key }} # シークレットAPIキー。
break_on_risk_rating: HIGH # スキャン結果を待ち、スキャンのリスクがそれ以上の場合にアクションを強制的に失敗させます
max_wait_minutes: 30
- name: Get scan id
run: echo "Scan Created with id ${{ steps.start_scan.outputs.scan_id }} you can access the full report at https://report.ostorlab.co/scan/${{ steps.start_scan.outputs.scan_id }}/"
3. Webアプリケーションのスキャン
モバイルアプリケーションに加えて、OstorlabはGitHubワークフローを介したWebアプリケーションのスキャンもサポートしています。Webアプリケーションをスキャンするには、以下の例に示すようにワークフローを構成します。
on: [push]
jobs:
ostorlab_web_scan:
runs-on: ubuntu-latest
name: Test ostorlab web scan.
steps:
- uses: actions/checkout@v2
- name: Launch Ostorlab web scan
id: start_scan
uses: Ostorlab/ostorlab_actions@v2.1.0
with:
scan_profile: full_web_scan
asset_type: link --url
target: https://target1.ostorlab.co --url https://target2.ostorlab.co --url https://target3.ostorlab.co
scan_title: web_scan_ci
ostorlab_api_key: ${{ secrets.ostorlab_api_key }}
break_on_risk_rating: HIGH
max_wait_minutes: 60
- name: Get scan id
run: echo "Scan Created with id ${{ steps.start_scan.outputs.scan_id }} you can access the full report at https://report.ostorlab.co/scan/${{ steps.start_scan.outputs.scan_id }}/"
Webアプリケーションスキャンの場合:
- scan_profile: full_web_scan を使用します。
- asset_type: link --url を設定します。
- 追加のURLごとに --url フラグを使用してターゲットURLをリストします。
Ostorlab Githubアクションは、次の入力を受け取ります。
scan_profile:スキャンプロファイルを指定する必須オプションです。高速静的解析のみの場合はfast scan、完全な静的、動的、バックエンドカバレッジの場合はfull_scan、またはWebアプリケーションスキャンの場合はfull_web_scanを指定できます。

asset_type:ターゲットのアセットタイプを指定する必須オプションです。たとえば、Android APK、iOS IPA、またはWebアプリケーションのリンクなどです。

target:必須のオプションです。スキャンするターゲットファイル、またはWebアプリケーションのURLです。

scan_title:オプションです。スキャンを識別するためのタイトルです。

ostorlab_api_key:必須のオプションです。Ostorlabダッシュボードの「Integrations/API」にある「API Keys」から取得できます。

break_on_risk_rating:オプションです。スキャン結果が指定された値以上の場合にパイプラインを中断するためのリスク評価です。

max_wait_minutes:オプションです。最大待機時間(分単位)です。スキャンがタイムアウトした場合、パイプラインは失敗しません。待たずにスキャンを実行したい場合は、このオプションを削除してください。

extra:オプションです。Ostorlab CLIに渡す追加の引数です。一般的なユースケースは、スキャンのテスト認証情報を渡すことです。

SBOMまたはLockファイルを提供してスキャン解析を強化できます。これを行うには、extra入力を使用してSBOMを渡します。たとえば、package lock dot jsonファイルを追加するには、次の例を使用します。

ここにサポートされているファイルのリストが表示されます。

Ostorlabは、シンプルなログインパスワード、または名前やラベルで識別されて値を渡すカスタム入力による認証済みテストの実行をサポートしています。GithubのYAML Actionは複雑なオブジェクトの受け渡しをサポートしていないため、テスト認証情報を渡すには、extra入力を使用できます。たとえば、ログインとパスワード、およびカスタム名と値を持つカスタム認証情報を追加するには、次の入力を追加します。

アクションの出力については、次の構文を使用して scan_id にアクセスできます:${{ steps.STEP_ID.outputs.scan_id }}。
3. Ostorlab Security Scanner GitHub Appを使用して、PR内で直接アクション可能なインサイトを提供する
Ostorlab Security Scanner GitHub Appは、ステップ1と2で説明したOstorlab Github Actionsワークフローと組み合わせて使用する必要があります。
Ostorlab Security Scanner GitHub Appは、Pull Requestsで直接アクション可能なインサイトを提供することで、開発者がコードのセキュリティを向上させるのを支援するように設計されています。 これは、どのコードが脆弱性を導入したかを正確に特定し、自動的にコミットできるアクション可能なインサイトとコード提案を提供することを主な目的として、セキュリティを開発ワークフローに統合します。 このドキュメントでは、Appのセットアップ方法と使用方法について説明します。
- GitHub Appの追加:
- Ostorlab Security Scanner App に移動します。

- Addをクリックします。

- アプリをインストールするアカウントを選択します。
- Install for freeをクリックします。

- 必要な権限を提供します。
- Pull requestsへの Read & Write アクセス。
- リポジトリの Metadata アクセス。

-
Installをクリックしてセットアップを完了します。

-
使用方法:
- 次のステップは、ステップ1と2で説明したようにスキャンをトリガーするOstorlabステップを追加するためにワークフローを更新することです。

- Ostorlabで更新されたワークフローを組み込んだプルリクエストを作成します。
スキャンが完了すると、Ostorlab Security Scannerは自動的にプルリクエストにコメントし、脆弱性が導入された場所を正確に特定し、修正のコードスニペットを提供します。

このガイドでは、新しいAPIキーの生成、さまざまなアクション入力の探索、アプリのインストール、結果の表示など、Ostorlab GitHub ActionとOstorlab Security Scanner Appを正常に利用するために必要な手順を説明しました。