OSS探訪

Semgrep互換ルールで30以上の言語を静的解析し、脆弱性候補を検出する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
3,124
主要言語
OCaml
ライセンス
LGPL-2.1
リポジトリ最終更新
2026/09/30
ページ内ナビ

概要

Opengrepはコードパターンと意味的な解析を使ってセキュリティ上の問題を検出するオープンソースのSASTエンジンです。Semgrepからforkされ、既存のSemgrepルールとの互換性を維持しながら独自の解析機能を拡張しています。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

既存のSemgrepルールをそのまま活用する

Semgrep互換のルールとrulesetを利用できるため、既存の静的解析ルールを移行しやすく、JSONやSARIFで結果を他のセキュリティ・CI基盤へ渡せます。

出典:[2]

パターン検索とtaint解析で脆弱性候補を追う

単純な文字列検索ではなく構文を理解したパターンマッチとtaint解析を行い、フィールド代入、メソッド間の流れ、高階関数などを追跡する機能を備えています。

出典:[2]

30以上の言語を一つのCLIで解析する

JavaScript、TypeScript、Python、Go、Java、PHP、C#、Rust、Terraformなど30以上の言語を対象にし、同じopengrep scanコマンド体系で実行できます。

出典:[2]

向いている用途

ローカル開発とCIへSASTを組み込みたいチームに向く

開発者の手元でルールを試し、そのままCIの差分スキャンやSARIF連携へ広げたいAppSec・DevSecOps用途の候補になります。

出典:[2][3]

導入前の確認

fork元との互換性と独自拡張を分けて確認する

READMEはSemgrep v1.100.0からのforkであることを明記しています。ルール互換性は重視されていますが、CLIや新機能は独自に変化するため、Semgrepとの完全な同一動作を前提にせず検証します。

出典:[2]

安定版とcandidate・alphaを区別する

2026年9月時点の安定版はv1.30.0です。v1.30.1-candidateや2.0.0 alphaはprereleaseなので、本番CIでは安定版へ固定する方が再現しやすくなります。

出典:[3]

LGPL-2.1の再配布・改変条件を確認する

リポジトリはLGPL-2.1で公開されています。バイナリ再配布や改変を伴う組み込みでは、利用形態に応じてライセンス条件を確認します。

出典:[4]

参考にした公式資料

  1. [1]opengrep/opengrep repository(2026-09-30)
  2. [2]Opengrep README(2026-09-30)
  3. [3]Opengrep v1.30.0 release(2026-09-30)
  4. [4]Opengrep LGPL-2.1 license(2026-09-30)
編集部からの補足

既存のSemgrepルール資産を活かしながら、オープンなSASTエンジンとしてローカルやCIで使える点が特徴です。2026年9月時点ではv1.30.0が安定版で、1.30.1 candidateや2.0 alphaはprereleaseとして分けて評価する必要があります。

3ステップで試す

  1. 1

    Opengrep v1.30.0を導入

    公式インストーラーで安定版v1.30.0を固定して導入します。

    curl -fsSL https://raw.githubusercontent.com/opengrep/opengrep/main/install.sh | bash -s -- -v v1.30.0
  2. 2

    最小ルールと検査対象を作成

    JavaScriptのeval呼び出しを検出する簡単なローカルルールとサンプルコードを用意します。

    mkdir -p rules code && printf 'rules:\n- id: risky-eval\n pattern: eval(...)\n message: Avoid eval\n languages: [javascript]\n severity: WARNING\n' > rules/demo.yml && printf 'eval(userInput);\n' > code/demo.js
  3. 3

    静的解析を実行

    rules配下のルールでcode配下を解析し、検出結果をCLIで確認します。CI連携ではJSONやSARIF出力へ拡張できます。

    opengrep scan -f rules code
公式READMEで確認

成長

成長の推移 · 直近30日

3,124 Stars

推移データを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る
Stars
3,124
Forks
268
Watchers
26
Open Issues
97
所有者種別
Organization
主要言語
OCaml
ライセンス
LGPL-2.1
リポジトリ最終更新
2026/09/30

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?