
graudit は、GNU ユーティリティ grep を使用してソースコード内の潜在的なセキュリティ欠陥を見つけられるシンプルなスクリプトとシグネチャセットです。技術的要件を最小限に抑えつつ非常に柔軟であり、RATS、SWAAT、flaw-finder などの他の静的解析アプリケーションに匹敵します。
インストールはユーザー単位または root でグローバルに行えます。単に make に userinstall または install 引数を付けて実行してください。ただし、配布ファイルに含まれていない追加のデータベースルールが含まれているため、git リポジトリをクローンして graudit を直接使用することをお勧めします。これにより、リリース間のアップデートを取得することもできます。これを行うには、次のコマンドを実行します:
git clone https://github.com/wireghoul/graudit
その後、好みのシェルに適切な値を使用して graudit を PATH に追加できます:
echo 'PATH="$HOME/graudit:${PATH:+:${PATH}}"; export PATH;' >> ~/.bashrc
graudit がホームディレクトリにない場合は、.bashrc ファイル内の GRDIR 環境変数をシグネチャディレクトリに設定するとよいでしょう。
export GRDIR=/path/to/graudit/signatures
graudit はいくつかのオプションをサポートし、優れたシェルプラクティスに従うよう努めています。オプションの一覧については、graudit -h を実行するか、以下を参照してください。graudit を使用する最も簡単な方法は次のとおりです;
graudit [opts] /path/to/scan
OPTIONS
-d <dbname> database to use or /path/to/file.db (uses default if not specified)
-A scan unwanted and difficult (ALL) files
-x exclude these files (comma separated list: -x *.js,*.sql)
-i case in-sensitive scan
-c <num> number of lines of context to display before and after a match, default is 1
-B suppress banner
-L vim friendly lines
-b colour blind friendly template
-z suppress colors
-Z high contrast colors
-l lists databases available
-v prints version number
-h prints this help screen
GRARGS 環境変数を介してデフォルトのコマンドラインオプションを設定できます。これによりスクリプト内での graudit の使用に影響を与える可能性があるため、この目的には B、L、b、z、Z オプションのみを使用することをお勧めします。
echo 'GRARGS="-b -L"; export GRARGS' >> ~/.bashrc
graudit は拡張正規表現 (POSIX) をシグネチャとして使用し、すぐに使用できる複数のデータベースが付属しています。既存のデータベースを拡張したり、追加のシグネチャが必要な場合は独自のデータベースを作成できます。
データベースは複数の場所から読み込むことができ、優先順位は次のとおりです:
優先順位に基づいたデータベースファイルの一覧は、-l スイッチで表示されます: graudit -l
次のデータベースが含まれています:
チュートリアル/紹介ビデオは次の URL でご覧いただけます: https://youtu.be/b8Xbzer1n94
graudit に貢献したい場合は、https://github.com/wireghoul/graudit でリポジトリをフォークして使用してください。特に言語ルール、追加スクリプト、ドキュメントの貢献を大歓迎します。graudit が気に入ったら、感謝の言葉を述べて周りに共有してください。
連絡を取りたい場合は、GitHub または Twitter (@wireghoul) でメッセージを送ってください。