- スキャン
- スキャンを実行
- ソースコードをスキャン
ソースコードスキャン
ソースコードスキャンは、本番環境に到達する前にソースコード内のセキュリティ脆弱性を直接特定するのに役立ちます。ソースコードリポジトリをOstorlabに接続することで、プロジェクトの一般的なセキュリティ問題をスキャンし、実用的な検出結果を確認し、開発ライフサイクルの早い段階で修正の優先順位を付けることができます。
このガイドでは、ソースコード統合の構成と最初のスキャンの実行手順を説明します。
⚙️ ソースコード統合の構成
リポジトリをスキャンする前に、ソースコードプロバイダーをOstorlabに接続する必要があります。
- Ostorlabダッシュボードを開きます。
- 左上隅ハンバーガーメニューをクリックします。
- Integrations(統合)に移動します。

- Source Code(ソースコード)カテゴリを選択します。

- 接続するソースコードプロバイダー(GitHub、GitLab、Bitbucket、Azure DevOps、またはセルフホストGit)を選択します。
- プロバイダー固有の構成手順に従って、リポジトリへのアクセスを承認します。
統合が完了すると、ソースコードスキャンを作成する際にリポジトリを選択できるようになります。
🚀 新規ソースコードスキャンの作成
ステップ 1: 新規スキャンの実行
統合を設定した後:
- Ostorlabダッシュボードを開きます。
- サイドバーのハンバーガーメニューアイコンをクリックし、Scanning -> New Scanを選択します。

- (任意)セキュリティ監査の説明的なタイトルを入力します。

ステップ 2: スキャンアセットの選択
新規スキャンを作成する際:
- スキャンアセットとしてCode Repository(コードリポジトリ)を選択します。

- スキャンするリポジトリを選択します。

- 適切なTarget Typeを選択します。
- Continueをクリックします。
ステップ 3: AIプロバイダーとエフォートの構成
ソースコードスキャンは、OstorlabのCybermodelsまたはBring Your Own Key (BYOK)によるカスタムAPIキーを使用して実行できる、エージェント型AI駆動スキャンです。
- スキャンに使用するAIプロバイダーをCybermodelsまたはBYOKから選択します。

- または、AIプロバイダーとしてBYOKを選択します。

ステップ 4: エフォートレベルの構成
エフォートレベルは、Ostorlabがリポジトリをどの程度広範囲に分析するかを決定します。エフォートレベルを高くすると、コードカバー率が広がり、より詳細な分析が行われますが、スキャンの所要時間とAIトークンの消費量が増加する可能性があります。
- リポジトリとセキュリティ要件に最も適したエフォートレベルを選択してください:
- Core(50トークン): 高速なベースライン分析を実行します。開発中の迅速なセキュリティチェックに最適です。
- Advanced(200トークン): より広いコードカバレッジで深い分析を提供し、より幅広いセキュリティ問題を特定します。
- Elite(400トークン): 最も包括的な分析を実行し、複雑で発見が困難な脆弱性を検出するためのカバレッジを最大化します。

- 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コード推論 |