ページ内ナビ
概要
Semgrepは、探したいコードの形に近いパターンを書いてソースコードを調べる静的解析ツールです。30以上の言語を対象に、既知の不具合の変種、危険なAPI利用、組織のコーディング規約を開発中の確認からCIまで同じ規則で検査できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
コードの形を保った規則で意味のある一致を探す
文字列検索だけでは扱いにくい変数名の違いや構文を抽象化し、ソースコードに似た規則で一致を探せます。既成規則に加えてYAMLで独自規則を作成でき、CLI、エディター、pre-commit、CIへ段階的に組み込めます。CLIは既定で対象コードをローカルに保ったまま解析します。
出典:[1]
向いている用途
調査用の一回の検索を継続的な防止策へ育てる
障害や脆弱性で見つかったコードの形を同じリポジトリ内から探し、その規則をレビュー時の検査として残す用途に適しています。小さな対象で一致内容を確認してから規則を版管理し、pre-commitやCIへ追加すれば、同種の変更を早い段階で検出できます。
出典:[1]
導入前の確認
参考にした公式資料
- [1]Semgrep v1.179.0 README(2026-10-04)
- [2]Semgrep v1.179.0 CLI package metadata(2026-10-04)
- [3]semgrep/semgrep GitHub repository metadata(2026-10-04)
- [4]Semgrep v1.179.0 LICENSE(2026-10-04)
編集部からの補足
最初に少数の実例と既知の見逃しを用意し、規則の誤検知・見逃しを測ってください。単一ファイル内の確認にはCommunity Editionを使い、関数間・ファイル間の追跡が必要な安全性検査はAppSec Platformを含めて評価します。
3ステップで試す
- 1
Python環境を分ける
Python 3.10以上とmacOSまたはLinuxのPOSIXシェルを前提に、試行用の仮想環境を作成して有効にします。以降も同じ端末と作業ディレクトリを使います。
python3 -m venv semgrep-demo-env && . semgrep-demo-env/bin/activate - 2
Semgrep 1.179.0を導入する
確認したCLIの固定版を仮想環境へ導入します。アカウントやトークンは不要です。
python -m pip install "semgrep==1.179.0" - 3
ローカルの例を検査する
2行のPythonファイルをLF改行で生成し、公式READMEと同じ直接指定した規則で解析して、検出結果が1件であることを確認します。対象コードの送信や外部プロジェクトの変更は行いません。
printf '%s\n' 'def same(value):' ' return value == value' > demo.py && semgrep --json -e '$X == $X' --lang=py demo.py > results.json && python -c 'import json; assert len(json.load(open("results.json"))["results"]) == 1'
成長
成長の推移 · 直近30日
16,867 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 82
- Open PR
- 55
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- JumpServer31,708 Stars
共通タグ 2件 · 共通カテゴリ 1件
SSH・RDP・Kubernetes・DBへの特権アクセスを一つのPAMへ集約する
Python - SonarQube Community Build11,044 Stars
共通タグ 2件 · 共通カテゴリ 1件
static analysisとQuality Gateでbug・vulnerability・maintainability・coverageを継続検証するopen-source code verification server
Java - MasterHttpRelayVPN3,935 Stars
共通タグ 2件 · 共通カテゴリ 1件
Google Apps Script等をrelayに使い、local proxyがHTTP/SOCKS trafficを中継する実験的proxy stackとして理解する
Python - Heliox-OS66 Stars
共通タグ 2件 · 共通カテゴリ 1件
natural language・voice・gestureから既存OSを操作し、permission・approval・verificationを通して実actionを実行するlocal-first desktop agent
Python - FreeIPA1,288 Stars
共通タグ 2件
LDAP・Kerberos・PKI・DNS・sudo/access rulesを統合しLinux identityとaccessを中央管理する
Python - libsodium13,973 Stars
共通タグ 1件 · 共通カテゴリ 2件 · 同じ言語
暗号化・署名・パスワードハッシュを移植性の高いAPIで扱う暗号ライブラリ
C
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。