cpplumber
0.1.0 - Initial release

CPPLumberは、コンパイルされた実行可能ファイルに漏れるCおよびC ++ソースコード情報の検出と追跡に役立つ静的分析ツールです。
このプロジェクトはRustで書かれており、Libclangに依存するため、クロスプラットフォームであり、最新のCおよびC ++標準を使用するプロジェクトで使用できます。
a.out a.outコンパイルしたソースファイルfile1.cを持っていると想像してください。
$ cpplumber --bin a.out file1.c
[2022-09-24T19:57:14Z INFO cpplumber] Gathering source files...
[2022-09-24T19:57:14Z INFO cpplumber] Filtering suppressed files...
[2022-09-24T19:57:14Z INFO cpplumber] Extracting artifacts from source files...
[2022-09-24T19:57:15Z INFO cpplumber] Filtering suppressed artifacts...
[2022-09-24T19:57:15Z INFO cpplumber] Looking for leaks in 'a.out'...
"My_Super_Secret_API_Key" (string literal) leaked at offset 0x14f20 in "/full/path/to/a.out" [declared at /full/path/to/file1.c:5]
Error: Leaks detected!
完全なユーザードキュメントは、ここで(ここでもマークダウンとして)入手できます。
Rustバージョン1.63.0以上がプロジェクトを構築するために必要です。
git clone https://github.com/ergrelet/cpplumber.git
cd cpplumber
cargo build --release
錆がインストールされている場合は、Cpplumberをcargoで簡単に取り付けることができます。
cargo install --git https://github.com/ergrelet/cpplumber --tag 0.1.0
その後、コマンドラインからどこからでもcpplumberを呼び出すことができます。
cpplumber適切に実行されるために必要な依存関係をインストールする必要があることに注意してください。詳細については、ユーザーのドキュメントをご覧ください。