このプロジェクトについて
WinSightは、Windows向けの小さく単一目的で監査可能なセキュリティツール群であり、作者によればObjective-SeeのmacOSツールの精神に沿ったものです。無料のオープンソース(GPL-3.0-or-later)で、アカウント不要、テレメトリの報告もありません。
READMEの表に基づく対応範囲は次のとおりです。
- 永続化スキャナ(KnockKnock相当):27の自動起動面、カタログを考慮したAuthenticode判定、署名済みインタプリタに他人のペイロードを渡された場合のコマンドラインによるトリアージ、任意のVirusTotalエンリッチメント。
- 送信ファイアウォール(LuLu相当):Windows Filtering Platformを通じて適用されるアプリケーション単位のブロック/許可。昇格したオペレータが有効化するまでは監査のみ。
- Guardian(BlockBlock相当):新しいスタートアップ項目が現れた際の判断ウィンドウ(許可、ブロック(隔離・復元可能)、後で判断)に加え、WinSightが動作していない間に行われた変更の照合。
- ランサムウェア検出(RansomWhere?相当):可視でマシンごとに異なるデコイファイル、リネーム/削除のバースト、書き込み時のエントロピー、境界付きのコンテナ署名整合性チェック。
- カメラ・マイク監視(OverSight相当):ConsentStoreのアクティベーション履歴と遷移、ストアごとの読み取りカバレッジ、ベストエフォートのプロセス照合。
- 接続とDNS(Netiquette、DNSMonitor相当):TCP/UDP接続テーブルのスナップショットとライブDNSクエリ。Windowsが所有者を公開する場合はプロセスに帰属。
- 署名検証(What's Your Sign?相当):Authenticode、カタログ、検証済みMSIXパッケージの判定。すべてのツールで使用され、File Explorerの「Check signature with WinSight」エントリと`winsight sign`動詞も提供。
- ハイジャックスキャン(DHS相当):引用符なしのサービスパス、書き込み可能なサービスディレクトリとPATHエントリ、ファントムDLLインポート。それぞれ現在のマシンで悪用可能かどうかで格付け。
macOS版オリジナルに加えて、READMEは書き込みの帰属(昇格実行時に永続化またはランサムウェア警告の背後にあるプログラムを特定)、プロセス単位のドリルダウン(`winsight process <pid>`)、物理アクセスの証拠(`winsight presence`)に言及しています。また、概要レポートは構成済みおよび観測された運用態勢を読み取り専用で報告し、Defenderを照会できない場合は明示的に利用不可と示すこと、WinSight自体はその設定を決して変更しないことも述べています。
3つのインターフェースが提供されます。英語、フランス語、スペイン語のWPFデスクトップおよびトレイダッシュボード。`--flagged`と`--json`(schemaVersion、generatedAt、reportsを含むバージョン付きエンベロープ)をサポートする28の動詞を持つコマンドラインで、注目すべき事項がある場合は非ゼロで終了。そしてローカルstdioのみ、読み取り専用で、6つのツール、3つのリソース、2つのガイド付きプロンプトを持ち、ネットワークリスナーを持たないMCPサーバー(`winsight mcp`)。3つはすべて1つのオーケストレーション層を共有します。
インストール:デフォルトではユーザー単位で、管理者権限も.NETランタイムも不要で、x64およびArm64向けのポータブルZIPがあります。READMEは2つの結果を率直に述べています。送信ファイアウォールはユーザー単位インストールでは利用不可であること(サービスが非特権プリンシパルが変更可能なパスからの登録を拒否するため)、そしてWinSight自身のバイナリはそのユーザーとして実行される攻撃者によって置き換え可能であること。リリースバイナリはAuthenticode署名されておらず、代わりにプロジェクトはSHA-256チェックサム、SBOM、GitHubビルド来歴証明を公開し、実行前に検証するよう勧めています。送信ファイアウォールサービスはLocalSystemサービスを登録しWFPを変更するため、セットアップでは意図的にインストールされません。
挙げられているセキュリティ態勢のポイントには次が含まれます。テレメトリや分析はなく、唯一の送信接続は明示的なユーザー起点のVirusTotalハッシュ検索(ハッシュのみでファイル内容は決して送らない)で、`WINSIGHT_VT_KEY`環境変数で有効化され`--no-network`で拒否可能。特権境界はUIではなく認証済み名前付きパイプチャネルとして実装。適用はオプトインで監査のみから始まり、有効化へのコマンドライン経路は存在しない。望ましい意図と実効状態を別々に報告し、適用を正確に検証できない場合は`Active`ではなく`Degraded`と報告。未知の送信アプリケーションには128アプリの最近使用度(LRU)ウィンドウを設け、容量圧迫のログを指数関数的にサンプリング。適用はサービスのブート永続化により再起動をまたいで維持され、ステータス読み取りごとに状態を再検証。書き込み可能なパスからのサービスインストールを拒否し、128ビットのNTFS IDを再確認。カーネルドライバはなく、ドライバによる傍受は先送り。
対応アクション(中断、再開、終了、復元、取り消し)には`--confirm`が必要で、追記専用ジャーナルに記録され`winsight actions`で読め、対象を再検証します。ランサムウェアのデコイはDocuments、Desktop、Pictures、Downloads、Videos、Music内の通常の可視ファイルで、有効化するまでオフであり、クリーンアップは記録されたIDと元の内容が依然一致するファイルのみを削除します。
本番準備状況はx64およびArm64について明示的に未確立と述べられており、9月のセキュリティ監査が過去の認定シナリオ外の欠陥を発見したこと、および修正済み候補が依然として新たなCIと隔離VMでの認定を必要とすることが挙げられています。READMEはまた、CodeQLがリポジトリのワークフローではなくGitHubのデフォルトセットアップを通じて実行されるため、クローンから監査できずフォークでは実行されないことも述べています。特権動作の過去の認定記録はdocs/validation以下にリンクされ、それぞれコミットとCI実行に紐付けられており、READMEはそのいずれも9月の監査欠陥をカバーしていないと述べています。
ソースからのビルドにはWindows上の.NET 10 SDKが必要です。リリーススクリプトは固定されたMicrosoft SBOMツールを復元し、固定されたInno SetupコンパイラをそのSHA-256とAuthenticode署名の両方を検証した上でインストールします。CIはフォーマット、依存関係の脆弱性監査、ネイティブArm64を含む3つのWindowsイメージでの全テストスイート、検出エンジンライブラリと特権サービスの手書き部分に対する80%の行カバレッジ下限、ネイティブx64およびArm64でのパッケージ化されたインストール/アンインストールライフサイクルを強制します。セキュリティ問題は公開Issueではなく非公開報告に誘導されます。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.