
このリポジトリには、あらゆるプログラミング言語、ビルドツール、設定ファイルなどのための静的解析ツールを掲載しています。linterやフォーマッターなど、コード品質を向上させるツールに重点を置いています。 公式ウェブサイトのanalysis-tools.devはこのリポジトリをベースにしており、ランキング、ユーザーコメント、各ツールの動画などの追加リソースを提供しています。
このプロジェクトは、スポンサーの皆様の寛大なご支援なしには成り立ちません。
このプロジェクトを支援したい方は、Githubスポンサーページをご覧ください。
Pull requestは大歓迎です!
姉妹プロジェクトのawesome-dynamic-analysisもチェックしてみてください。
abaplint — TypeScriptで書かれたABAP用リンター。
abapOpenChecks — SAP Code Inspectorを、新しくカスタマイズ可能なチェックで拡張します。
Polyspace for Ada ©️ — ソースコードにおけるオーバーフロー、ゼロ除算、配列の範囲外アクセス、その他の特定の実行時エラーの不存在を証明するコード検証を提供します。
SPARK ©️ — Ada向けの静的解析および形式検証ツールセット。
Astrée ©️ — AstréeはC/C++アプリケーションにおける実行時エラーと無効な並行動作の不存在を自動的に証明します。浮動小数点演算に対してサウンドであり、非常に高速で、極めて高精度です。また、MISRA/CERT/CWE/Adaptive Autosarコーディングルールをチェックし、ISO 26262、DO-178CレベルA、その他の安全規格への適合をサポートします。JenkinsおよびEclipseプラグインが利用可能です。
CBMC — Cプログラム向けの有界モデル検査器。ユーザー定義アサーション、標準アサーション、複数のカバレッジメトリクス解析を備えています。
clang-tidy — ClangベースのC++リンターツール。問題を修正する(限定的な)機能も備えています。
clazy — Clangフレームワークに基づくQt向け静的コードアナライザー。clazyはコンパイラプラグインであり、clangがQtのセマンティクスを理解できるようにします。不要なメモリ割り当てからAPIの誤用まで、自動リファクタリングのためのfix-itを含む50以上のQt関連コンパイラ警告が得られます。
CMetrics — Cファイルのサイズと複雑度を測定します。
CPAchecker — Cプログラムの設定可能なソフトウェア検証のためのツール。CPAcheckerという名前は、このツールがCPAの概念に基づいており、ソフトウェアプログラムのチェックに使用されることを反映して選ばれました。
cppcheck — C/C++コードの静的解析。
CppDepend ©️ — コードの測定、クエリ、可視化を行い、予期しない問題、技術的負債、複雑度を回避します。
cpplint — Googleのスタイルガイドに従う自動C++チェッカー。
cqmetrics — Cコードの品質メトリクス。
CScout — CおよびCプリプロセッサコードの複雑度と品質メトリクス。
ENRE-cpp ⚠️ — ENRE(ENtity Relationship Extractor)は、ソースコードからコードエンティティの依存関係や関係性を抽出するためのツールです。ENRE-cppは、@eclipse/CDTに基づくC/C++向けのエンティティ関係抽出器です。(開発中)
ESBMC — ESBMCは、シングルスレッドおよびマルチスレッドのC/C++プログラムの検証のための、SMT(satisfiability modulo theories)に基づくオープンソースの文脈有界モデル検査器で、寛容なライセンスの下で提供されています。
flawfinder — 潜在的なセキュリティ上の弱点を検出します。
flint++ ⚠️ — Facebookで開発・使用されているC++用lintプログラムflintの、クロスプラットフォームで依存関係ゼロの移植版。
.NET Analyzers — .NET Compiler Platformを使用してアナライザー(診断とコード修正)を開発するための組織。
ArchUnitNET — 自動テストのためにC#でアーキテクチャルールを指定・検証するC#アーキテクチャテストライブラリ。
code-cracker — Roslynを使用してリファクタリング、コード解析、その他の便利な機能を提供するC#およびVB向けアナライザーライブラリ。
CSharpEssentials ⚠️ — C# Essentialsは、C# 6の言語機能を簡単に扱えるようにするRoslyn診断アナライザー、コード修正、リファクタリングのコレクションです。
Designite ©️ — Designiteは、さまざまなアーキテクチャ、設計、実装のスメルの検出、さまざまなコード品質メトリクスの計算、トレンド分析をサポートします。
Gendarme — Gendarmeは、ECMA CIL形式(Monoおよび.NET)のコードを含むプログラムとライブラリを検査します。
Infer# ⚠️ — InferSharp(Infer#とも呼ばれる)は、C#向けの手続き間かつスケーラブルな静的コードアナライザーです。FacebookのInferの機能により、ヌルポインタ参照とリソースリークを検出します。
Meziantou.Analyzer — 設計、使用方法、セキュリティ、パフォーマンス、スタイルの観点からC#の優れたプラクティスを強制するRoslynアナライザー。
NDepend ©️ — コードの測定、クエリ、可視化を行い、予期しない問題、技術的負債、複雑度を回避します。
Puma Scan — Puma Scanは、開発チームがVisual Studioでコードを作成する際に、一般的な脆弱性(XSS、SQLi、CSRF、LDAPi、暗号、逆シリアル化など)に対するリアルタイムのセキュアコード解析を提供します。
Roslynator — Roslynを搭載した、C#向けの190以上のアナライザーと190以上のリファクタリングのコレクション。
SonarAnalyzer.CSharp — これらのRoslynアナライザーは、コードベース内のバグ、脆弱性、コードスメルを見つけて修正するのに役立ち、安全で信頼性が高く保守しやすいクリーンコードを実現します。
VSDiagnostics ⚠️ — VSと統合するRoslynベースの静的アナライザーのコレクション。
Wintellect.Analyzers — .NET Compiler Platform("Roslyn")の診断アナライザーとコード修正。
Astrée ©️ — AstréeはC/C++アプリケーションにおける実行時エラーと無効な並行動作の不存在を自動的に証明します。浮動小数点演算に対してサウンドであり、非常に高速で、極めて高精度です。また、MISRA/CERT/CWE/Adaptive Autosarコーディングルールをチェックし、ISO 26262、DO-178CレベルA、その他の安全規格への適合をサポートします。JenkinsおよびEclipseプラグインが利用可能です。
CBMC — Cプログラム向けの有界モデル検査器。ユーザー定義アサーション、標準アサーション、複数のカバレッジメトリクス解析を備えています。
clang-tidy — ClangベースのC++リンターツール。問題を修正する(限定的な)機能も備えています。
clazy — Clangフレームワークに基づくQt向け静的コードアナライザー。clazyはコンパイラプラグインであり、clangがQtのセマンティクスを理解できるようにします。不要なメモリ割り当てからAPIの誤用まで、自動リファクタリングのためのfix-itを含む50以上のQt関連コンパイラ警告が得られます。
CMetrics — Cファイルのサイズと複雑度を測定します。
cppcheck — C/C++コードの静的解析。
CppDepend ©️ — コードの測定、クエリ、可視化を行い、予期しない問題、技術的負債、複雑度を回避します。
cpplint — Googleのスタイルガイドに従う自動C++チェッカー。
cqmetrics — Cコードの品質メトリクス。
CScout — CおよびCプリプロセッサコードの複雑度と品質メトリクス。
ENRE-cpp ⚠️ — ENRE(ENtity Relationship Extractor)は、ソースコードからコードエンティティの依存関係や関係性を抽出するためのツールです。ENRE-cppは、@eclipse/CDTに基づくC/C++向けのエンティティ関係抽出器です。(開発中)
ESBMC — ESBMCは、シングルスレッドおよびマルチスレッドのC/C++プログラムの検証のための、SMT(satisfiability modulo theories)に基づくオープンソースの文脈有界モデル検査器で、寛容なライセンスの下で提供されています。
flawfinder — 潜在的なセキュリティ上の弱点を検出します。
flint++ ⚠️ — Facebookで開発・使用されているC++用lintプログラムflintの、クロスプラットフォームで依存関係ゼロの移植版。
GCC — GCCコンパイラはバージョン10から静的解析機能を備えています。このオプションは、GCCがアナライザーサポートを有効にして設定されている場合にのみ利用可能です。また、診断情報をSARIF形式のJSONファイルに出力することもできます(v13以降)。
Dart Code Metrics ⚠️ — Dart用の追加リンター。コードメトリクスを報告し、アンチパターンをチェックし、Dartアナライザーに追加のルールを提供します。
effective_dart — Effective Dartのガイドラインに対応するリンタールール。
lint ⚠️ — DartおよびFlutterプロジェクト向けの、意見が反映されたコミュニティ主導のリンタールールセット。pedanticに似ていますが、より厳格です。
Linter for dart ⚠️ — Dart用のスタイルリンター。
DelphiLint — SonarDelphiを搭載し、オンザフライのコード解析とリンティングを提供するDelphi IDEパッケージ。
Fix Insight ©️ — 静的コード解析用の無料IDEプラグイン。_Pro_エディションには、自動化目的のコマンドラインツールが含まれています。
Pascal Analyzer ©️ — 多数のレポートを備えた静的コード解析ツール。レポート機能が制限された無料の_Lite_バージョンも利用できます。
Pascal Expert ©️ — コード解析用のIDEプラグイン。Pascal Analyzerのレポート機能のサブセットが含まれており、Delphi 2007以降で利用できます。
SonarDelphi — SonarQubeコード品質プラットフォーム向けのDelphi静的アナライザー。
credo — コードの一貫性と教育に重点を置いた静的コード解析ツール。
dialyxir — ElixirプロジェクトでのDialyzerの使用を簡素化するMixタスク。
sobelow — Phoenix Framework向けのセキュリティ重視の静的解析。
elm-analyse ⚠️ — Elmコードを分析し、欠陥を特定してベストプラクティスを適用できるようにするツール。
elm-review — Elmプロジェクト全体を解析し、Elmコンパイラが提供しない保証を追加する、Elmで書かれた共有可能なカスタムルールに重点を置いています。
dialyzer — DIALYZERは、ERlangプログラム用のDIscrepancy AnaLYZER(不整合解析器)です。Dialyzerは、個々のErlangモジュールまたはアプリケーション全体(のセット)において、明確な型エラー、プログラミングエラーによりデッドコードまたは到達不能になったコード、不要なテストなど、ソフトウェアの不整合を特定する静的解析ツールです。 Dialyzerは、デバッグコンパイルされたBEAMバイトコードまたはErlangソースコードのいずれかから解析を開始します。不整合のファイル名と行番号が、不整合の内容の表示とともに報告されます。Dialyzerはサクセスタイピングの概念に基づいて解析を行い、これにより健全な警告(誤検知なし)が可能になります。
elvis — Erlangスタイルレビューアー。
Primitive Erlang Security Tool (PEST) ⚠️ — Erlangソースコードの基本スキャンを実行し、Erlangソースコードを安全でなくする可能性のある関数呼び出しを報告するツール。
fantomas — F#ソースコードフォーマッター。
FSharpLint — F#用のリントツール。
ionide-analyzers — FSharp.Analyzers.SDKを使用して構築されたF#アナライザーのコレクション。
Fortitude — Ruffに触発され(その上に構築され)、コミュニティのベストプラクティスに基づくFortranリンター。最新のFortran(2023)標準をサポートします。
fprettify — Pythonで書かれた、モダンなFortranソースコード用の自動フォーマッター。 Fprettifyは、コード内の一貫した空白、インデント、区切り文字の整列を提供するツールです。大文字小文字の変更やプリプロセッサディレクティブの処理も可能で、リビジョン履歴を保持しながら、エディタ統合に向けてテストされています。
i-Code CNES for Fortran ⚠️ — Fortran 77、Fortran 90、およびShell向けのオープンソース静的コード解析ツール。
aligncheck — 非効率にパックされた構造体を見つけます。
bodyclose — HTTPレスポンスボディが閉じられているかどうかをチェックします。
deadcode — 未使用のコードを見つけます。
dingo-hunter ⚠️ — Goのデッドロックを見つけるための静的アナライザー。
dogsled — ブランク識別子が多すぎる代入/宣言を見つけます。
dupl — 重複している可能性のあるコードを報告します。
errcheck — エラーの戻り値が使用されているかをチェックします。
errwrap ⚠️ — 新しい%w動詞ディレクティブを使用してGoエラーをラップして修正します。このツールはfmt.Errorf()呼び出しを解析し、Go v1.13で導入された新しい%w動詞ディレクティブとは異なる動詞ディレクティブを含む呼び出しを報告します。また、呼び出しを新しい%wラップ動詞ディレクティブを使用するように書き換えることもできます。
flen — Goパッケージ内の関数の長さに関する情報を取得します。
Go Meta Linter ⚠️ — Goリントツールを並行して実行し、その出力を正規化します。新しいプロジェクトではgolangci-lintを使用してください。
go tool vet --shadow — 意図せずシャドーイングされた可能性のある変数を報告します。
go vet — Goソースコードを調査し、疑わしい点を報告します。
go-consistent ⚠️ — Goプログラムをより一貫性のあるものにするのに役立つアナライザー。
go-critic — 他のリンターでは現在実装されていないチェックを維持するGoソースコードリンター。
go/ast — パッケージastは、Goパッケージの構文木を表現するために使用される型を宣言します。
goast — Regoを使用したGo AST(抽象構文木)ベースの静的解析ツール。
gochecknoglobals ⚠️ — グローバル変数が存在しないことをチェックします。
goconst — 定数に置き換えられる可能性のある繰り返し文字列を見つけます。
brittany ⚠️ — Haskellソースコードフォーマッター。
HLint — HLintは、Haskellコードへの可能な改善を提案するためのツールです。
Liquid Haskell — Liquid Haskellは、Haskellプログラム用のリファインメント型チェッカーです。
Stan — Stanは、Haskellプロジェクトを解析し、発見された脆弱性を、検出された問題に対する可能な解決策とともに役立つ方法で出力するコマンドラインツールです。
Weeder — Haskellコード内のデッドエクスポートやパッケージインポートを検出するためのツール。
Checker Framework — Java用のプラグイン可能な型チェック。これは単なるバグファインダーではなく、正確性を保証する検証ツールです。27の組み込み型システムが付属し、ユーザーが独自の型システムを定義することもできます。マニュアルには30以上のユーザー提供の型システムが記載されています。
checkstyle — Javaソースコードがコード標準または一連の検証ルール(ベストプラクティス)に準拠しているかをチェックします。
ck — Javaソースファイルを処理して、Chidamber and Kemererのオブジェクト指向メトリクスを計算します。
ckjm — コンパイル済みJavaファイルのバイトコードを処理して、Chidamber and Kemererのオブジェクト指向メトリクスを計算します。
CogniCrypt ⚠️ — Javaソースコードとバイトコードをチェックして、暗号化APIの不正な使用を検出します。
Dataflow Framework — Java向けの実戦投入可能なデータフローフレームワーク。Dataflow Frameworkは、Checker Framework、GoogleのError Prone、UberのNullAway、MetaのNullsafeなどで使用されています。Checker Frameworkとともに配布されています。
DesigniteJava ©️ — DesigniteJavaは、さまざまなアーキテクチャ、設計、実装のスメルの検出と、さまざまなコード品質メトリクスの計算をサポートします。
Diffblue ©️ — Diffblueは、ソフトウェア開発チーム向けにAIを活用したコード解析およびテストソリューションを提供するソフトウェア会社です。 その技術は、開発者がテストを自動化し、バグを見つけ、ソフトウェア開発プロセスにおける手作業を減らすのに役立ちます。同社の主力製品であるDiffblue Coverは、AIを使用してJavaコードの単体テストを生成および実行し、エラーの検出とコード品質の向上に貢献します。
Doop — Doopは、ポインタ解析アルゴリズムを中心としたJava/Androidプログラムの静的解析用の宣言型フレームワークです。Doopは多種多様な解析を提供するとともに、解析をエンドツーエンドで実行するための周辺フレームワーク(ファクト生成、処理、統計など)も提供します。
ENRE-java ⚠️ — ENRE(ENtity Relationship Extractor)は、ソースコードからコードエンティティの依存関係や関連性を抽出するためのツールです。ENRE-javaは、@Eclipse JDT/parserに基づくJavaプロジェクト用のエンティティ関係抽出器です。
Error Prone — 一般的なJavaのミスをコンパイル時エラーとして検出します。
fb-contrib — 追加のバグ検出器を備えたFindBugs用プラグイン。
forbidden-apis — 特定のメソッド/クラス/フィールドの呼び出し(文字セットを指定せずにテキストストリームを読み取るなど)を検出して禁止します。Maven/Gradle/Ant互換です。
google-java-format — Google Java Styleに準拠するようにJavaソースコードを再フォーマットします。
aether ⚠️ — NodeまたはブラウザでユーザーJavaScriptのlint、分析、正規化、変換、サンドボックス実行、実行、ステップ実行、可視化を行います。
Closure Compiler — JavaScriptファイルの効率向上、サイズ削減、コード警告を提供するコンパイラツール。
ClosureLinter ⚠️ — プロジェクトのすべてのJavaScriptコードがGoogle JavaScriptスタイルガイドのガイドラインに従っていることを保証します。また、多くの一般的なエラーを自動的に修正することもできます。
complexity-report ⚠️ — JavaScriptプロジェクトのソフトウェア複雑度分析。
DeepScan ©️ — コーディング規約ではなく、実行時エラーと品質問題に焦点を当てたJavaScript用アナライザー。
es6-plato ⚠️ — JavaScript (ES6) ソースの複雑度を可視化します。
escomplex — JavaScript系抽象構文木のソフトウェア複雑度解析。
Esprima ⚠️ — 多目的分析のためのECMAScript構文解析基盤。
flow — JavaScript用の静的型チェッカー。
hegel ⚠️ — 型推論と強い型システムに重点を置いたJavaScript用静的型チェッカー。
jshint ℹ️ — JavaScriptコードのエラーや潜在的な問題を検出し、チームのコーディング規約を強制します。
JSPrime ⚠️ — 静的セキュリティ分析ツール。
NodeJSScan ⚠️ — libsastとsemgrepを搭載し、njsscan CLIツールをベースにしたNode.jsアプリケーション向け静的セキュリティコードスキャナー。アプリケーションのセキュリティ状態に関する各種ダッシュボードを備えたUIを特徴とします。
plato ⚠️ — JavaScriptソースの複雑度を可視化します。
Polymer-analyzer — Web Components用の静的解析フレームワーク。
retire.js — 既知の脆弱性を持つJavaScriptライブラリの使用を検出するスキャナー。
JET — バグや型の不安定性を検出する静的型推論システム。
StaticLint — Julia用の静的コード解析
detekt — Kotlinコードの静的コード解析。
diktat ⚠️ — Kotlinの厳格なコーディング標準であり、コードスメルを検出して自動修正するリンター。
ktfmt — KotlinソースコードをKotlinコーディング規約の一般的なコミュニティ標準に準拠するよう再フォーマットするプログラム。 ktfmt IntelliJプラグインはプラグインリポジトリから入手できます。インストールするには、IDEの設定に移動して「Plugins」カテゴリを選択してください。「Marketplace」タブをクリックし、ktfmtプラグインを検索して「Install」ボタンをクリックします。
ktlint — 組み込みフォーマッタを備えた、些末な議論を排除するKotlinリンター。
luacheck — Luaコードのlintと静的解析のためのツール。
lualint — lualintは、Luaソースコード内のグローバル変数の使用状況について、luacベースの静的解析を実行します。
Luanalysis ⚠️ — 静的に型付けされたLua開発のためのIDE。
MISS_HIT ⚠️ — MISS_HITは、MATLAB、Simulink、Octave向けの無料のオープンソースコード品質ツールセットです。MH Style(スタイルチェッカー兼フォーマッタ)、MH Metrics(複雑度メトリクス)、MH Lint(静的解析)、MH Trace(要件トレーサビリティ)、MH Copyright(著作権管理)が含まれます。MATLAB/Octaveのインストールを必要とせず、スタンドアロンで動作するように設計されています。
mlint ©️ — MATLABコードファイルに潜在的な問題がないかチェックします。
DrNim — DrNimは、NimフロントエンドとZ3証明エンジンを組み合わせて、Nimで書かれたソフトウェアの検証/妥当性確認を可能にします。
nimfmt ⚠️ — Nimコードフォーマッタ / リンター / スタイルチェッカー
Sys — (ブラウザ)コードのバグを見つけるための静的/シンボリックツール。LLVM ASTを使用して、初期化されていないメモリアクセスなどのバグを発見します。
VeriFast — 分離論理で記述された前提条件と事後条件で注釈された、シングルスレッドおよびマルチスレッドのCおよびJavaプログラムの正しさの特性をモジュール形式で正式検証するためのツール。豊富な仕様を表現するために、プログラマは帰納的データ型、これらのデータ型に対する原始再帰の純関数、および抽象分離論理述語を定義できます。
CakeFuzzer — CakePHPベースのWebアプリケーション向けのWebアプリケーションセキュリティテストツール。CakeFuzzerは、実行前にランダムに変更される定義済みの攻撃セットを採用しています。CakePHPフレームワークに対する深い理解を活用して、Cake Fuzzerはアプリケーションの潜在的なエントリポイントすべてに対して攻撃を仕掛けます。
churn-php — リファクタリングに適した候補の発見に役立ちます。
composer-dependency-analyser — Composer依存関係の問題を高速に検出します。
dephpend — 依存関係分析ツール。
deprecation-detector — 非推奨(Symfony)コードの使用箇所を検出します。
deptrac — ソフトウェアレイヤー間の依存関係に関するルールを強制します。
DesignPatternDetector — PHPコード内のデザインパターンの検出。
EasyCodingStandard — PHP_CodeSnifferとPHP-CS-Fixerを組み合わせます。
Enlightn ⚠️ — Laravelアプリケーション向けの静的・動的分析ツールで、Laravelアプリのパフォーマンス、セキュリティ、コード信頼性を向上させるための推奨事項を提供します。120件の自動チェックが含まれています。
exakat — PHP向けの自動コードレビューエンジン。
GrumPHP — すべてのコミットでコードをチェックします。
larastan — Laravelに静的解析を追加し、開発者の生産性とコード品質を向上させます。PHPStanのラッパーです。
mago — Magoは、最大限のパフォーマンスを目的としてゼロから設計された、Rustで書かれたPHP向けの完全なツールチェーンです。
✨ PER-CSに従ってコードを自動的にフォーマットし、スタイル論争を永久に終わらせる超高速フォーマッタ。 - 🔎 問題になる前にスタイルの問題、不整合、コードスメルを検出するインテリジェントなリンター。 - 🔬 コードを実行することなく型エラーや論理バグを発見する強力な静的アナライザー。 - 🛡️ 依存関係ルールと構造的規約を強制する堅牢なアーキテクチャガード。
Mondrian ⚠️ — グラフ理論を使用する静的解析およびリファクタリングツールのセット。
parallel-lint — このツールは、PHPファイルの構文を直列チェックよりも高速に、より見栄えの良い出力でチェックします。
Parse — 静的セキュリティスキャナー。
pdepend — PHPコードの循環的複雑度などのソフトウェアメトリクスを計算します。
phan — etsy製のモダンな静的アナライザー。
PHP Architecture Tester — PHP向けの使いやすいアーキテクチャテストツール。
Perl::Analyzer — Perl-Analyzerは、名前空間とその関係、依存関係、継承、パッケージ内で実装・継承・再定義されたメソッド、およびSUPERを介した親パッケージからのメソッド呼び出しに関する情報を提供することで、Perlコードベースを分析・可視化できる一連のプログラムとモジュールです。
Perl::Critic — ベストプラクティスに照らしてPerlソースコードを批評します。
perltidy — Perltidyは、Perlスクリプトを読みやすくするためにインデントと再フォーマットを行うPerlスクリプトです。 フォーマットはコマンドラインパラメータで制御できます。デフォルトのパラメータ設定は、およそPerlスタイルガイドの提案に従っています。 スクリプトの再フォーマットに加えて、Perltidyはエラーの位置特定が非常に得意なため、欠落または余分な波括弧、括弧、角括弧によるエラーの追跡に大いに役立ちます。
zarn — 近代的なPerlアプリ向けの軽量な静的セキュリティ分析ツール。
autoflake — Autoflakeは、Pythonコードから未使用のインポートと未使用の変数を削除します。
autopep8 — 自動的にPythonコードをPEP 8スタイルガイドに準拠するようフォーマットするツール。 コードのどの部分をフォーマットする必要があるかを判断するためにpycodestyleユーティリティを使用します。
bandit — Pythonコードの一般的なセキュリティ問題を見つけるツール。
bellybutton — プロジェクト固有のカスタムルールをサポートするlintエンジン。
Black — 妥協のないPythonコードフォーマッタ。
Bowler — モダンなPythonのための安全なコードリファクタリング。Bowlerは、構文木レベルでPythonを操作するリファクタリングツールです。結果のコードがコンパイルおよび実行されることを保証しながら、安全で大規模なコード変更を可能にします。シンプルなコマンドラインインターフェースと、複雑なコード変更を生成するためのPythonの流暢なAPIの両方を提供します。
ciocheck ⚠️ — リンター、フォーマッタ、テストスイートヘルパー。リンターとしては、pep8、pydocstyle、flake8、pylintのラッパーです。
cohesion ⚠️ — Pythonクラスの凝集度を測定するツール。
deal — Pythonのための契約による設計。バグのないコードを書きましょう。コードにいくつかのデコレータを追加するだけで、テスト、静的解析、形式検証などが無料で手に入ります。
Dlint — Pythonコードが安全であることを保証するためのツール。
Dodgy — Dodgyは、コードベースに対して実行して「怪しい」値を探すための非常に基本的なツールです。偶発的なSCM差分チェックインや、ファイルにハードコードされたパスワードや秘密鍵などを検出するように設計された、一連のシンプルな正規表現です。
ENRE-py ⚠️ — ENRE(ENtity Relationship Extractor)は、ソースコードからコードエンティティの依存関係や関係を抽出するツールです。ENRE-pyは、標準ライブラリのPython Language Servicesに基づくPython用のエンティティ関係抽出器です。
CodeDepends — R の静的コード解析。
cyclocomp — R の関数 / 式の循環的複雑度を定量化します。
flowR — R プログラミング言語向けのプログラムスライサーおよびデータフロー解析ツールです。スライサーを使用すると、複雑なプログラムを、特定のタスク(たとえば、単一または複数のプロットの生成、有意性検定など)に関連する部分だけにまで削減できます。データフロー解析は、R コードのセマンティクスに関する詳細なビューを提供し、他の解析を大幅に改善できます。flowR を使用するには、Visual Studio Code 拡張機能、RStudio アドイン、Docker イメージ、または R パッケージを確認してください。
goodpractice — R パッケージのソースコードを分析し、ベストプラクティスの推奨事項を提供します。
lintr — R の静的コード解析。
R Language Server — R に対して、コード補完、リファクタリング、折りたたみ、診断(lintr 使用)などを提供します。
rco — R コードのパフォーマンス最適化ツール(GUI 付き)。
styler — R ソースコードファイルの書式設定と R コードのプリティプリント。
Active Record Doctor — データベースの問題が本番環境に影響を与える前に特定します。
brakeman — Ruby on Rails アプリケーション向けの静的解析セキュリティ脆弱性スキャナーです。
Bullet — N+1 クエリや未使用の eager loading を排除するのに役立ちます。
bundler-audit — Ruby Advisory Database に報告されたセキュリティ脆弱性のある gem について Gemfile.lock を監査します。
cane ⚠️ — ビルドの一部としてコード品質のしきい値をチェックします。
Churn ⚠️ — 特定のチェックイン時点でのプロジェクトの churn ファイル、クラス、メソッドを提供するプロジェクトです。時間の経過とともに churn の履歴を蓄積し、プロジェクトの存続期間中にファイル、クラス、またはメソッドが変更された回数を示します。
DatabaseConsistency — データベーススキーマとアプリケーションモデル間の不整合や非効率性によるさまざまな問題を回避するためのツールです。
dawnscanner — Ruby で書かれた Web アプリケーション向けの静的解析セキュリティスキャナーです。Sinatra、Padrino、Ruby on Rails フレームワークをサポートしています。
ERB Lint — ERB または HTML ファイルをリントします。
ERB::Formatter — ERB ファイルを高速かつ正確にフォーマットします。
Fasterer — 一般的な Ruby イディオムのチェッカーです。
flay — Flay はコードの構造的類似性を分析します。
flog — Flog は、最も苦労しているコードを読みやすいペインレポートで報告します。スコアが高いほど、コードがより苦しい状態にあることを示します。
Fukuzatsu — Ruby クラスファイルのコード複雑度を測定するツールです。その分析は、追加の「意見」なしに循環的複雑度アルゴリズムに基づいてスコアを生成します。
htmlbeautifier — 埋め込み Ruby も理解する HTML のノーマライザー / ビューティファイアです。Rails テンプレートの整理に最適です。
laser ⚠️ — Ruby コードの静的解析およびスタイルリンターです。
C2Rust — C2Rust は、C99 準拠のコードを Rust に移行するのに役立ちます。トランスレータ(またはトランスパイラ)は、入力の C コードを忠実にミラーリングした unsafe Rust コードを生成します。
cargo udeps — Cargo.toml 内の未使用の依存関係を見つけます。"unused crates" という行にクレートのリストを出力するか、未使用のクレートがないことを示す行を出力します。
cargo-audit — RustSec Advisory Database に報告されたセキュリティ脆弱性のあるクレートについて Cargo.lock を監査します。
cargo-bloat ⚠️ — 実行ファイルの大部分のスペースを占めているものを特定します。ELF (Linux、BSD)、Mach-O (macOS)、PE (Windows) バイナリをサポートしています。
cargo-breaking — cargo-breaking は、2 つの異なるブランチ間でクレートの公開 API を比較し、何が変更されたかを示し、semver に従って次のバージョンを提案します。
cargo-call-stack — プログラム全体の静的スタック解析。このツールは、プログラムの完全なコールグラフを dot ファイルとして生成します。
cargo-deny — 依存関係をリントするための cargo プラグインです。コマンドラインツール、Rust クレート、CI 用の GitHub Action のいずれとしても使用できます。有効なライセンス情報、重複したクレート、セキュリティ脆弱性などをチェックします。
cargo-expand — 現在のクレートに適用されたマクロ展開と #[derive] 展開の結果を表示する Cargo サブコマンドです。これは、より冗長なコンパイラコマンドのラッパーです。
cargo-geiger — unsafe Rust コードの使用状況を分析するための cargo プラグインです。セキュリティ監査に役立つ統計出力を提供します。
cargo-inspect ⚠️ — 構文糖衣なしで Rust コードを調べ、コンパイラが内部で何を行っているかを確認します。
cargo-semver-checks — Rust クレートのリリースをスキャンして semver 違反を検出します。CLI 経由で直接、CI での GitHub Action、または release-plz のようなリリースマネージャーを介して使用できます。crates.io でダウンロード数上位 1000 クレートの 6 件に 1 件以上で semver 違反を検出しました。
cargo-show-asm — Rust コード用に生成されたアセンブリ、LLVM-IR、MIR を表示する cargo サブコマンドです。
linter-rust ⚠️ — rustc と cargo を使用して、Atom で Rust ファイルをリントします。
lockbud — Rust のデッドロックバグを静的に検出します。現在、2 つの一般的な種類のデッドロックバグ (doublelock と競合する順序でのロック) を検出します。バグをソースコードの場所と各バグの説明とともに JSON 形式で出力します。
MIRAI ⚠️ — Rust の中間言語を操作する抽象インタープリターで、汚染解析に基づく警告を提供します。
prae ⚠️ — 指定した任意の不変条件を常に満たすことを保証する型ラッパーを生成できる便利なマクロを提供します。
Prusti ⚠️ — Viper 検証インフラストラクチャに基づく Rust 用の静的検証ツールです。デフォルトでは、Prusti は unreachable!() や panic!() などのステートメントが到達不能であることを証明することで、パニックが発生しないことを検証します。
Rudra — Rust のメモリ安全性 & 未定義動作の検出。単一の Rust パッケージだけでなく、crates.io 上のすべてのパッケージも分析できます。
Rust Language Server ⚠️ — 'goto definition'、シンボル検索、再フォーマット、コード補完などの機能をサポートし、名前変更やリファクタリングを可能にします。
rust-analyzer — 'goto definition'、型推論、シンボル検索、再フォーマット、コード補完などの機能をサポートし、名前変更やリファクタリングを可能にします。
rust-audit — 既知のバグやセキュリティ脆弱性について Rust バイナリを監査します。これは、依存関係ツリー (Cargo.lock) に関するデータを JSON 形式で、コンパイルされた実行ファイルの専用リンカーセクションに埋め込むことで機能します。
rustfix — rustc (および clippy が提供するようなサードパーティのリント) によって行われた提案を読み取って適用します。
rustfmt — スタイルガイドラインに従って Rust コードをフォーマットするためのツールです。
RustViz — RustViz は、シンプルな Rust プログラムから可視化を生成して、ユーザーが Rust の Lifetime と借用 (Borrowing) メカニズムをよりよく理解できるようにするツールです。mdbook と統合するグラフィカルインジケータ付きの SVG ファイルを生成し、Rust プログラムのデータフローの可視化をレンダリングします。
TangleGuard ©️ — スケーラブルなソフトウェアアーキテクチャを理解し、維持するのに役立ちます。そのために、ソースコードから対話型の入れ子になった依存関係グラフを生成します。詳細レベルを選択して、自分にとって重要なコードベースの部分を取得できます。
warnalyzer ⚠️ — マルチクレート Rust プロジェクトの未使用コードを表示します。
dbcritic — dbcritic は、テーブルの主キー制約の欠落など、データベーススキーマの問題を検出します。
holistic — SQL クエリを分析するための 1,300 以上のルールを備えています。SQL スキーマ定義とクエリソースコードを受け取り、改善の推奨事項を生成します。コードスメル、未使用のインデックス、未使用のテーブル、ビュー、マテリアライズドビューなどを検出します。
pgspot — Postgres 拡張スクリプトの脆弱性を検出します。PostgreSQL 拡張スクリプトやその他の PostgreSQL SQL コードにおける安全でない search_path の使用法や安全でないオブジェクトの作成を検出します。
sleek — Sleek は SQL をフォーマットするための CLI ツールです。SQL コード全体で一貫したスタイルを維持し、読みやすさと生産性を向上させるのに役立ちます。主要な処理は sqlformat クレートによって行われます。
sqlcheck ⚠️ — SQL クエリ内のアンチパターンを自動的に特定します。
SQLFluff — 複数の方言に対応した SQL リンターおよびフォーマッターです。
sqlint — シンプルな SQL リンターです。- squawk — PostgreSQL 向けリンター。マイグレーションに焦点を当てています。データベースマイグレーションによる予期しないダウンタイムを防ぎ、Postgres スキーマと SQL に関するベストプラクティスを推奨します。
tsqllint ⚠️ — T-SQL 固有のリンター。
TSqlRules ⚠️ — SQL Server 向け TSQL 静的コード解析ルール。
Visual Expert ©️ — PowerBuilder、Oracle、SQL Server 向けのコード解析。コードの調査、分析、ドキュメント化を行います。
linter ⚠️ — Linter は Scala の静的解析コンパイラプラグインで、さまざまな潜在的なバグ、非効率性、スタイルの問題に対するコンパイル時チェックを追加します。
Scalastyle — Scalastyle は Scala コードを検査し、潜在的な問題を示します。
scapegoat — 静的コード解析のための Scala コンパイラプラグイン。
WartRemover — 柔軟な Scala コードリンティングツール。
bashate — bash プログラムのコードスタイル強制ツール。出力形式は pycodestyle (pep8) のデフォルト出力形式に従うことを目的としています。
i-Code CNES for Shell ⚠️ — Shell および Fortran (77 と 90) 向けのオープンソース静的コード解析ツール。
kmdr — ターミナルからコマンドを学習するための CLI ツール。kmdr は各属性を説明しながらコマンドを分解して表示します。
sh — bash 対応のシェルパーサー、フォーマッター、インタープリター。shfmt を含みます
shellcheck — ShellCheck は、bash/sh シェルスクリプトに対して警告と提案を行う静的解析ツールです。
shellharden — シンタックスハイライターであり、主にクォートに焦点を当てて、スクリプトを ShellCheck 準拠に書き換える半自動化ツール。
SwiftFormat — Swift コードを再フォーマットするためのライブラリおよびコマンドラインフォーマットツール。
SwiftLint — Swift のスタイルと規約を強制するツール。
Tailor ⚠️ — Apple の Swift プログラミング言語で書かれたソースコード向けの静的解析およびリンツール。
Frink — Tcl のフォーマットおよび静的チェックプログラム(プログラムの整形、最小化、難読化、または単なる健全性チェックが可能)。
Nagelfar — Tcl 用の静的構文チェッカー。
tclchecker — 静的構文解析モジュール(TDK の一部)。
Angular ESLint — Angular プロジェクト向けリンター
Codelyzer ⚠️ — Angular 2 TypeScript プロジェクトの静的コード解析のための tslint ルールセット。
ENRE-ts ⚠️ — ENRE (ENtity Relationship Extractor) は、ソースコードからコードエンティティの依存関係や関連性を抽出するためのツールです。ENRE-ts は @babel/parser に基づく ECMAScript および TypeScript 向けのエンティティ関係抽出器です。
fta — TypeScript プロジェクト向けの Rust ベースの静的解析
stc ⚠️ — Rust で書かれた高速な TypeScript 型チェッカー
tslint ⚠️ — TSLint は 2019 年をもって非推奨となりました。詳細についてはこの issueを参照してください。TypeScript のリンティングには typescript-eslint が現在最良の選択肢です。
TSLint は、TypeScript コードの可読性、保守性、機能性エラーをチェックする拡張可能な静的解析ツールです。最新のエディターやビルドシステムで広くサポートされており、独自のリントルール、設定、フォーマッターでカスタマイズできます。
tslint-clean-code — 『Clean Code』の手引書にヒントを得た TSLint ルールセット。
tslint-microsoft-contrib ⚠️ — Microsoft が保守する TypeScript プロジェクトの静的コード解析のための tslint ルールセット。
TypeScript Call Graph — TypeScript ファイルから関数と呼び出しのインタラクティブなグラフを生成する CLI
TypeScript ESLint — eslint の TypeScript 言語拡張。
zod — 静的型推論を備えた TypeScript ファーストのスキーマ検証。目標は重複する型宣言を排除することです。Zod では、バリデーターを一度宣言するだけで、Zod が静的 TypeScript 型を自動的に推論します。単純な型を組み合わせて複雑なデータ構造を構成するのも簡単です。
Icarus Verilog ⚠️ — IEEE-1364 Verilog で書かれたソースコードを何らかのターゲット形式にコンパイルして動作する Verilog シミュレーションおよび合成ツール
svls — リント機能を含む、Verilog および SystemVerilog 向けの Language Server Protocol 実装。
verible-linter-action ⚠️ — Verible を利用した GitHub Actions での自動 SystemVerilog リンティング。Verilog および SystemVerilog ソースファイルをリントし、プルリクエスト内のエラー行に自動的にコメントを付けます。
Verilator — Verilog を C++ または SystemC のサイクル精度の動作モデルに変換するツール。コード品質のリントチェックを実行します。
vscode-verilog-hdl-support — VS Code 向けの Verilog HDL/SystemVerilog/Bluespec SystemVerilog サポート。Icarus Verilog、Vivado Logical Simulation、Modelsim、Verilator による構文ハイライトとリンティングサポートを提供します
Twiggy — バイナリのコールグラフを分析してコードサイズをプロファイリングします。目標は wasm バイナリサイズをスリムにすることです。
wasm-language-tools — WebAssembly Language Tools は、WebAssembly Text Format の編集体験を提供・改善することを目的としています。また、WebAssembly Text Format 向けの即時利用可能なフォーマッター(別名 pretty printer)も提供します。
ale — 多くの言語をサポートする Vim および NeoVim 用の非同期リントエンジン。
Android Studio — IntelliJ IDEA ベースで、Android Lint を含む Android 用ツールがバンドルされています。
AppChecker ©️ — C/C++/C#、PHP、Java 向けの静的解析。
Application Inspector ©️ — 脆弱性を検証するエクスプロイトを生成する商用静的コード解析。
ApplicationInspector — 機能検出のための 400 以上のルールパターンのレポートを作成します(例: アプリにおける暗号化やバージョン管理の使用)。
ArchUnit — Java または Kotlin のアーキテクチャをユニットテストします。
ast-grep — ast-grep は、抽象構文木 (AST) を使用してコードを大規模に管理するために設計された強力なツールです。grep、eslint、codemod のハイブリッドと考えてください。プレーンテキストではなく構造に基づいてコードを検索、リント、書き換えることができます。 複数の言語をサポートしており、カスタム言語を登録できるように拡張可能に設計されています。
Atom-Beautify ⚠️ — Atom エディターで HTML、CSS、JavaScript、PHP、Python、Ruby、Java、C、C++、C#、Objective-C、CoffeeScript、TypeScript、Coldfusion、SQL などをビューティファイします。
autocorrect — CJK(中国語、日本語、韓国語)間のスペース、単語、句読点を修正してコピーライティングを改善するのに役立つリンター兼フォーマッター。
Axivion Bauhaus Suite ©️ — C/C++、C#/.NET、Java、Ada 83/Ada 95 について、エラーを引き起こしやすいコード箇所、スタイル違反、クローンまたはデッドコード、循環依存などを追跡します。
Bearer — 機密データの露出(PII、PHI、PD)につながるセキュリティリスクと脆弱性を発見、フィルタリング、優先順位付けするオープンソースの静的コード解析ツール。高度に設定可能で簡単に拡張でき、セキュリティチームとエンジニアリングチーム向けに構築されています。
Better Code Hub ©️ — Better Code Hub は、ソフトウェア品質の権威である Software Improvement Group が考案した 10 のエンジニアリングガイドラインに照らして GitHub コードベースをチェックします。
Betterscan CE ⚠️ — コードとインフラ(さまざまな Git リポジトリ、クラウドスタック、CLI、Web インターフェースプラットフォーム、統合機能をサポート)のセキュリティおよび品質問題をチェックします。多数のツール/スキャナーを使用したコードスキャン/SAST/リンティングを、One Report で重複排除します(AI オプション)。
biome — Web プロジェクトのためのツールチェーンで、それらを維持管理する機能を提供することを目的としています。Biome はコードを一瞬のうちにフォーマットおよびリントします。Rome の後継です。最終的には Babel、ESLint、webpack、Prettier、Jest などを置き換えるように設計されています。
Frama-C — Cコード向けのサウンドで拡張可能な静的アナライザー。
GCC — GCCコンパイラはバージョン10から静的解析機能を備えています。このオプションは、GCCがアナライザーサポートを有効にして設定されている場合にのみ利用可能です。また、診断情報をSARIF形式のJSONファイルに出力することもできます(v13以降)。
Goblint — マルチスレッドCプログラムの解析のための静的アナライザー。主にデータ競合の検出に焦点を当てていますが、バッファオーバーフローやヌルポインタ参照などの他の実行時エラーも報告します。
Helix QAC ©️ — 組み込みソフトウェア向けのエンタープライズグレードの静的解析。MISRA、CERT、AUTOSARコーディング標準をサポートします。
IKOS — LLVMベースのC/C++コード向けサウンド静的アナライザー。
KLEE — LLVMコンパイラ基盤上に構築された動的シンボリック実行エンジン。テストケースがプログラムのできるだけ多くの部分を実行するように、プログラムのテストケースを自動生成できます。
LDRA ©️ — MISRA C & C++、JSF++ AV、CWE、CERT C、CERT C++、カスタムルールなど、さまざまな標準に対応した静的解析(TBVISION)を含むツールスイート。
MATE ⚠️ — CおよびC++コードのバグ探索に焦点を当てたインタラクティブなプログラム解析ツール群。MATEは、コードプロパティグラフ(CPG)を使用してアプリケーション固有の脆弱性解析と低レベルの脆弱性解析を統合し、対象のC/C++プログラムの実装詳細と高レベルセマンティクスの両方に依存する、極めてアプリケーション固有な脆弱性の発見を可能にします。
PC-lint ©️ — C/C++向け静的解析。Windows/Linux/MacOS上でネイティブに動作します。C11/C18およびC++17をサポートし、事実上あらゆるプラットフォームのコードを解析します。
Phasar — タイント解析と型状態解析を備えたLLVMベースの静的解析フレームワーク。
Polyspace Bug Finder ©️ — CおよびC++組み込みソフトウェアにおける実行時エラー、並行性の問題、セキュリティ脆弱性、その他の欠陥を特定します。
Polyspace Code Prover ©️ — CおよびC++ソースコードにおけるオーバーフロー、ゼロ除算、配列の範囲外アクセス、その他の特定の実行時エラーの不存在を証明するコード検証を提供します。
scan-build — 通常のビルドを介してClangに組み込まれたClang Static Analyzerを駆動するフロントエンド。
splint — アノテーション支援型の静的プログラムチェッカー。
SVF — CおよびC++プログラムに対して、スケーラブルで精密な手続き間依存関係解析を可能にする静的ツール。
TrustInSoft Analyzer ©️ — コーディングエラーとそれに伴うセキュリティ脆弱性を網羅的に検出します。これには、サウンドな未定義動作検出(バッファオーバーフロー、配列の範囲外アクセス、ヌルポインタ参照、use-after-free、ゼロ除算、未初期化メモリアクセス、符号付きオーバーフロー、無効なポインタ演算など)、データフローおよび制御フロー検証、形式仕様の完全な機能検証が含まれます。C18までのすべてのCバージョンとC++20までのC++バージョンをサポートします。TrustInSoft Analyzerは2023年第2四半期にISO 26262認証(TCL3)を取得予定です。MISRA Cチェッカーも同梱されています。
vera++ ⚠️ — Vera++は、C++ソースコードの検証、解析、変換のためのプログラム可能なツールです。
Helix QAC ©️ — 組み込みソフトウェア向けのエンタープライズグレードの静的解析。MISRA、CERT、AUTOSARコーディング標準をサポートします。
IKOS — LLVMベースのC/C++コード向けサウンド静的アナライザー。
KLEE — LLVMコンパイラ基盤上に構築された動的シンボリック実行エンジン。テストケースがプログラムのできるだけ多くの部分を実行するように、プログラムのテストケースを自動生成できます。
LDRA ©️ — MISRA C & C++、JSF++ AV、CWE、CERT C、CERT C++、カスタムルールなど、さまざまな標準に対応した静的解析(TBVISION)を含むツールスイート。
MATE ⚠️ — CおよびC++コードのバグ探索に焦点を当てたインタラクティブなプログラム解析ツール群。MATEは、コードプロパティグラフ(CPG)を使用してアプリケーション固有の脆弱性解析と低レベルの脆弱性解析を統合し、対象のC/C++プログラムの実装詳細と高レベルセマンティクスの両方に依存する、極めてアプリケーション固有な脆弱性の発見を可能にします。
PC-lint ©️ — C/C++向け静的解析。Windows/Linux/MacOS上でネイティブに動作します。C11/C18およびC++17をサポートし、事実上あらゆるプラットフォームのコードを解析します。
Phasar — タイント解析と型状態解析を備えたLLVMベースの静的解析フレームワーク。
Polyspace Bug Finder ©️ — CおよびC++組み込みソフトウェアにおける実行時エラー、並行性の問題、セキュリティ脆弱性、その他の欠陥を特定します。
Polyspace Code Prover ©️ — CおよびC++ソースコードにおけるオーバーフロー、ゼロ除算、配列の範囲外アクセス、その他の特定の実行時エラーの不存在を証明するコード検証を提供します。- scan-build — 通常のビルドを通じてClangに組み込まれたClang Static Analyzerを駆動するフロントエンド。
splint — アノテーション支援による静的プログラムチェッカー。
SVF — CおよびC++プログラムに対して、スケーラブルで高精度なプロシージャ間依存関係解析を可能にする静的ツール。
TrustInSoft Analyzer ©️ — コーディングエラーとそれに関連するセキュリティ脆弱性を網羅的に検出します。これには、健全な未定義動作検出(バッファオーバーフロー、配列の範囲外アクセス、ヌルポインタ参照外し、use-after-free、ゼロ除算、未初期化メモリアクセス、符号付きオーバーフロー、不正なポインタ演算など)、データフローおよび制御フロー検証、さらに形式仕様の完全な機能検証が含まれます。C18までのすべてのCバージョンとC++20までのすべてのC++バージョンがサポートされています。TrustInSoft Analyzerは2023年第2四半期(TCL3)にISO 26262認証を取得する予定です。MISRA Cチェッカーも同梱されています。
vera++ ⚠️ — Vera++は、C++ソースコードの検証、解析、変換のためのプログラマブルなツールです。
gocyclo — Goソースコード内の関数の循環的複雑度を計算します。
gofmt -s — コードが適切にフォーマットされており、それ以上簡略化できないことをチェックします。
gofumpt — 後方互換性を維持しつつ、gofmtよりも厳格なフォーマットを強制します。つまり、gofumptが受け入れるフォーマットは、gofmtが受け入れるフォーマットのサブセットです。
このツールはGo 1.19時点のgofmtのフォークであり、Go 1.18以降が必要です。Goコードをフォーマットするためのドロップイン代替として使用でき、gofumptの後にgofmtを実行しても変更は発生しません。
gofumptは、gofmtのフォーマットと矛盾するルールを追加することは決してありません。つまり、gofmtと競合するのではなく、gofmtを拡張するものです。
goimports — 欠落している、または参照されていないパッケージインポートをチェックします。
gokart — 誤検知の最小化に焦点を当てたGolangセキュリティ解析。変数と関数引数の発生源を追跡して、入力ソースが安全かどうかを判断できます。
GolangCI-Lint — Go向けの高速リンターランナー。複数のGoリンターを集約し、統一された設定、キャッシュ、出力形式を提供します。Go Meta Linterの代替です。
golint — Goソースコード内のコーディングスタイルの間違いを出力します。
goreporter — 多数のリンターを並行して実行し、その出力をレポートに正規化します。
goroutine-inspect — Golangのgoroutineダンプを解析するための対話型ツール。
gosec (gas) — Go ASTをスキャンして、ソースコードのセキュリティ問題を検査します。
gotype — Goコンパイラに類似した構文解析および意味解析。
govulncheck — Govulncheckは、Goコードに影響を与える既知の脆弱性を報告します。ソースコードまたはバイナリのシンボルテーブルの静的解析を使用して、アプリケーションに影響を与える可能性のあるものだけにレポートを絞り込みます。 デフォルトでは、govulncheckはhttps://vuln.go.devのGo脆弱性データベースにリクエストを行います。脆弱性データベースへのリクエストにはモジュールパスのみが含まれ、コードやプログラムのその他のプロパティは含まれません。
ineffassign — Goコード内の効果のない代入を検出します。
interfacer ⚠️ — 使用できるより狭いインターフェースを提案します。
lll — 長い行を報告します。
maligned ⚠️ — フィールドを並べ替えればメモリ使用量が少なくなる構造体を検出します。
misspell — よくある英語のスペルミスを見つけます。
nakedret ⚠️ — naked return(戻り値を明示しないreturn文)を見つけます。
nargs — 関数宣言内の未使用の引数を見つけます。
OSV-Scanner — OSV.devが提供するデータを使用する、Goで書かれた脆弱性スキャナー。Googleによって開発され、複数の言語とパッケージマネージャーにわたる依存関係をスキャンして既知の脆弱性を検出します。コンテナスキャン、ライセンススキャン、ガイド付き修復をサポートします。ロックファイル、SBOM、コンテナイメージを処理してセキュリティ問題を特定します。
prealloc — 事前割り当てできる可能性のあるスライス宣言を見つけます。
Reviewdog — 任意のコードホスティングサービス上の任意のリンターからのレビューコメントを投稿するためのツール。
revive — 高速、設定可能、拡張可能、柔軟で美しいGo用リンター。golintのドロップイン代替品。
safesql ⚠️ — SQLインジェクションから保護するGolang用静的解析ツール。
shisho ⚠️ — 開発者とセキュリティチーム向けに設計された軽量な静的コードアナライザー。sedに似た、コード用の直感的なDSLを使用してソースコードを解析・変換できます。
staticcheck — バグの発見、コードの簡素化、パフォーマンスの向上を専門とするGo静的解析。
structcheck — 未使用の構造体フィールドを見つけます。
structslop — スペース/割り当て効率を最大化するための構造体フィールドの並べ替えを推奨するGo用静的アナライザー。
test — stdlibのtestingモジュールからテスト失敗の場所を表示します。
unconvert ⚠️ — 冗長な型変換を検出します。
unparam — 未使用の関数パラメータを見つけます。
varcheck — 未使用のグローバル変数と定数を見つけます。
wsl — 適切な場所に空行を強制します。
HuntBugs ⚠️ — FindBugsの後継を目指す、Procyon Compiler Toolsに基づくバイトコード静的解析ツール。
IntelliJ IDEA ©️ — JavaとKotlin向けの多数のインスペクションがバンドルされており、リファクタリング、フォーマットなどのツールも含まれています。
JArchitect ©️ — コードを測定、クエリ、視覚化し、予期しない問題、技術的負債、複雑さを回避します。
JBMC — Java(バイトコード)用の有界モデルチェッカー。ユーザー定義のアサーション、標準アサーションを検証し、いくつかのカバレッジメトリクス解析を実行します。
Mariana Trench — AndroidおよびJavaアプリケーション向けの、セキュリティに焦点を当てた静的解析ツール。Mariana TrenchはDalvikバイトコードを解析し、大規模なコードベース(数千万行のコード)で高速に動作するように設計されています。コードがリポジトリに取り込まれる前に、コード変更時点で脆弱性を発見できます。
NullAway — ビルド時のオーバーヘッドが低い、型ベースのヌルポインタチェッカー。Error Proneのプラグインです。
OWASP Dependency Check ⚠️ — 依存関係に、既知の公開済み脆弱性がないかをチェックします。
qulice — いくつかの(事前設定済みの)静的解析ツール(checkstyle、PMD、Findbugsなど)を組み合わせます。
RefactorFirst — Javaコードベース内で最初にリファクタリングすべきGod Class(神クラス)と高結合クラスを特定して優先順位付けします。
Soot — JavaおよびAndroidアプリケーションを解析および変換するためのフレームワーク。
Spoon — Spoonは、Javaソースコード(Java 9、10、11、12、13、14を含む)を解析および変換するためのメタプログラミングライブラリです。ソースファイルを解析して、強力な解析および変換APIを備えた適切に設計されたASTを構築します。MavenおよびGradleに統合できます。
SpotBugs — SpotBugsはFindBugsの後継です。Javaコードのバグを探すための静的解析ツール。- steady ⚠️ — 既知の脆弱性を持つオープンソースの依存関係についてJavaアプリケーションを分析します。静的解析とテストの両方を使用してコードのコンテキストと使用法を判断し、精度を高めます。
Violations Lib — 静的コード解析のレポートファイルを解析するためのJavaライブラリ。多くのJenkins、Maven、Gradleプラグインで使用されています。
RSLint ⚠️ — 可能な限り高速で、カスタマイズ可能かつ使いやすいように設計されたRust製のJavaScriptリンター(WIP)。
standard — JavaScriptスタイルガイドの問題をチェックするnpmモジュール。
tern — 深く、クロスエディタでの言語サポートを実現するJavaScriptコードアナライザー。
TypL ⚠️ — TypLでは、完全に標準的なJSを書くだけで、強力な推論によって型を特定してくれます。
xo — 意見は明確ですが設定可能なESLintラッパーで、多数の便利機能が含まれています。厳格で読みやすいコードを強制します。
yardstick ⚠️ — JavaScriptコードメトリクス。
PHP Assumptions — 弱い仮定をチェックします。
PHP Coding Standards Fixer — PSR-1、PSR-2、Symfony標準などの標準に従ってコードを修正します。
PHP Insights — コンソールから即座にPHP品質チェックを実行します。コード品質とコーディングスタイルの分析に加え、コードアーキテクチャとその複雑度の概要を提供します。
Php Inspections (EA Extended) — PHP用の静的コードアナライザー。
PHP Refactoring Browser — リファクタリングヘルパー。
PHP Semantic Versioning Checker — セマンティックバージョニングに基づいて次のバージョンを提案します。
PHP-Parser — PHPで書かれたPHPパーサー。
php-speller — PHPスペルチェックライブラリ。
PHP-Token-Reflection ⚠️ — PHP内部リフレクションをエミュレートするライブラリ。
php7cc ⚠️ — PHP 7互換性チェッカー。
php7mar ⚠️ — 開発者がコードをPHP 7に迅速に移植するのを支援します。
PHP_CodeSniffer ⚠️ — 定義された一連のコーディング標準に対する違反を検出します。
PHPArkitect — PHPArkitectは、ワークフローにアーキテクチャ制約チェックを追加できるようにすることで、PHPコードベースの一貫性と堅牢性を維持するのに役立ちます。強制したい制約を、シンプルで読みやすいPHPコードで表現できます。
phpca ⚠️ — 組み込みでない拡張機能の使用を検出します。
phpcpd ⚠️ — PHPコード用のコピー/ペースト検出器。
phpdcd ⚠️ — PHPコード用のデッドコード検出器(DCD)。
PhpDependencyAnalysis ⚠️ — プロジェクトの依存関係グラフを構築します。
PhpDeprecationDetector ⚠️ — 新しいインタープリタバージョンで非推奨となった機能に関する問題を探すPHPコードのアナライザー。削除されたオブジェクト(関数、変数、定数、iniディレクティブ)、非推奨の関数機能、禁止された名前やトリック(例: 新しいバージョンの予約識別子)の使用を検出します。
phpdoc-to-typehint ⚠️ — PHPDocアノテーションを使用して、既存のPHPプロジェクトにスカラー型ヒントと戻り値の型を追加します。
phpDocumentor — ドキュメントを生成するためにPHPソースコードを分析します。
phploc ⚠️ — PHPプロジェクトのサイズを迅速に測定し、構造を分析するためのツール。
PHPMD — コード内の潜在的なバグを見つけます。
PhpMetrics — さまざまなコード品質メトリクスを計算し、可視化します。
phpmnd — マジックナンバーの検出に役立ちます。
PHPQA — QAツール(phploc、phpcpd、phpcs、pdepend、phpmd、phpmetrics)を実行するためのツール。
phpqa - jakzal — PHP静的解析のための多くのツールを1つのコンテナにまとめたもの。
phpqa - jmolivas — PHPQAオールインワンAnalyzer CLIツール。
phpsa ⚠️ — PHP用の静的解析ツール。
PHPStan — PHP静的解析ツール - コードを実行せずにバグを発見しましょう!
Progpilot — セキュリティ目的の静的解析ツール。
Psalm — PHPアプリケーションの型エラーを見つけるための静的解析ツール。
Qafoo Quality Analyzer ⚠️ — メトリクスとソースコードを可視化します。
rector — あらゆるPHP 5.3+コードの即時アップグレードと自動リファクタリング。コードをPHP 7.4、8.0以降に対応するようにアップグレードします。Rectorは、厳密に定義されたAST(抽象構文木)パターンを探すため、偽陽性率が低いことを約束します。主なユースケースは、レガシーコードの技術的負債への対処とデッドコードの削除です。RectorはSymfony、Doctrine、PHPUnitなど向けの特別なルールセットを提供します。
Reflection — PHPプロジェクトの静的解析を行うためのリフレクションライブラリ。
Symfony Insight ©️ — PHPプロジェクトのセキュリティリスクを検出し、バグを見つけ、実用的なメトリクスを提供します。
Tuli — 静的解析エンジン。
twig-lint — twig-lintは、Twigファイル用のlintツールです。
WAP — PHP(4.0以降)Webアプリケーションの入力検証の脆弱性を検出・修正するツールで、静的解析とデータマイニングを組み合わせて誤検知を予測します。
fixit — ソースコード用のlintルールと対応する自動修正を作成するためのフレームワーク。
flake8 — pyflakes、pycodestyle、mccabeのラッパー。
flakeheaven — flakeheavenは、継承可能で複雑なTOML設定を可能にするためにflake8を基盤として構築されたPythonリンターです。
Griffe — Pythonプログラム全体のシグネチャ。プロジェクトの構造、フレーム、骨格を抽出して、APIドキュメントを生成したり、APIの破壊的変更を見つけたりできます。
InspectorTiger ⚠️ — IT(Inspector Tiger)は、モダンなPythonコードレビューツール/フレームワークです。改善点や潜在的なバグについて警告する、事前定義された多数のハンドラーが付属しています。これらのハンドラーに加えて、独自のハンドラーを作成したり、コミュニティ製のものを使用したりできます。
jedi — Python用のオートコンプリート/静的解析ライブラリ。
linty fresh — lintエラーを解析し、プルリクエストへのコメントとしてGithubに報告します。
mbake — mbakeはMakefileフォーマッタ兼リンターです。たった50年かかりました!
mccabe ⚠️ — McCabe複雑度をチェックします。
multilint ⚠️ — flake8、isort、modernizeのラッパー。
mypy — ダックタイピングと静的型付けの利点を組み合わせることを目的とした静的型チェッカーで、MonkeyTypeと組み合わせてよく使用されます。
pip-audit — 既知の脆弱性についてPythonパッケージをスキャンするツール。Python Packaging Authority(PyPA)によって開発され、Trail of BitsとGoogleによってサポートされています。Python環境とrequirementsファイルをスキャンして脆弱なパッケージを特定し、修正を提案します。GitHub Actions、pre-commitフック、複数の脆弱性サービス統合をサポートしています。
prospector — pylint、pep8、mccabeなどのラッパー。- py-find-injection ⚠️ — Python コードの SQL インジェクションの脆弱性を検出します。
pyanalyze — 未定義変数への参照や型エラーなど、Python コードのよくある誤りをプログラム的に検出するツールです。追加のルールや特定の関数に固有のチェックを実行するように拡張できます。
pycodestyle — (旧称 pep8) PEP 8 のスタイル規約の一部に従って Python コードをチェックします。
pydocstyle ⚠️ — Python の docstring 規約への準拠をチェックします。
pyflakes — Python ソースファイルのエラーをチェックします。
pylint — プログラミングエラーを探し、コーディング標準の適用を支援し、一部のコードスメルを検出します。さらに pyreverse(UML ダイアグラム生成器) と symilar(類似性チェッカー) が含まれています。
pylyzers ⚠️ — Rust で書かれた Python 用の静的コード解析ツール / 言語サーバーで、型チェックと読みやすい出力に重点を置いています。
Pyra — Pyra は Python で書かれたデータサイエンスアプリケーション向けの高水準リンター静的解析ツールで、Lyra の拡張として、開発者が Python で書かれたデータサイエンスコードの潜在的な問題を特定するのに役立ちます。
pyre-check ⚠️ — 大規模な Python コードベース向けの高速でスケーラブルな型チェッカーです。Pyre-check は、その次世代版である Pyrefly に置き換えられました。
pyrefly — Python 向けの高速なインクリメンタル型チェッカー兼言語サーバーで、コードナビゲーション、セマンティックハイライト、コード補完などの IDE 機能を提供します。
pyright — mypy などの既存ツールのギャップに対処するために作成された Python 用の静的型チェッカーです。
pyroma — Python プロジェクトが Python パッケージングエコシステムのベストプラクティスにどの程度準拠しているかを評価し、改善できる問題を列挙します。
Pysa — Facebook の pyre-check をベースに、汚染解析 (taint analysis) によって Python コードの潜在的なセキュリティ問題を特定するツールです。
PyT - Python Taint ⚠️ — Python Web アプリケーションのセキュリティ脆弱性を検出する静的解析ツールです。
pytype — Python コード用の静的型解析ツールです。
pyupgrade — 言語の新しいバージョンの構文に自動的にアップグレードするツール(および pre-commit フック)です。
QuantifiedCode ⚠️ — 自動コードレビューと修復を提供します。ソフトウェアプロジェクトの問題やメトリクスを追跡するのに役立ち、新しい種類の解析をサポートするように簡単に拡張できます。
radon ⚠️ — ソースコードからさまざまなメトリクスを計算する Python ツールです。
refurb — Python コードベースをリファービッシュ(改修)し、モダナイズするためのツールです。Refurb は Rust 組み込みのリンターである clippy から多大な影響を受けています。
ruff — Rust で書かれた高速な Python リンターです。既存のリンターより 10〜100 倍高速です。Python 3.10 に対応。ファイルウォッチャーをサポートしています。
Safety — 既知の脆弱性を持つパッケージを検出することでソフトウェアサプライチェーンセキュリティを強化するように設計された Python 依存関係脆弱性スキャナーです。既知のセキュリティ脆弱性のデータベースと Python 依存関係を照合し、詳細なレポートを提供します。CI/CD 統合と複数の出力形式をサポートしています。
ty — Rust で書かれた超高速の Python 型チェッカーです。
unimport — 未使用の import 文を検出して削除するためのリンター、フォーマッターです。
vulture — Python コード内の未使用のクラス、関数、変数を検出します。
wemake-python-styleguide — 史上最も厳格で、最も独断的な Python リンターです。
wily — Python ソースコードの複雑さをアーカイブ、調査、グラフ化するためのコマンドラインツールです。
xenon ⚠️ — radon を使用してコードの複雑さを監視します。
yapf ⚠️ — Google が作成した Python ファイル用フォーマッターです。 YAPF は、Daniel Jasper が作成した 'clang-format' ツールに由来する独自の方法論に従います。基本的に、このプログラムは、元のコードがすでにスタイルガイドに従っている場合でも、スタイルガイドに準拠した最も適切な書式にコードを整形し直します。この概念は Go プログラミング言語の 'gofmt' ツールと似ており、変更が行われるたびにプロジェクトのコードベース全体を YAPF に通すことでフォーマットに関する議論を終わらせ、プロジェクト全体で一貫したスタイルを維持し、すべてのコードレビューでスタイルについて議論する必要性をなくすことを目的としています。
MetricFu ⚠️ — MetricFu は、コードのどの部分に追加の作業が必要かを示すレポートを提供するツール群です。
pelusa — オブジェクト指向 Ruby コードを改善するための静的解析 Lint タイプのツールです。
quality ⚠️ — コミュニティツールを使用してコードの品質チェックを実行し、数値が時間とともに悪化しないようにします。
Querly ⚠️ — Ruby 用のパターンベースチェックツールです。
Railroader ⚠️ — Ruby on Rails アプリケーション向けのオープンソースの静的解析セキュリティ脆弱性スキャナーです。
rails_best_practices — Rails プロジェクト向けのコードメトリクスツールです。
reek — Ruby 用のコードスメル検出器です。
Roodi — Roodi は Ruby Object Oriented Design Inferometer の略です。Ruby コードを解析し、設定されたチェックに基づいて、存在する設計上の問題を警告します。
RuboCop — コミュニティの Ruby スタイルガイドに基づく Ruby 静的コード解析ツールです。
Rubrowser — Ruby クラスの対話型依存関係グラフ生成ツールです。
ruby-lint ⚠️ — Ruby の静的コード解析。
rubycritic — Ruby コード品質レポーターです。
rufo — 独断的な Ruby フォーマッターで、コマンドラインまたはテキストエディタプラグインとして使用し、保存時または必要に応じてファイルを自動フォーマットすることを目的としています。
Saikuro ⚠️ — Ruby の循環的複雑度アナライザーです。
SandiMeter ⚠️ — Ruby コードが Sandi Metz のルールに従っているかをチェックする静的解析ツールです。
Skunk — Ruby コードの SkunkScore 計算ツール -- テストカバレッジのない最も複雑なコードを見つけ出します!
Sorbet — Ruby 用に設計された高速で強力な型チェッカーです。
Standard Ruby — Ruby スタイルガイドに、リンターと自動コード修正機能を備えたものです。
Steep — Ruby 向けの段階的型付け (Gradual Typing)。
Traceroute ⚠️ — Rails 3+ アプリの未使用のルートとコントローラアクションを見つけるのに役立つ Rake タスク gem です。
cargo-spellcheck — hunspell (実用段階) と languagetool (プレビュー) を使用して、すべてのドキュメントのスペルと文法の誤りをチェックします。
cargo-unused-features ⚠️ — 有効化されているものの未使用の可能性があるフィーチャーフラグを見つけて削除します。json からシンプルな HTML レポートを生成して、結果を確認しやすくすることができます。 依存関係のフィーチャーを削除してからプロジェクトをコンパイルし、それでもコンパイルできるかを確認します。できる場合は、そのフィーチャーフラグは削除できる可能性がありますが、誤検知の場合もあります。
clippy — よくある誤りを検出し、Rust コードを改善するためのコードリンターです。
diff.rs — Rust クレートのバージョン間の差分を描画する Web アプリケーション (WASM) です。
dylint — 動的ライブラリから Rust リントを実行するためのツールです。Dylint を使用すると、開発者は自分自身の個人用リントコレクションを簡単に管理できます。
electrolysis ⚠️ — Rust プログラムを Lean 定理証明器の定義にトランスパイルして、正式に検証するためのツールです。
herbie ⚠️ — 数値的に不安定な浮動小数点式を使用した場合に、クレートに警告またはエラーを追加します。
kani — Kani Rust Verifier は、Rust 用のビット精度モデルチェッカーです。 Kani は、Rust の unsafe コードブロックの検証に特に役立ちます。そこでは「unsafe のスーパーパワー」がコンパイラによってチェックされません。 Kani は以下を検証します:
BlockWatch — コード、ドキュメント、設定の同期を維持し、厳格なフォーマットおよび検証ルールを強制する言語非依存のリンター。
BugProve ⚠️ ©️ — BugProve は、静的解析と動的解析の両方の手法を備えたファームウェア解析プラットフォームで、メモリ破損、コマンドインジェクション、その他のクラスまたは一般的な弱点をバイナリコードから発見します。また、脆弱な依存関係、弱い暗号化パラメータ、設定ミスなども検出します。
callGraph — コールグラフ画像を静的に生成し、画面上に表示します。
CAST Highlight ©️ — ローカルで実行する商用静的コード解析。ただし、表示用に結果をクラウドへアップロードします。
Checkmarx CxSAST ©️ — 事前コンパイルを必要としない商用静的コード解析。
ClassGraph — クラスメタデータやクラスの関連性を照会または可視化するためのクラスパスおよびモジュールパススキャナー。
Clayton ©️ — Salesforce 向けの AI 搭載コードレビュー。開発をセキュアにし、ベストプラクティスを強制し、技術的負債をリアルタイムで管理します。
coala ⚠️ — コード解析を作成するための言語非依存フレームワーク。デフォルトで 60 以上の言語をサポートします。
Cobra ©️ — NASA のジェット推進研究所による構造的ソースコード解析ツール。
Codacy ©️ — より良いコードをより速くリリースするためのコード解析。
Code Intelligence ©️ — バグの発見とコードカバレッジの可視化のために業界をリードするファジングエンジンを組み合わせた、CI/CD に依存しない DevSecOps プラットフォーム
Code Pathfinder — ファイル間データフロー汚染解析を備えた、セキュリティチーム向けのオープンソース静的コード解析。脆弱性の発見、高度な構造検索、インサイトの導出のために構築されており、MCP サーバーをサポートします。
Code-Graph-RAG — Tree-sitter の AST 解析を使用して多言語コードベースからナレッジグラフを構築し、Memgraph に保存します。統一されたグラフスキーマで 11 のプログラミング言語をサポートし、コード構造と関係性の自然言語による照会と編集を可能にします。AI アシスタント統合用の MCP サーバーとして機能します。
Codeac ©️ — GitHub、Bitbucket、GitLab(セルフホスト版も含む)と統合する自動コードレビューツール。JavaScript、TypeScript、Python、Ruby、Go、PHP、Java、Docker などに対応しています。(オープンソース無料)
codeburner — 見つかった問題を分類して対処するための統一インターフェースを提供します。
codechecker — Web GUI 付きの Clang Static Analyzer 用の欠陥データベースおよびビューア拡張機能。
CodeFactor ©️ — GitHub または BitBucket 上のリポジトリ向けの自動コード解析。
CodeFlow ©️ — 技術的負債に対処するための自動コード解析ツール。Bitbucket および GitLab と統合します。(オープンソースプロジェクト向け無料)
Codemodder — Codemodder は、表現力豊かな codemod を構築するためのプラグイン可能なフレームワークです。リンターやコードフォーマットツール以上のものが必要な場合に Codemodder を使用します。重要度の高いセキュリティ問題やその他のコード品質の問題を修正するために使用します。
codeql — 深いコード解析 - 複数の言語向けのセマンティッククエリとデータフロー。VSCode プラグインをサポート。
CodeQue — JavaScript および TypeScript コードの構造マッチングのためのエコシステム。コード構造を理解する検索ツールを提供します。CLI ツールおよび Visual Studio Code 拡張機能として利用できます。コードをより速く、より正確に検索してワークフローをより効果的にするのに役立ちます。まもなく、コードベースの品質保証に役立つ独自ルールを数分で作成できる ESLint プラグインを提供する予定です。
CodeRush ©️ — Visual Studio 2015 以降で Roslyn エンジンを使用するコード作成、デバッグ、ナビゲーション、リファクタリング、解析、可視化ツール。
CodeScan ©️ — Salesforce 開発者向けのコード品質とセキュリティ。Salesforce プラットフォーム専用に作られた CodeScan のコード解析ソリューションは、コードの健全性を完全に可視化します。
CodeScene ©️ — CodeScene はソフトウェアの品質可視化ツールです。技術的負債の優先順位付け、納品リスクの検出、組織的側面の測定を行います。完全自動化。
CodeSee ©️ — CodeSee は、アプリのサービス、ディレクトリ、ファイル依存関係、コード変更をマッピングし自動化します。コードのための Google マップのようなものです。
CodeSonar from GrammaTech ©️ — C、C++、Java、C# の高度なプログラム全体・深いパスにわたる静的解析。わかりやすい説明と、コードおよびパスの可視化を備えています。
Codety ⚠️ ©️ — Codety Scanner は、5000 以上の静的コード解析ルールを組み込んだ包括的なソースコードスキャナーで、20 以上のプログラミング言語と IaC ツールのコード問題を検出することを目的としています。
Codiga ©️ — 12 以上の言語をサポートする自動コードレビューおよび技術的負債管理プラットフォーム。
Corgea ©️ — Corgea は、開発者が安全でないコードを見つけて修正するのに役立つ AI 搭載の SAST スキャナーです。ビジネスロジックの欠陥、認証の破損、API の脆弱性などを誤検知を抑えながら発見します。さらに、承認用のセキュリティ修正を自動的に作成します。Corgea は GitHub、GitLab、Azure DevOps、IDE、CLI と統合します。無料で試すことができます。
Corrode ⚠️ — C から Rust への半自動翻訳。Rust コンパイラの警告とエラーを表示することで、元の実装のバグを明らかにできる可能性があります。C2Rust に取って代わられました。
Coverity ©️ — Synopsys Coverity は、Ruby on Rails、Scala、PHP、Python、JavaScript、TypeScript、Java、Fortran、C、C++、C#、VB.NET を含む 20 の言語と 70 以上のフレームワークをサポートしています。
cpp-linter-action — clang-tidy と clang-format を統合して C/C++ コードをリントするための GitHub Action。スレッドコメントや注釈の形式でフィードバックを収集します。
cqc ⚠️ — js、jsx、vue、css、less、scss、sass、styl ファイルのコード品質をチェックします。
DeepCode ⚠️ ©️ — DeepCode は Snyk に買収され、現在は Snyk Code になっています。
DeepSource ©️ — バグリスク、セキュリティ、アンチパターン、パフォーマンス、ドキュメント、スタイルの領域で問題を発見するための詳細な静的解析。GitHub、GitLab、Bitbucket とのネイティブ統合。誤検知率は 5% 未満。
deleaker ©️ — Deleaker は、C++、.NET、Delphi 向けのメモリリーク検出ツールで、Visual Studio、Qt Creator、RAD Studio と統合するか、スタンドアロンアプリケーションとして実行します。開発者がメモリ、GDI、ハンドルリークを効率的に発見して修正するのに役立ちます。
Depends — Java、C/C++、Ruby のコード要素の包括的な依存関係を分析します。
DerScanner ©️ — ハードコードされたシークレット、弱い暗号化、バックドア、SQL インジェクション、安全でない設定などの重大な脆弱性を検出する、多言語対応の静的アプリケーションセキュリティテスト (SAST) プラットフォーム。
DevSkim — Visual Studio、VS Code、Sublime Text 向けの正規表現ベースの静的解析ツール - C/C++、C#、PHP、ASP、Python、Ruby、Java など。
diesel-guard — Diesel および SQLx における危険な Postgres マイグレーションパターン用のリンター。安全でないスキーマ変更によるダウンタイムを防ぎます。
dotnet-format — .NET 用のコードフォーマッター。設定は、存在する場合は .editorconfig ファイルから読み取られ、存在しない場合はデフォルトの設定セットが使用されます。現時点では、dotnet-format はサポートされている .editorconfig オプションのサブセットを使用して C# および Visual Basic プロジェクトをフォーマットできます。
Embold ©️ — 設計上の問題、コードの問題、重複、メトリクスを特定するインテリジェントなソフトウェア分析プラットフォーム。Java、C、C++、C#、JavaScript、TypeScript、Python、Go、Kotlin などをサポートします。
emerge ⚠️ — Emerge は、ソフトウェアプロジェクトのソースコード構造、メトリクス、依存関係、複雑さに関するインサイトを収集するために使用できるソースコードおよび依存関係の可視化ツールです。プロジェクトのソースコードをスキャンした後、グラフ構造を使用してプロジェクトを探索・分析できるインタラクティブな Web インターフェースを提供します。
Enforster AI ©️ — Enforster AI は、LLM と人工知能を活用してロジックの欠陥、シークレット、データ漏えい、サプライチェーン、技術的脆弱性の検出を強化・充実させる Contextual Code Security SAST を実行します。
ESLint — ECMAScript 標準に従う JS 用の拡張可能なリンター。
ezno — Rust で書かれた JavaScript コンパイラおよび TypeScript チェッカーで、静的解析とランタイムパフォーマンスに重点を置いています。Ezno の型チェッカーはゼロから構築されています。このチェッカーは TypeScript の型注釈と完全に互換性があり、型注釈なしでも動作できます。
Find Security Bugs — Java Web アプリケーションおよび Android アプリケーションのセキュリティ監査用の SpotBugs プラグイン。(Kotlin、Groovy、Scala プロジェクトでも動作します)- Fortify ©️ — 商用静的解析プラットフォームで、C/C++、C#、VB.NET、VB6、ABAP/BSP、ActionScript、Apex、ASP.NET、Classic ASP、VB Script、Cobol、ColdFusion、HTML、Java、JS、JSP、MXML/Flex、Objective-C、PHP、PL/SQL、T-SQL、Python (2.6, 2.7)、Ruby (1.9.3)、Swift、Scala、VB、XML のスキャンをサポートします。
Freeplane Code Explorer — Freeplane の Code Explorer モードは、JVM クラスファイルにコンパイルされたコードの構造と依存関係を解析するために設計されています。また、Freeplane が実行中で ArchUnit がテスト中にルール違反を検出した場合、ArchUnit のテスト結果を Freeplane に直接表示することもできます。
Goodcheck — 正規表現ベースのカスタマイズ可能なリンター。
goone ⚠️ — Go コード内の N+1 クエリ(for ループ内の SQL 呼び出し)を検出します
graudit — Grep rough audit - ソースコード監査ツール。
HCL AppScan Source ©️ — 商用の静的コード解析。
Hopper ⚠️ — JVM 上で動作する言語向けに Scala で書かれた静的解析ツール。
Hound CI — GitHub プルリクエストのスタイル違反にコメントします。Coffeescript、Go、HAML、JavaScript、Ruby、SCSS、Swift をサポート。
imhotep ⚠️ — リポジトリに送られてくるコミットにコメントし、構文エラーや一般的な lint 警告をチェックします。
include-gardener ⚠️ — C/C++/Obj-C/Python/Ruby 用の多言語静的解析ツールで、指定されたファイル群のすべての #include 関係を示すグラフ(dot または graphml 形式)を作成します。
Infer — Java、C、Objective-C 用の静的解析ツール
Joern — Joern は、ソースコード、バイトコード、バイナリ実行可能ファイルを解析するためのプラットフォームです。クロス言語コード解析のためのコードのグラフ表現であるコードプロパティグラフ(CPG)を生成します。コードプロパティグラフはカスタムグラフデータベースに格納されます。これにより、Scala ベースのドメイン特化クエリ言語で記述された検索クエリを使用してコードをマイニングできます。Joern は、静的プログラム解析における脆弱性の発見と研究に役立つツールを提供することを目的として開発されています。
jQAssistant — jQAssistant はプラグインベースのソフトウェア分析プラットフォームで、リポジトリからコード構造とメタデータをスキャンして Neo4j グラフデータベースに取り込むことができます。収集したデータは、クエリを使用したアドホックな探索、可視化、継続的なアーキテクチャ検証のためのルール定義に使用できます。
keploy — Keploy は、開発者がテストプロセスを自動化・効率化するのに役立つオープンソースのテストプラットフォームです。実際に動作する API 向けのテストとモック/スタブを生成する API および統合テストエージェントを提供します。さらに Keploy は、GitHub PR と VSCode 内で直接、安定した有用なユニットテストを生成する AI を活用したユニットテストエージェントを提供し、エラーの検出とコード品質の向上に役立ちます。
Kiuwan ©️ — SDLC へのシームレスな統合により、非常に高速なコラボレーション環境でサイバー脅威を特定し、修復します。Python、C\C++、Java、C#、PHP などに対応。
Klocwork ©️ — C/C++、Java、C# 向けの品質およびセキュリティ静的解析。
LangLint — 20 以上のファイルタイプにわたるコードコメントと docstring の自動翻訳プラットフォーム。国際的なソフトウェア共同開発における言語の壁を解消します。構文保護付きで 100 以上の言語ペアをサポート。Ruff のような CI/CD パイプラインに統合可能。並行処理により 10〜20 倍高速。
LGTM ©️ — ソースコードに対する CodeQL クエリを使用して、セキュリティの脆弱性、亜種、重大なコード品質の問題を発見します。自動 PR コードレビュー。オープンソースには無料。旧 semmle。Bitbucket Cloud、GitHub.com、GitLab.com でホストされている公開 Git リポジトリをサポートします。
lizard — Lizard は、C/C++(すべてのヘッダーファイルや Java のインポートを必要としない)を含む多くのプログラミング言語向けの拡張可能な循環的複雑度アナライザーです。また、コピー&ペースト検出(コードクローン検出/コード重複検出)や、その他多くの形式の静的コード解析も行います。コメントを除いたコード行数、CCN(循環的複雑度)、関数のトークン数、関数のパラメータ数を数えます。
Mega-Linter — Mega-Linter は、70 以上の組み込みリンターと高度なレポート機能により、あらゆるタイプのプロジェクトを処理できます。 任意の CI システムまたはローカルで実行可能で、 インストールと設定を支援し、フォーマットと修正を適用できます