コード品質ツールのOSS比較【2026年版】SonarQube・ESLint・Ruffで静的解析
オープンソースラボ編集部 ・ 2026年6月13日
コードレビューだけではすべてのバグ・セキュリティ脆弱性を発見するのは難しいです。静的解析ツールをCIに組み込めば、コードプッシュのたびに自動チェックできます。
コード品質ツールの種類
| 種類 | 目的 | 例 |
|---|---|---|
| Linter | スタイル・簡単なバグ検出 | ESLint・Ruff・Pylint |
| 静的解析 | 複雑なバグ・セキュリティ | SonarQube・Semgrep |
| 型チェック | 型エラーの検出 | TypeScript・mypy |
| 依存関係脆弱性 | パッケージの既知の脆弱性 | Trivy・OWASP Dependency-Check |
OSS コード品質ツール比較表
| ツール | 言語対応 | CI連携 | 特徴 |
|---|---|---|---|
| SonarQube | 30+ | ✅ | 最も多機能・ダッシュボード充実 |
| Semgrep | 30+ | ✅ | セキュリティルール豊富・高速 |
| ESLint | JS/TS | ✅ | JS/TS標準・プラグイン豊富 |
| Ruff | Python | ✅ | Python最速・Rust製 |
SonarQube:最も多機能なOSS静的解析
SonarQube(公式サイト↗・GitHub↗)はコードの品質・セキュリティ・バグ・コードスメルを包括的に分析するOSSです。CommunityEditionは無料で使えます。
docker run -d --name sonarqube \
-p 9000:9000 \
sonarqube:community
詳しくはSonarQube公式ドキュメント↗を参照。
Ruff:Python最速のリンター
Ruff(GitHub↗)はRust製のPythonリンター・フォーマターで、Flake8+Black+isortの代替として2026年の標準になっています。従来ツールの10〜100倍速く動作します。
DevOps関連OSSはDevOpsカテゴリから。CI/CDとの組み合わせはセキュリティカテゴリも参照。
Semgrep:セキュリティ特化の静的解析
Semgrep(公式サイト↗・GitHub↗)はセキュリティルールが豊富な静的解析OSSです。SQL injection・XSS・SSRF等の脆弱性パターンをコードで定義でき、カスタムルールも作れます。
選び方
| ユースケース | 推奨 |
|---|---|
| 総合品質ダッシュボード | SonarQube |
| セキュリティ脆弱性検出 | Semgrep |
| JavaScript/TypeScript | ESLint |
| Python高速化 | Ruff |
まとめ
2026年のコード品質ツール:SonarQube(包括的品質管理)+ Ruff(Python)+ ESLint(JS/TS)の組み合わせが最も実績があります。
よくある質問(FAQ)
Q. GitHub ActionsでSonarQubeを使えますか?
はい。SonarQube公式のGitHub Actionがあります。PR時に自動解析・コメントを追加できます。SonarCloud(クラウド版・無料枠あり)との使い分けも検討してください。
Q. ESLintとPrettierの違いはなんですか?
ESLintはコードの品質・バグを検出するLinterです。Prettierはコードのフォーマット(インデント・クォート等)を統一するフォーマッターです。両方を組み合わせて使うのが標準です。
Q. Ruffだけでflake8・black・isortを全部置き換えられますか?
はい。Ruffはflake8の500+ルール・Blackのフォーマット・isortのimport整理をすべて内包しています。ruff check .とruff format .の2コマンドで完結します。