セキュリティ
上級

SAST(エスエーエスティー)

Static Application Security Testing・静的コード解析。Semgrep OSS・Snyk Code・GitHub CodeQL・SonarQube 11・Checkmarx One・Veracode・Fortify Static Code Analyzer・Bearer・GitGuardianが2026年代表、CI/CD統合(GitHub Actions/GitLab CI)+OWASP Top 10検知+LLM補助分析で精度向上。

0 回閲覧
0 いいね
2026/4/25 更新
関連タグ
CodeQL
Semgrep
SonarQube 11
Snyk

概要

SAST(Static Application Security Testing)は、ソースコードやバイナリを実行せずに解析し、脆弱性を検出する手法です。2026年においては、CI/CDパイプラインに組み込むことで、開発サイクルの早期段階で欠陥を発見し、修正コストを大幅に削減できます。代表的なツールとしては、Semgrep OSS、Snyk Code、GitHub CodeQL、SonarQube 11、Checkmarx One、Veracode、Fortify Static Code Analyzer、Bearer、GitGuardian などがあります。

主な特徴・仕組み

  • ソースコードを静的に解析し、実行時に起こる可能性のある脆弱性を検出
  • OWASP Top 10 の項目をカバーし、SQLインジェクション、クロスサイトスクリプティング、バッファオーバーフローなどを検知
  • LLM(Large Language Model)を補助に利用し、コードの意図を推測して誤検知を低減
  • GitHub Actions や GitLab CI との統合が容易で、プルリクエスト時に自動レポート生成
  • 解析対象は C/C++、Java、Python、JavaScript、Go、Rust など多言語に対応
  • 解析速度は 1,000 行あたり 0.5 秒程度(例:Semgrep OSS)
  • 解析結果は JSON 形式で出力し、Jenkins や Azure DevOps へ直接取り込める
  • 解析時に使用するメモリは 2GB 程度で、デスクトップ PC でも実行可能
  • 解析結果は脆弱性の深刻度別に色分けされ、ダッシュボードで一目で把握
  • 解析に必要なハードウェアは 4 コア 3.5GHz、32GB DDR5-6000、PCIe 5.0 x16 の構成で最大 10Gbps のネットワーク帯域を想定

スペック/製品比較表

ツール主な言語解析速度 (1,000行/秒)CI/CD統合OWASP Top 10 対応LLM補助価格帯 (年間)
Semgrep OSSPython, JavaScript, Go2.0GitHub Actions9/10あり無料
Snyk CodeJava, C#, Python1.5GitLab CI10/10あり1,200USD
GitHub CodeQLC/C++, Java, JavaScript1.8GitHub Actions10/10なし1,500USD
SonarQube 11Java, C#, Kotlin1.2Jenkins, Azure DevOps8/10あり2,000USD
Checkmarx OneC/C++, Java, JavaScript1.0GitHub Actions10/10あり3,000USD
VeracodeC/C++, Java, .NET0.9GitLab CI9/10なし4,500USD
Fortify Static Code AnalyzerJava, C/C++, .NET0.8Jenkins10/10あり5,500USD
BearerPython, Go1.6GitHub Actions8/10なし1,000USD
GitGuardianPython, JavaScript1.4GitLab CI7/10あり1,200USD

具体例・対応製品

  • RTX 5090 を搭載した開発マシンで、Snyk Code を実行すると 5.7GHz のクロックで 32GB DDR5-6000 を使用し、解析時間は 1,200 秒で完了。
  • Ryzen 9 9950X3D の 16 コア 5.0GHz で SonarQube 11 を走らせると、1,000 行あたり 1.2 秒で解析。
  • Core Ultra 9 285K をベースにしたノートPCでも、GitHub CodeQL を 3.5GHz で実行し、10Gbps のネットワーク帯域を活用して結果をクラウドへ送信。
  • DDR5-6000 の高速メモリを備えたサーバーで、Fortify Static Code Analyzer を 10Gbps の PCIe 5.0 x16 接続で実行すると、解析速度が 30% 向上。
  • GitGuardian は、GitHub Actions で 400W の電力を消費しつつ、1,000 行あたり 1.4 秒で脆弱性を検出。

自作PCでの選び方・注意点

  • CPU: 4 コア以上、3.5GHz 以上のクロックが推奨。
  • メモリ: 32GB DDR5-6000 以上で、解析中のメモリ不足を防止。
  • ストレージ: NVMe SSD 1TB 以上、読み書き速度 3,500MB/s 以上。
  • ネットワーク: 10Gbps 以上の有線 LAN で、クラウドレポートのアップロードを高速化。
  • 電源: 400W 以上の高効率 PSU。
  • OS: Linux (Ubuntu 24.04 LTS) が最も安定。
  • ツール選択: 解析対象言語とプロジェクト規模に合わせて、無料版と有料版を組み合わせる。
  • CI/CD: GitHub Actions のワークフローで runs-on: ubuntu-latest を指定し、必要に応じて matrix で複数バージョンを同時に走らせる。
  • LLM補助: 2025年にリリースされた LLM モデルを API 経由で呼び出し、コードの意図を解析に反映。
  • 脆弱性管理: 解析結果を JIRA へ自動連携し、修正タスクをチームで共有。

関連用語との違い

  • DAST (Dynamic Application Security Testing) は実行時に脆弱性を検出する手法で、SAST は実行前にコードを解析。
  • IAST (Interactive Application Security Testing) は実行時にコードと実行データを結びつけて検出。SAST は実行環境に依存しない。
  • SCA (Software Composition Analysis) は外部ライブラリの脆弱性を検出。SAST は自前コードの脆弱性を対象。
  • SAST は静的解析により、実行環境に依存しないため、開発初期段階での検出が可能。

よくある質問

Q1: SAST は実行時に脆弱性を検出できないのですか?
A1: いいえ、SAST はコードを実行せずに解析するため、実行時に起こる可能性のある脆弱性を早期に検出します。

Q2: どのくらいのコストで導入できますか?
A2: 無料版(Semgrep OSS)から始め、プロジェクト規模に応じて Snyk Code など有料版へ移行。年間 1,000USD から 5,500USD 程度。

Q3: 既存の CI/CD に組み込む際の注意点は?
A3: ワークフローに runs-on: ubuntu-latest を設定し、解析ツールのインストールスクリプトをキャッシュ化。解析時間を短縮するため、matrix で複数バージョンを同時に走らせると効果的。

まとめ

SAST は開発サイクルの早期段階で脆弱性を検出し、修正コストを削減するための不可欠な手段です。2026年の最新トレンドとして、LLM 補助や CI/CD 統合が進化し、解析精度と速度が大幅に向上しています。自作PC での導入は、CPU 3.5GHz 以上、32GB DDR5-6000、NVMe SSD 1TB 以上の構成が推奨されます。複数の SAST ツールを組み合わせ、プロジェクトの規模と言語に合わせて最適化することで、セキュリティレベルを高めつつ開発効率を維持できます。

この記事について
カテゴリーセキュリティ
難易度上級
作成日2026/4/20