ローカルオンプレミスコードスキャンのためのGitHub Action設定
はじめに
Aikido Security Local Scanner を使用すると、GitHub Action 内で直接スキャンを実行でき、さらに、もしあなたが GitHub Enterprise Server (GHES) 環境を使用している場合にも対応できます。コードが外部に出ることはありません。スキャンはローカルで実行され、結果のみが Aikido Security プラットフォームにアップロードされます。この構成により、最大限のプライバシーを確保しつつ、Aikido ダッシュボードから脆弱性を管理できます。
これは 該当しません 通常のクラウドベースのスキャナーには適用されません。この GitHub Action のセットアップは、ローカルバイナリを使ったオンプレミススキャン専用です。
前提条件
GitHub Enterprise Server 環境(セルフホストまたはエンタープライズ管理)。
CI/CD ランナー - GitHub Actions
Aikido Local Scanning アカウント。
システム要件:
CPU コア 2~4 個
RAM 8~16 GB
外向きの HTTPS(443)アクセスが有効
ローカルオンプレミススキャンのセットアップ方法
前提条件: ローカルスキャンを許可するアカウントが作成済みであることを確認してください。 ローカルスキャンアカウントの作成に関する詳細.
1. 認証トークンを生成する
次へ移動し、 ローカルスキャナーの設定ページ.
認証トークンを生成してコピーします。 注意 このトークンは一度しか表示できません。
このトークンを引数として追加します
--apikeyプロジェクトで Local Scanner を実行する際に使用します。Settings > Secrets and variables > Actions に移動して、このトークンを GitHub Secrets に保存してください。

保存されている AIKIDO_API_KEY シークレットを示すリポジトリシークレット管理画面。
2. Local Scanner の実行
これで、あとはリポジトリでスキャナーを実行するだけです。 ローカルスキャナーがデフォルトブランチでのみ起動するようにしてください。Aikido では既定で、依存関係やコードの問題についてリポジトリ内の 1 ブランチのみをスキャンできます。通常は main または master ブランチです。そのため、Aikido プラットフォーム上でスキャン結果が混在しないよう、このブランチでのみローカルスキャナーを実行することを推奨します。これはワークフローファイルの 'on' セクションで指定できます。
Docker を使用する
GitHub Actions でローカルスキャナーを使用する最も簡単な方法は、Docker イメージを使うことです。
例 .github/workflows/aikido-scan.yml:
コマンドを実行する際に、 --branchname オプションを使って、希望するブランチを指定してください。
このリポジトリで最初のスキャンである場合、Aikido は指定した名前でリポジトリを作成し、すべてのスキャン結果をその中に保存します。以後のスキャン結果は、Aikido 内でこのリポジトリ名の下に集約されます。
既定ではすべてのスキャンタイプが実行されます。特定のスキャンだけを実行したい場合(例: SAST のみ)、 --scan-types オプション。CLI オプションの詳細は こちら.
でスキャンタイプを指定できます。リリース前にリポジトリをスキャンする際に役立つ、リリースゲーティングモードや PR ゲーティングモードでもスキャナーを実行できます。リリースゲーティングモードでは、リリース候補に未解決の問題がないことを確認できます。このモードで実行すると、スキャン完了後に選択した重大度以上の未解決の問題がある場合、スキャナープロセスは失敗します。PR ゲーティングモードは、PR で新たに導入された可能性のある問題をスキャンするために使用できます。
リリースゲーティングモードまたは PR ゲーティングモードの詳細は、 この記事.
3. スキャン結果を確認する
最初のスキャン後:
Aikido に、
-repositoryname.で指定した名前のリポジトリが表示されます。
スキャンは次のモードで実行するよう設定できます: リリースゲーティング または PR ゲーティング 未解決の問題があるデプロイをブロックしたい場合に使用できます。
注意事項と制限
Local Scanner アカウント には AutoFix が含まれません UI 上で。AutoFix は IDE 連携
既定では、すべてのスキャンタイプが有効です。以下を使ってスキャンを制限できます(例: SAST のみ)。
-scan-typesフラグ。「Local Scanner 用 CLI オプション」を読んで、ローカルスキャナー実行時に渡せるすべてのオプションを確認してください。
結果の混在を避けるため、スキャンするブランチは 1 つだけ(通常は
mainまたはmaster)にしてください。
最終更新
役に立ちましたか?