# ローカルコードスキャンのためのLinuxセットアップ

**目次:**

* [要件](https://help.aikido.dev/docs/docs-ja/code-scanning/local-code-scanning/linux-setup-for-local-code-scanning#requirements)
* [一時フォルダ​](https://help.aikido.dev/docs/docs-ja/code-scanning/local-code-scanning/linux-setup-for-local-code-scanning#temporary-folder)
* [Local Scanningのセットアップ方法](https://help.aikido.dev/docs/docs-ja/code-scanning/local-code-scanning/linux-setup-for-local-code-scanning#how-to-set-up-local-scanning)
  * [1. 認証トークンを取得する](https://help.aikido.dev/docs/docs-ja/code-scanning/local-code-scanning/linux-setup-for-local-code-scanning#1-get-your-authentication-token)
  * [2. Local Scannerをプロジェクトに追加する](https://help.aikido.dev/docs/docs-ja/code-scanning/local-code-scanning/linux-setup-for-local-code-scanning#2-adding-the-local-scanner-to-your-project)
  * [3. Local Scannerを実行する](https://help.aikido.dev/docs/docs-ja/code-scanning/local-code-scanning/linux-setup-for-local-code-scanning#3-running-the-local-scanner)
  * [4. スキャン結果を確認する](https://help.aikido.dev/docs/docs-ja/code-scanning/local-code-scanning/linux-setup-for-local-code-scanning#4-check-your-scanning-results)

## ローカルコードスキャンのためのLinuxセットアップ

Aikido Security Local Scannerは、お使いの環境内でAikido Securityのスキャンを実行できるツールであり、コードが社外に出ることはありません。スキャンはローカルで行われ、その結果がAikido Securityプラットフォームにアップロードされます。このセットアップにより、ご自身のマシン上で任意のリポジトリをローカルにスキャンできます。

### 要件 <a href="#requirements" id="requirements"></a>

現在、x86\_64およびARM64のオペレーティングシステムアーキテクチャをサポートしています。

### 一時フォルダ​ <a href="#temporary-folder" id="temporary-folder"></a>

スキャナーは、特定の処理を実行するためにローカルの一時フォルダ(デフォルトは .aikidotmp)を作成します:

* 効率的なスキャンを実行するために、特定のロックファイルをコピーします。
* スキャナーの結果を書き込みます。

このフォルダはスキャン終了後にクリーンアップされます。

また、一部のファイルは一時作業ディレクトリにコピーされます。十分な空き容量があることを確認してください。最低10GBを推奨します。​

### Local Scanningのセットアップ方法 <a href="#how-to-set-up-local-scanning" id="how-to-set-up-local-scanning"></a>

#### 1. 認証トークンを取得する <a href="#id-1-get-your-authentication-token" id="id-1-get-your-authentication-token"></a>

1. [Local Scannerセットアップページ](https://app.aikido.dev/settings/integrations/localscan)に移動します
2. 認証トークンを生成してコピーします。このトークンは一度しか表示できないことに注意してください。
3. プロジェクトでLocal Scannerを実行する際に、このトークンを引数 `--apikey` として追加します。

#### 2. Local Scannerをプロジェクトに追加する <a href="#id-2-adding-the-local-scanner-to-your-project" id="id-2-adding-the-local-scanner-to-your-project"></a>

Aikido UIからローカルスキャナーのバイナリをダウンロードします。

#### 3. Local Scannerを実行する <a href="#id-3-running-the-local-scanner" id="id-3-running-the-local-scanner"></a>

あとは、スキャンしたいディレクトリに対してスキャナーを実行するだけです。

```shellscript
./aikido-local-scanner scan path_to_my_repository --apikey AIK_CI_xxx --repositoryname DemoApp --branchname main
```

デフォルトではすべてのスキャナーが実行されます。一部のスキャナーのみを実行したい場合は、`--scanners` オプションでスキャナー名を指定してください。CLIオプションの詳細は[こちら](https://help.aikido.dev/code-scanning/local-code-scanning/cli-options-for-local-scanner)をご覧ください。

または、[Docker Hub](https://hub.docker.com/r/aikidosecurity/local-scanner)や[AWS Elastic Container Registry](https://gallery.ecr.aws/z1o3v2w5/aikidosecurity/local-scanner)にある当社のDockerイメージを使用してリポジトリをスキャンすることもできます。続行する前に、[Dockerがインストールされている](https://docs.docker.com/desktop/)ことを確認してください。まずスキャンしたいディレクトリに移動し、次のようなコマンドでスキャンを実行します:

```shellscript
docker run --rm -v "$(pwd):/my-app" aikidosecurity/local-scanner scan /my-app --apikey AIK_CI_xxx --repositoryname RepoName --branchname main
```

#### 4. スキャン結果を確認する <a href="#id-4-check-your-scanning-results" id="id-4-check-your-scanning-results"></a>

最初のスキャンが完了したら、Aikido Feedに移動して結果を確認できます。指定した名前のリポジトリが作成され、スキャンのすべての結果が含まれています。
