コンテンツにスキップ

ソースコードスキャン

ソースコードスキャンは、本番環境に到達する前にソースコード内のセキュリティ脆弱性を直接特定するのに役立ちます。ソースコードリポジトリをOstorlabに接続することで、プロジェクトの一般的なセキュリティ問題をスキャンし、実用的な検出結果を確認し、開発ライフサイクルの早い段階で修正の優先順位を付けることができます。

このガイドでは、ソースコード統合の構成と最初のスキャンの実行手順を説明します。


⚙️ ソースコード統合の構成

リポジトリをスキャンする前に、ソースコードプロバイダーをOstorlabに接続する必要があります。

  1. Ostorlabダッシュボードを開きます。
  2. 左上隅ハンバーガーメニューをクリックします。
  3. Integrations(統合)に移動します。 Integrationsの選択
  4. Source Code(ソースコード)カテゴリを選択します。 Source Codeカテゴリの選択
  5. 接続するソースコードプロバイダー(GitHub、GitLab、Bitbucket、Azure DevOps、またはセルフホストGit)を選択します。
  6. プロバイダー固有の構成手順に従って、リポジトリへのアクセスを承認します。

統合が完了すると、ソースコードスキャンを作成する際にリポジトリを選択できるようになります。


🚀 新規ソースコードスキャンの作成

ステップ 1: 新規スキャンの実行

統合を設定した後:

  1. Ostorlabダッシュボードを開きます。
  2. サイドバーのハンバーガーメニューアイコンをクリックし、Scanning -> New Scanを選択します。 新規スキャンの実行
  3. (任意)セキュリティ監査の説明的なタイトルを入力します。 スキャンタイトルの入力

ステップ 2: スキャンアセットの選択

新規スキャンを作成する際:

  1. スキャンアセットとしてCode Repository(コードリポジトリ)を選択します。 Code Repositoryの選択
  2. スキャンするリポジトリを選択します。 リポジトリの選択
  3. 適切なTarget Typeを選択します。
  4. Continueをクリックします。

ステップ 3: AIプロバイダーとエフォートの構成

ソースコードスキャンは、OstorlabのCybermodelsまたはBring Your Own Key (BYOK)によるカスタムAPIキーを使用して実行できる、エージェント型AI駆動スキャンです。

  1. スキャンに使用するAIプロバイダーをCybermodelsまたはBYOKから選択します。 AIプロバイダーの選択
  2. または、AIプロバイダーとしてBYOKを選択します。 BYOKの選択

ステップ 4: エフォートレベルの構成

エフォートレベルは、Ostorlabがリポジトリをどの程度広範囲に分析するかを決定します。エフォートレベルを高くすると、コードカバー率が広がり、より詳細な分析が行われますが、スキャンの所要時間とAIトークンの消費量が増加する可能性があります。

  1. リポジトリとセキュリティ要件に最も適したエフォートレベルを選択してください:
    • Core(50トークン): 高速なベースライン分析を実行します。開発中の迅速なセキュリティチェックに最適です。
    • Advanced(200トークン): より広いコードカバレッジで深い分析を提供し、より幅広いセキュリティ問題を特定します。
    • Elite(400トークン): 最も包括的な分析を実行し、複雑で発見が困難な脆弱性を検出するためのカバレッジを最大化します。 エフォートレベルの構成
  2. Continueをクリックします。

ステップ 5: スキャンプロファイルの選択

Repository Scan Profileを選択し、Submitをクリックしてスキャンを開始します。 スキャンプロファイルの選択

ステップ 6: 結果の確認

スキャンが完了すると、検出されたセキュリティ結果をOstorlabダッシュボードで確認できます。

各検出結果には、深刻度、影響を受けるファイル、およびセキュリティ問題を優先して解決するための修正ガイダンスが含まれています。

スキャン結果の確認


🌍 サポートされている言語

解析の深さと手法は、リポジトリを Fast Scan(決定論的SAST、シークレット検出、SCA)でスキャンするか、Deep Agentic Scan(AI自律推論、複数ファイルにまたがるデータフロー追跡、ビジネスロジック脆弱性検証)でスキャンするかによって異なります。

言語 / エコシステム Fast Scan Deep Agentic Scan スコープおよびアナライザー
Python サポート サポート SASTルール、OSVロックファイル(requirements.txt, Pipfile.lock, poetry.lock)、AIコンテキスト追跡、ロジック脆弱性検出
JavaScript / TypeScript サポート サポート SASTルール、OSV(package-lock.json, yarn.lock, pnpm-lock.yaml)、TruffleHog、AIテイント解析、プロトタイプ汚染
Java サポート サポート SASTルール、OSV(pom.xml, build.gradle)、Spring Security監査、AIエクスプロイト連鎖
Kotlin サポート サポート SASTルール、OSV(build.gradle.kts)、Androidおよびバックエンドセキュリティロジック
Go (Golang) サポート サポート SASTルール、OSV(go.sum, go.mod)、並行性問題、AIロジック解析
C / C++ サポート サポート SASTパターン検証、メモリ安全性誤用、バッファ処理、AI意味解析評価
C# / .NET サポート サポート SASTルール、OSV(packages.lock.json)、ASP.NETセキュリティ設計、デシリアライズ
PHP サポート サポート SASTルール、OSV(composer.lock)、SQLインジェクション、オブジェクト注入、AI認証フローテスト
Ruby サポート サポート SASTルール、OSV(Gemfile.lock)、Railsセキュリティパターン、マスアサインメント
Rust サポート サポート SASTルール、OSV(Cargo.lock)、unsafeブロック監査、パニックパターン検出
Scala サポート サポート SASTルール、OSV(build.sbt)、関数型パターンセキュリティ
Swift / Objective-C サポート サポート SASTルール、OSV(Package.resolved, Podfile.lock)、iOSセキュアストレージおよびIPC
Dart / Flutter サポート サポート OSV(pubspec.lock)、シークレット検出、モバイルロジック探索
Solidity / Smart Contracts シークレットおよび静的 サポート リエントランシー、アクセス制御バイパス、オラクル操作、AI推論
Terraform / IaC / Docker サポート サポート IaC誤設定、コンテナ権限昇格、シークレット漏洩
その他の言語 (Elixir, Erlang, Haskell, Julia, Lua, Perl, COBOL, Fortranなど) シークレットおよびSCA サポート TruffleHogシークレットスキャン、ロックファイルSCA(OSV経由)、汎用LLMコード推論