Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
sherloq — オープンソースのデジタル画像フォレンジックツールセット | Kitploit
ツール/GitHubGitHub/guidobartoli/sherloq
フォレンジックステガノグラフィーデジタルフォレンジック暗号化機械学習論文と研究学習と教育
GitHubguidobartoli/sherloq

sherloq

オープンソースのデジタル画像フォレンジックツールセット

リポジトリを見る
3.2k3051ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Sherloq
オープンソースのデジタル画像フォレンジックツールセット

はじめに

"フォレンジック画像分析とは、画像科学と専門知識を応用して、法的問題において画像の内容や画像自体を解釈することです。法執行機関向けのフォレンジック画像分析の主要なサブ分野には、写真測量、写真比較、内容分析、画像認証が含まれます。"(Scientific Working Group on Imaging Technologies)

Sherloq は、デジタル画像フォレンジックのための完全に統合された環境を実装する個人研究プロジェクトです。画像が改ざんされているかどうかを自動的に判断するツール(おそらくそのようなツールは永遠に存在しないでしょう...)ではなく、最新の研究論文やワークショップで見られるさまざまなアルゴリズムを実験するための相棒として意図されています。

多くの商用ソリューションは高額な価格で、多くの場合、法執行機関や政府機関のみに限定されていますが、このツールセットは、拡張可能なフレームワークであると同時に、デジタル信号処理のこの特定の応用に興味がある誰にとっても出発点となることを目指しています。

私は、隠蔽によるセキュリティ があらゆるフォレンジックサービスを提供するための間違った方法であると強く信じています(例えば、「この独自ソフトウェアを使用することで、この写真がオリジナルであることを保証します...そして、私を信頼しなければなりません!」)。オープンソースの哲学に従い、誰もが自分自身でさまざまな技術を試し、知識を得てコミュニティと共有できるべきです...コードの改善に貢献してくれればなおさらです! :)

  • 歴史
  • 特徴
  • スクリーンショット
  • インストール
  • プロジェクト構造
  • アップデート
  • 参考文献

歴史

最初のバージョンは2015年にC++11で書かれ、多くのオプションを持つコマンドラインユーティリティとして構築されましたが、すぐに扱いにくく、あまりインタラクティブでないことが判明しました。そのバージョンは、OpenCV、Boost、AlgLibライブラリをインストールした後、CMakeでコンパイルできました。この最初の概念実証では、計画された機能の約80%を提供していました(完全なリストは以下を参照)。

新しいアルゴリズムも含まれていましたが、2017年バージョンでは主にQtベースのマルチウィンドウGUIを追加して、より良いユーザーエクスペリエンスを提供しました。複数の分析を画面に表示でき、高速なズーム/スクロールビューアが実装され、画像ナビゲーションが容易になりました。そのプロジェクトは、Qt 5とOpenCV 3を使用してQt Creatorでコンパイルでき、計画機能の約70%をカバーしていました。

時は2020年に進み、私は開発と展開を容易にするためにすべてをPython(PySide2 + Matplotlib + OpenCV)に移植することを決めました。この反復は始まったばかりで、以前のコードをすべて新しいプラットフォームに移植する必要がありますが、これがプロジェクトの最終的な「形」になると思います(誰かが素敵なWebアプリケーションを開発しようと志願しない限り)。

コードを共有し、改善やテストに興味がある人と連絡を取ることを嬉しく思いますが、このリポジトリは最終製品を配布するためのものではないことに注意してください。私の目的は、教育ツールの開発を公開で追跡することに過ぎません。バグ、未完成のコード、欠落機能を期待してください! ;)

特徴

このリストには、ベータ段階に達したらツールキットが(おそらく)提供する機能が含まれています(注: プログラム内で斜体で表示される機能はまだ実装されていません!)。

インターフェース

  • 複数のツールウィンドウ管理を備えた最新のQtベースGUI
  • 多くの形式(JPEG、PNG、TIFF、BMP、WebP、PGM、PFM、GIF)をサポート
  • リアルタイムのパンとズームを備えた応答性の高い画像ビューア
  • インタラクティブに試せる最先端のアルゴリズム多数
  • 分析結果の視覚的およびテキスト出力のエクスポート
  • 説明とチュートリアルを備えた充実したオンラインヘルプ

ツール

一般

  • 元の画像: 視覚的検査のために未加工の参照画像を表示
  • ファイルダイジェスト: 物理ファイル情報、暗号ハッシュ、および知覚的ハッシュを取得
  • 16進エディタ: 外部16進エディタを開き、生のバイトを表示および編集
  • 類似検索: オンライン検索サービスを参照して視覚的に類似した画像を見つける

メタデータ

  • ヘッダー構造: ファイルヘッダー構造をダンプし、インタラクティブビューを表示
  • EXIFフルダンプ: ファイルメタデータをスキャンし、すべての利用可能な情報を収集
  • サムネイル分析: オプションの埋め込みサムネイルを抽出し、オリジナルと比較
  • 地理位置情報データ: オプションの地理位置情報データを取得し、世界地図上に表示

検査

  • 拡大ルーペ: 拡大鏡で拡張機能を提供し、改ざんの特定を支援
  • チャンネルヒストグラム: 単一の色チャンネルまたはRGBコンポジットのインタラクティブヒストグラムを表示
  • グローバル調整: 標準的な画像調整(明るさ、色相、彩度など)を適用
  • 参照比較: 別の画像との比較用に同期されたダブルビューを開く

詳細

  • 輝度勾配: 画像全体の水平/垂直の明るさの変化を分析
  • エコーエッジフィルタ: 導関数フィルタを使用して人工的な焦点ぼけ領域を明らかにする
  • ウェーブレットしきい値: 異なるウェーブレット係数しきい値で画像を再構成
  • 周波数分割: 画像の輝度を高周波成分と低周波成分に分割

色

  • RGB/HSVプロット: RGBおよびHSVピクセル値のインタラクティブな2Dおよび3Dプロットを表示
  • 色空間変換: RGBチャンネルをHSV/YCbCr/Lab/Luv/CMYK/Gray空間に変換
  • PCA投影: カラーPCAを使用してピクセルを最も顕著な成分に投影
  • ピクセル統計: 各ピクセルの最小/最大/平均RGB値を計算

ノイズ

  • ノイズ分離: 異なる種類の画像ノイズ成分を推定および抽出
  • 最小/最大偏差: ブロックベースの最小/最大統計から逸脱したピクセルを強調表示
  • ビットプレーン値: 個々のビットプレーンを表示して、一貫性のないノイズパターンを見つける
  • ウェーブレットブロッキング: 画像内の平均ノイズレベルを表示して、ノイズの不整合を見つける
  • PRNU識別: 異なるカメラによって導入されたセンサーパターンノイズを利用

JPEG

  • 品質推定: 量子化テーブルを抽出し、最後に保存されたJPEG品質を推定
  • エラーレベル分析: 固定圧縮レベルに対するピクセルレベルの差を表示
  • 多重圧縮: 機械学習モデルを使用して多重圧縮を検出
  • JPEGゴーストマップ: 差分画像内の異なる圧縮レベルの痕跡を強調表示

改ざん

  • コントラスト強調: 色分布を分析してコントラスト強調を検出
  • コピームーブ偽造: 不変特徴記述子を使用してクローン領域を検出
  • コンポジットスプライシング: DCT統計を利用して自動スプライシングゾーン検出
  • 画像リサンプリング: 2Dピクセル補間を推定してリサンプリングの痕跡を検出

その他

  • メディアンフィルタリング: 非線形メディアンフィルタリングによって残された処理痕跡を検出
  • 照明マップ: 推定された3D表面上のシーンの局所光方向を推定
  • デッド/ホットピクセル: センサーの不完全性によって引き起こされるデッド/ホットピクセルを検出および修正
  • ステレオグラムデコーダ: 交差視線オートステレオグラムに隠された3D画像をデコード

スクリーンショット

一般
一般: 元の画像、16進エディタ、ファイルダイジェスト、類似検索

メタデータ
メタデータ: EXIFフルダンプ、ヘッダー構造

検査
検査: 拡大ルーペ、チャンネルヒストグラム、参照比較

詳細
詳細: 輝度勾配、エコーエッジフィルタ、ウェーブレットしきい値、周波数分割

色
色: RGB/HSVプロット、色空間変換、PCA投影、ピクセル統計

ノイズ
ノイズ: 信号分離、最小/最大偏差、ビットプレーン値

JPEG
JPEG: 品質推定、エラーレベル分析

改ざん
改ざん: コントラスト強調、コピー/ムーブ偽造、コンポジットスプライシング、メディアンフィルタリング

インストール

[1/4] ソースコードのダウンロード

カレントリポジトリをローカルフォルダにクローンし、カレントディレクトリをそこに変更します。

[2/4] 仮想環境の作成

SherloqはPython 3.11を使用します。推奨されるセットアップはuvを使用します。これはLinux、macOS、Windowsで同じワークフローを提供し、必要に応じてPythonをインストールでき、プロジェクト環境をローカルの.venvフォルダに保持します。

uvを公式インストールガイドに従ってインストールし、Sherloqのルートフォルダから環境を作成します:

root@kitploit:~
$ uv venv --python 3.11

リポジトリには.python-versionファイルも含まれているため、今後のuvコマンドはデフォルトでPython 3.11を使用します。

[3/4] 依存関係のインストール

root@kitploit:~
$ uv pip install -r gui/requirements.txt

一部の実験的なAIバックアップツールには追加パッケージが必要です。それらのツールを使用する予定がある場合のみインストールしてください:

root@kitploit:~
$ uv pip install -r gui/requirements_ai_solutions.txt

[4/4] プログラムの起動

Sherloqはリポジトリルートから起動できます。アプリケーションパッケージは、集中化されたプロジェクトパスを通じてアイコン、モデル、バンドルツールを解決します。

Linux/macOS

root@kitploit:~
$ source .venv/bin/activate
$ python -m gui.sherloq_app

Windows PowerShell

root@kitploit:~
> .venv\Scripts\Activate.ps1
> python -m gui.sherloq_app

リポジトリルートの互換性ランチャーも使用できます:

root@kitploit:~
$ python sherloq.py

Linuxユーザーへの注意: 次のエラーが表示された場合:

root@kitploit:~
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

ターミナルから次のコマンドを実行してください: sudo apt install -y libxcb-cursor-dev

プロジェクト構造

Python Qtアプリケーションは、インポート可能なgui/sherloq_appパッケージにあります:

  • main.py: Qtアプリケーションのエントリポイントとメインウィンドウ。
  • core/: JPEGユーティリティやファイル読み込みなどの共有画像処理ヘルパー。
  • ui/: 再利用可能なQtウィジェット、ビューア、テーブル、ツールツリー。
  • tools/: ツールボックスカテゴリ(general、metadata、inspection、detail、colors、noise、jpeg、tampering、various)でグループ化された分析ウィジェット。
  • paths.py: アイコン、モデル、バンドルされたネイティブヘルパーへの集中アクセス。これにより、コードがguiからの起動に依存しなくなります。

大規模なバンドルアセットとサードパーティの研究コンポーネントは、gui/icons、gui/models、gui/noiseprint、gui/pyexiftool、gui/butteraugli、gui/ssimulacra、およびオプションのgui/TruFor_mainに残っています。

コントリビューター向けのマップについては、docs/project-structure.mdを参照してください。

アップデート

新しいバージョンがリリースされたら、Gitを使用してローカル作業コピーを更新するか、最新のソースをダウンロードし、Sherloqのルートフォルダから環境を更新します:

root@kitploit:~
$ uv pip install --upgrade -r gui/requirements.txt

オプションのAI依存関係をインストールした場合は、それらも更新します:

root@kitploit:~
$ uv pip install --upgrade -r gui/requirements_ai_solutions.txt

始めるための推奨リソース

  • Sherloqに実装された技術の実践例と洞察に富んだ分析を含む論文: "A Picture's Worth: Digital Image Analysis and Forensics" (Neal Krawetz) [論文]
  • Sherloqに実装された「JPEGゴースト」、「画像リサンプリング」、「ノイズウェーブレットブロッキング」ツールの実践例と洞察に富んだ分析を含む論文。この研究は、デジタル画像フォレンジックにおけるAI駆動アプローチの使用と信頼性に関する洞察も提供しています。(UHstudent) [論文]

Sherloqに実装されたアルゴリズムの参考文献

  • 画像リサンプリング: "Exposing Digital Forgeries by Detecting Traces of Re-sampling" (Alin C. Popescu and Hany Farid) [論文]
  • JPEGゴースト: "Exposing Digital Forgeries from JPEG Ghosts" (H. Farid) [論文]
  • ノイズウェーブレットブロッキング: "Using noise inconsistencies for blind image forensics" (Babak Mahdian and Stanislav Saic) [論文]

参考文献

  • "Noiseprint: a CNN-based camera model fingerprint" (Davide Cozzolino, Luisa Verdoliva) [ウェブサイト]
  • "Two Improved Forensic Methods of Detecting Contrast Enhancement in Digital Images" (Xufeng Lin, Xingjie Wei and Chang-Tsun Li) [論文]
ツールをダウンロード