
Rust製のスタンドアロン・ゼロドライバWindowsシステム&APIモニター
Rust 製の高性能・ドライバ不要な Windows システムおよび API モニター。
Windows 向けのモダンな strace およびリアルタイム Process Monitor。ネイティブ Rust で構築され、カーネルドライバを一切必要とせず、リアルタイムのターミナルユーザーインターフェース (TUI) とヘッドレス診断向けの非バッファストリーミングを備えています。
サードパーティ製のカーネルドライバ (.sys) はシステムクラッシュ (BSOD) のリスクがあり、攻撃対象領域を広げ、エンタープライズ環境では禁止されているドライバ署名の例外を必要とします。wstrace は、非侵襲的な Win32 デバッグ API とネイティブ Windows ETW インターフェースを使用して、100% ユーザーランドで動作します。
標準ユーザーアカウントでも、wstrace run <binary> を介して任意のターゲットを実行およびトレースできます。生成された子プロセスは、UAC プロンプトなしでデバッグハンドル (PROCESS_ALL_ACCESS) を直接継承します。モジュール、スレッド、ソケット、および I/O のテレメトリは、完全に非特権の Win32 API に依存しています。
昇格はアクセラレータであり、ゲートではありません:
run、attach (ユーザーセッション)、子プロセス (-C)、インタラクティブ TUI、およびストリーミングの完全なトレース。wstrace all) を解放し、バックグラウンドの OS サービスやシステムデーモンを監視します。PowerShell で実行すると、最新リリースが $HOME\.local\bin に自動的にインストールされ、ユーザーの PATH に追加されます:
irm https://raw.githubusercontent.com/gilnett/wstrace/main/packaging/install.ps1 | iex
個人用バケット経由でインストールします:
scoop bucket add gilnett https://github.com/gilnett/scoop-bucket
scoop install wstrace
URL から直接インストールする場合:
scoop install https://raw.githubusercontent.com/gilnett/wstrace/main/packaging/scoop/wstrace.json
GitHub Releases からプリコンパイル済みのスタンドアロンバイナリをダウンロードしてください。
GitHub から直接インストールします:
cargo install --git https://github.com/gilnett/wstrace.git
または、クローンしたリポジトリからローカルでビルドします:
cargo build --release
生成されたバイナリは target\release\wstrace.exe にあります。
[!NOTE] Winget と Scoop のマニフェストは、公開された GitHub Releases と自動的に同期されます。
[!NOTE] 公式パッケージの申請は現在、microsoft/winget-pkgs でレビューと検証が行われています。コミュニティのモデレーターによって承認・マージされると、以下から直接インストールできるようになります:
winget install gilnett.wstrace
scoop install .\packaging\scoop\wstrace.json
現在のシェルで wstrace にアクセスできることを確認します:
wstrace --version
リアルタイムのWin32およびシステムテレメトリを使用して、対象の実行ファイルを起動します:
wstrace run <executable_path> [-- <arguments>...]
| キー | アクション | 説明 |
|---|---|---|
Ctrl+C | 選択項目をコピー | ハイライトされたイベントの詳細を Windows クリップボードにコピーします。 |
Ctrl+A | すべてコピー | 現在フィルタリングされているすべてのイベントを Windows クリップボードにコピーします。 |
Ctrl+E / Space | 一時停止 / 再開 | 受信中のテレメトリを破棄せずにイベントビューを凍結します。 |
Ctrl+X | バッファをクリア | 表示バッファから現在のイベントリストを空にします。 |
Tab | カテゴリ切り替え | イベントをフィルタリングします: ALL -> FILE -> REG -> NET -> PROC。 |
f | 失敗のみ | 失敗した操作(例: アクセス拒否、見つからない)のみに表示を制限します。 |
Up / Down | ナビゲーション | 詳細な検査のためにイベントを選択します。 |
q / Esc | 終了 | トレースセッションを正常に終了します。 |
アクティブなプロセス、新規生成、終了、およびロードされたモジュールをシステム全体でリアルタイムに監視します:
wstrace all
再起動せずに、PID またはバイナリ名で既存のプロセスにアタッチします:
# Attach by PID
wstrace attach -p <PID>
# Attach by process name
wstrace attach -n <process_name.exe>
ANSI カラーコード付きでライブイベントを直接 stdout に書き込みます:
wstrace -m stream [-d <seconds>] run <executable_path>
包括的なマニュアルと高度なオプション: 高度なパスフィルタリング(
--include/--exclude)、子プロセストラッキング(-C)、JSONレポート(--export-json)、クリップボードへのエクスポート(--copy)、スクリプトオプションについては、CLIリファレンスマニュアル を参照するか、wstrace --helpを実行してください。
packaging/install.ps1)ToolHelp32Snapshot、OpenProcess、VirtualQueryEx)およびWindowsイベントトレーシング(ETW)。x86_64-pc-windows-msvc(Intel / AMD 64ビット)aarch64-pc-windows-msvc(Qualcomm Snapdragon X / Windows on ARM)wstrace は、高セキュリティのエンタープライズ環境(銀行、防衛、医療、重要インフラ)への導入に向けた厳格な組織要件を満たすよう設計されています:
wstrace は100%オフラインかつスタンドアロンです。リモートサーバーを一切保持せず、テレメトリや分析を一切開始せず、外向きのネットワーク呼び出しを一切行いません。ライブトレース中に観測された機密データ(APIトークン、ファイルパス、認証情報、メモリ内容)は厳密にローカルRAM内に留まり、ワークステーションから外部へ出ることはありません。
サードパーティ製の .sys カーネルドライバーをインストールする従来のトレースユーティリティとは異なり—システムクラッシュ(ブルースクリーン / BSOD)のリスクやring-0バックドアの攻撃対象領域を生み出すことなく—wstrace はカーネルドライバーを一切使用せずに動作します。非侵襲的なユーザーランドのWin32デバッグと、ネイティブのWindowsカーネルETWコンシューマーインターフェースのみに依存しています。
トレーステレメトリは、Windowsユーザーセッションおよび強制整合性制御(MIC)の境界によって厳密に制限されます。非特権ユーザーセッションは、明示的な管理者権限への昇格なしに、より高い整合性レベルのプロセスへアクセスしたり検査したりすることはできず、最小権限の原則を厳格に遵守します。
wstrace はRustオープンソースエコシステムの上に構築されることを誇りに思い、以下の基盤ライブラリに感謝します:
完全なライセンス通知と条件については、THIRD_PARTY_LICENSES.md を参照してください。
wstrace が Windows エンジニアリング、セキュリティ監査、パフォーマンスデバッグに役立つと感じたら、GitHub Sponsors または Ko-fi を通じて開発を支援できます: