For the complete documentation index, see llms.txt. This page is also available as Markdown.

ローカルオンプレミスコードスキャンのためのGitHub Action設定

はじめに

Aikido Security Local Scanner を使用すると、GitHub Action 内で直接スキャンを実行でき、さらに、もしあなたが GitHub Enterprise Server (GHES) 環境を使用している場合にも対応できます。コードが外部に出ることはありません。スキャンはローカルで実行され、結果のみが Aikido Security プラットフォームにアップロードされます。この構成により、最大限のプライバシーを確保しつつ、Aikido ダッシュボードから脆弱性を管理できます。

前提条件

  • GitHub Enterprise Server 環境(セルフホストまたはエンタープライズ管理)。

  • CI/CD ランナー - GitHub Actions

  • Aikido Local Scanning アカウント。

  • システム要件:

    • CPU コア 2~4 個

    • RAM 8~16 GB

    • 外向きの HTTPS(443)アクセスが有効

ローカルオンプレミススキャンのセットアップ方法

前提条件: ローカルスキャンを許可するアカウントが作成済みであることを確認してください。 ローカルスキャンアカウントの作成に関する詳細.

1. 認証トークンを生成する

  1. 認証トークンを生成してコピーします。 注意 このトークンは一度しか表示できません。

  2. このトークンを引数として追加します --apikey プロジェクトで Local Scanner を実行する際に使用します。

  3. 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 フラグ。

  • 結果の混在を避けるため、スキャンするブランチは 1 つだけ(通常は main または master)にしてください。

最終更新

役に立ちましたか?