> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corgea.app/llms.txt
> Use this file to discover all available pages before exploring further.

# スキャンレポートのアップロード

> 外部スキャナーのレポートをCorgeaへアップロード

Corgea DropsiteまたはCorgea CLIを使用してスキャンをアップロードできます。

<Info>
  **前提条件** Corgeaに登録済みであること

  **SASTスキャナー** Checkmarx、CodeQL、Semgrep、Fortify、Coverity、SnykなどのSASTスキャナーを使用していること。Corgeaは現在これらのスキャナーをサポートしており、VeracodeとSonarQubeのサポートもロードマップに含まれています。
</Info>

## Corgea Dropsite

Corgea Dropsiteは、プロジェクトを簡単にCorgeaに追加して分析できるウェブインターフェースです。コードや様々なセキュリティスキャナーからのレポートをアップロードするオプションがいくつか用意されています。Dropsiteのファイルサイズ制限は200MBです。大規模なプロジェクトの場合は、Corgea CLIをご利用ください。

### プロジェクトの追加

Corgeaにプロジェクトを追加するには、次の手順を実行します。
CorgeaのProjectsページまたはScansページで**Add Project**ボタンをクリックし、Dropsiteページに移動します。

<Frame>
  <img src="https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/add_project.png?fit=max&auto=format&n=uxLuQR4653lM43Tj&q=85&s=a5c3236d7c3b96e8dd8098a04db3d612" style={{ borderRadius: '0.5rem' }} width="1098" height="730" data-path="images/add_project.png" />
</Frame>

Dropsiteページには、プロジェクトを追加するためのいくつかのオプションが表示されます。

<Frame>
  <img src="https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/dropsite_add_project.png?fit=max&auto=format&n=uxLuQR4653lM43Tj&q=85&s=9485d69a1856ecf518b80b3e0514e4c9" style={{ borderRadius: '0.5rem' }} width="2434" height="1380" data-path="images/dropsite_add_project.png" />
</Frame>

#### リポジトリを接続する(推奨)

このオプションにより、GitHub、GitLab、Azure DevOps、Bitbucket、Harnessなどの設定済みソース管理統合を使って、コードリポジトリをCorgeaに直接接続できます。
適切なソース管理連携をクリックし、Corgeaによるリポジトリへのアクセスを許可します。
Corgeaに追加するリポジトリを選択します。

#### 公開リポジトリを追加

リポジトリが公開されている場合は、URLを提供してCorgeaに追加できます。
**Add a public repository**アコーディオンをクリックします。
2\. 入力欄に公開リポジトリのURLを入力します。
**Add**ボタンをクリックします。

#### ウェブアップロード

このオプションでは、プロジェクトのコードを含むZIPファイルをアップロードできます。
**Web upload**アコーディオンをクリックします。
**Upload**ボタンをクリックし、プロジェクトのコードを含むZIPファイルを選択します。

<Tip>
  ファイルサイズを削減して処理を高速化するため、プロジェクトをアップロードする際はサードパーティライブラリとビルドアーティファクト（例:`node_modules`、`vendor`、`dist`）を除外してください。リポジトリから直接ZIPファイルをダウンロードすると、これらを除外できます。
</Tip>

<Warning>
  Web uploadのファイルサイズ上限は200MBです。これを超えるプロジェクトにはCorgea CLIを使用してください。
</Warning>

プロジェクトを追加した後は、サポート済みのセキュリティスキャナーからレポートをアップロードする次のステップに進めます。

#### レポートをアップロード

<Frame>
  <img src="https://mintcdn.com/corgea/mpJUc1GyXtnVYEyT/images/upload_report.png?fit=max&auto=format&n=mpJUc1GyXtnVYEyT&q=85&s=ac858a4bdf28e8cc2e46552db583208a" style={{ borderRadius: '0.5rem' }} width="2512" height="2040" data-path="images/upload_report.png" />
</Frame>

<Steps>
  <Step title="レポートをアップロード">
    ローカルマシンからレポートファイル（通常はJSONファイル）を選択し、アップロードボックスにドロップします。
    <Info>CorgeaはCheckmarx(JSON)、CodeQL(JSON)、Snyk(SARIF)、Semgrep(JSON)、Fortify(FPR)、Coverity(XML)スキャンをサポートしています。</Info>
  </Step>

  <Step title="処理">
    レポートが正常にアップロードされると、Corgeaがプロジェクトとレポートを処理します。
  </Step>

  <Step title="結果を確認">
    Corgeaのダッシュボードにリダイレクトされ、プロジェクトの分析結果を確認できます。
  </Step>
</Steps>

これらの手順に従うことで、プロジェクトを簡単に追加し、セキュリティレポートをCorgeaにアップロードして分析や修復を行うことができます。

### Corgea CLI

Corgea CLI（コマンドラインインターフェース）は、CorgeaとCI/CDパイプラインの連携、カスタムスキャンの実行、200MBを超える大規模プロジェクトのアップロードに対応します。
**Corgea CLI**アコーディオンをクリックし、[CLI](install_cli)のインストール方法と使用方法を確認します。

pipを使ってCorgea CLIをインストールできます。

```bash theme={null}
pip install corgea-cli
```

[CLIの詳細はこちら](install_cli)

#### CLIでアップロード

<Steps>
  <Step title="リポジトリに移動">
    スキャン対象のリポジトリに移動します。

    <CodeGroup>
      ```bash Bash theme={null}
      cd <<Respository Name>>
      ```
    </CodeGroup>
  </Step>

  <Step title="スキャンを実行">
    <CodeGroup>
      ```bash Semgrep theme={null}
      corgea scan semgrep
      ```

      ```bash Snyk theme={null}
      corgea scan snyk
      ```

      ```bash Custom project name theme={null}
      corgea upload report.json --project-name my-service
      ```

      ```bash Checkmarx theme={null}
      # Create a scan with a JSON output for example:
      cx scan create --project-name juice-shop -s . --branch master --scan-types sast --report-format json --output-name report

      #Upload the vulnerability report to Corgea
      corgea upload report.json
      ```

      ```bash CodeQL theme={null}
      corgea upload <scan report in json>
      ```

      ```bash Fortify theme={null}
      corgea upload <scan report in FPR>
      ```

      ```bash Coverity theme={null}
      corgea upload <scan report in XML>
      ```
    </CodeGroup>
  </Step>

  <Step title="結果を確認">
    スキャンが完了すると、リポジトリフォルダーにスキャンレポートが生成され、そのコピーが処理のためCorgeaに送信されます。

    <Frame>
      <img src="https://mintcdn.com/corgea/uxLuQR4653lM43Tj/images/completed-scan.png?fit=max&auto=format&n=uxLuQR4653lM43Tj&q=85&s=5e7ee36166bd94cddeb3f918c2bc53bc" style={{ borderRadius: '0.5rem' }} width="1194" height="205" data-path="images/completed-scan.png" />
    </Frame>
  </Step>

  <Step title="問題の修正">
    スキャン結果の規模によっては、結果が表示されるまで時間がかかることがあります。検出結果が数百件の場合、通常は10分ほどかかります。

    詳細は[修正](fixes)を参照してください。
  </Step>
</Steps>

## トラブルシューティング

<AccordionGroup>
  <Accordion title="コマンドが見つかりません">
    このエラーは、Corgea CLIがインストールされていないか、`PATH`に含まれていない場合に発生します。

    ```
    bash: corgea: command not found
    ```

    [CLIのインストール手順](http://localhost:3001/install_cli)に従ってCLIをインストールします。
  </Accordion>

  <Accordion title="無効なトークンが提供されました。">
    [https://www.corgea.app/integrations/](https://www.corgea.app/integrations/)で取得した正しいトークンを使用してCLIにログインしていることを確認します。
  </Accordion>

  <Accordion title="ログインしていません">
    SAST/SCAツールにログインしていないというエラーが出るかもしれません。

    一部のツールはログインが必要です。例えば、次のコマンドでSemgrepにログインできます:

    ```
      semgrep login
    ```
  </Accordion>

  <Accordion title="Git Showの失敗">
    SAST/SCAツールにログインしていないというエラーが出るかもしれません。

    一部のツールはログインが必要です。例えば、次のコマンドでSemgrepにログインできます:

    ```
      Command failed with output:
      fatal: not a git repository (or any of the parent directories): .git


      Failed to run 'git show -s --format=%B'. Possible reasons:

      - the git binary is not available
      - the current working directory is not a git repository
      - the current working directory is not marked as safe
          (fix with `git config --global --add safe.directory $(pwd)`)

      Try running the command yourself to debug the issue.
      Could not start scan Command failed with exit code: 128
    ```
  </Accordion>
</AccordionGroup>
