TgWitness / ドキュメント

ドキュメント / 09

すべてのチャットを横断的に調査する

チャンネル、グループ、プライベートチャット、ボットを横断して事件全体を処理します。証拠の収集、関連付け、再構築、そして引き渡しを行います。

この手順書では、架空のインシデントを1件、その全経過に沿って追跡します。実際の収集、検索、人物プロファイル、およびエクスポート機能を使用しています。ケースマップはドキュメントの例であり、ご自身の結論やケース登録はアプリケーション外で管理されます。

実例/支払い先が変更されたケース

1件のインシデント。4つの会話。再構築すべき痕跡。

あるチャンネルの告知がボットへのリンクを示しています。運用グループが新しい支払いリンクについて議論しています。非公開のフォローアップでその内容が繰り返されています。その後、告知が編集され、グループメッセージが消えてしまいます。

各バージョンは誰が投稿したのでしょうか?そのリンクはどこに表示されましたか?どのファイルが保存されましたか?何が、いつ変更されましたか?

履歴の読み込み、オプションのAIによるソースレビュー、MCP、OCR、および送信用Webhookについては、「アーカイブの操作」を参照してください。

1. アカウント全体を網羅するように設定する

  1. 収集用アカウントを、専用のワークスペースに接続してください。案件番号、アカウントID、ワークスペース名、および署名鍵のフィンガープリントを、案件メモに記録してください。
  2. 「オープンソース」→「監視範囲」→「調査モード」。アカウント全体、4種類の情報源すべて、および自身のアクションを確認します。このプリセットを使用すると、新しい情報源のプロファイルと、その最新200件の表示可能なメッセージを保存できます。「範囲を保存」を押して、範囲の確認を完了してください。
  3. 「チャットを読み込む」をクリックしてください。ソースをアカウントのダイアログ一覧と比較し、除外項目を確認してください。「パラメータ」→「アカウントの一覧から読み込むチャット」で、必要に応じて初期の一覧制限を調整してください。デフォルトは1,000件のダイアログですが、最大20,000件まで設定可能です。 制限を超えるチャットは、アクティブになった時点で検出されます。
  4. 「記録設定」で、「表示されているすべてのアクティビティ」を選択し、保存してください。添付ファイルの種類、サイズ制限、および空きディスク容量を確認してください。設定を信頼する前に、監視を開始し、制御されたメッセージ、編集、削除を検証してください。
チャンネルグループプライベートチャットボット
1つのアカウント/1つの署名鍵選択されたアカウントの公開アクティビティすべて → 1つのジャーナル

メッセージ・編集・削除通知・表示されたリアクション・メンバーシップのイベント・自身のアクション

「アカウント全体」とは、このアカウントがアクセス可能なチャットを、設定されたソースの種類や除外条件を含めてカバーするものです。シークレットチャットは対象外となります。新しいダイアログは更新が届くたびに追加されます。このモードを有効にしても、既存のすべてのチャットの過去の履歴が自動的に完全にダウンロードされるわけではありません。

2. 履歴を取得し、ファイルを保存する

調査全体にわたる情報源登録簿を作成します。各チャットについて、一意のID、タイトル、アカウント、アクセス権限/役割、リアルタイム記録開始日時、履歴取得日時、メディア結果、および既知の欠落情報を記載した行を作成します。関連する結果を確認した後で初めて、その情報源を「取得済み」としてマークしてください。

質問に答える適切な選択肢をお選びください
要件パネルでの操作提供内容
有効化されたチャット全体の履歴出典 → 履歴をすべて読み込む現在の主な機能:利用可能な過去のメッセージはワークスペースのジャーナルに記録され、一時停止・再開機能や署名付き進捗レポートが利用可能です。履歴ガイド。
ジャーナル内の既存のチャット履歴ソース → 記録設定 → 履歴スナップショット最近表示されたメッセージは、署名付き観測データとして記録されます。デフォルトの上限は500件ですが、「パラメータ」→「最大履歴スナップショット」で最大10,000件まで増やすことができます。
1つのチャットにおける、現在表示されている履歴のすべてチャット全体のエクスポート → チャット全体をエクスポート、または チャット → チャットをエクスポートchat.jsonおよびchat.htmlを含む、個別の署名付きバンドルです。ソースごとに繰り返し実行し、完了/失敗の結果を保持してください。
新しいチャットが表示された際の状況監視範囲 → 新しいチャットやボットが出現したとき送信者のプロフィールと、最近表示されているメッセージ最大1,000件が記録されます。調査モードでは200件が選択されます。既存のチャットについては、遡ってこの記録が行われることはありません。
添付ファイルのバイト数表示可能な添付ファイルのダウンロード + ファイル種別ごとの制限media.saved、そのSHA-256ハッシュ値、およびバイト数を必ずご確認ください。キューに入れられた、スキップされた、または失敗したダウンロードは、保存されたファイルとはみなされません。

チャットの完全なエクスポートは独立したスナップショットであり、その履歴全体がジャーナルやユーザープロフィールにインポートされるわけではありません。TgWitness内で検索が必要な過去のデータについては、「有効なソース全体から履歴を読み込む」機能、または範囲を限定したジャーナルスナップショットをご利用ください。実行を開始する前に、ソースリストを確認してください。

実際の事例では、告知チャンネル、運用グループ、ボットとの会話、およびプライベートでのフォローアップを取得します。請求書の添付ファイルのバイトデータとハッシュ値を保存します。現在利用可能な履歴では、キャプチャ前に削除されたメッセージや、Telegramがもはや返さない中間編集内容を復元することはできません。

3. 展開する会話と自身の行動を記録する

事件の進展に合わせて監視を継続してください。進行中の事件に関するチャットを優先情報源としてスターを付け、[記録設定] → [再確認] で優先度やその他の情報源の再確認を設定してください。作業の進捗に合わせて、recheck.completed、継続的なキャッチアップ、FloodWait、およびメディアの成果を確認してください。

「チャット」→「プロフィール」→「プロフィールを今すぐ保存」を選択すると、現在の情報源の説明、ボットコマンド、およびTelegramから返されるその他のメタデータを保持できます。この情報源プロフィールは、ジャーナルのメッセージから構築される人物プロフィールとは別物です。

事件調査の一環として、ボットをフォローするか、招待を受け入れること
  1. 「チャット」→「Telegramリンクを開く」で、まずプレビューを保存してください。元のリンクと表示されたプレビューが、署名付きの記録となります。
  2. 調査の必要性に応じて、`Join / open` コマンドを実行すると、ソースへの参加または開封が行われ、指定された開始パラメータを用いてボットが起動します。保留中の参加リクエストは、記録上も保留状態のままとなります。
  3. 記録が必要な操作については、パネルのテキスト返信機能、またはサポートされている「Press」ボタンコントロールをご利用ください。ジャーナルには、返されたコールバックテキストやURLを含め、interaction.requestedおよびinteraction.resultが保持されます。

これらの制御機能は、Telegram上で実際の操作を実行します。別のTelegramアプリで押されたコールバックは、コレクターには認識されませんが、ボットによるその後のメッセージや編集は認識される場合があります。Webアプリ、決済、および電話や位置情報の要求は、ミニクライアントの範囲外となります。

4. チャット間の人物、リンク、ファイルを追跡する

  1. ジャーナルを開き、ソースフィルターを「すべてのソース」のままにして、特徴的なフレーズ、ドメイン、ユーザー名、または保存済みの識別子を検索してください。一致した各レコードを開き、そのチャット、メッセージID、およびジャーナルのシーケンス番号を記録してください。
  2. 対象のチャットを確認するには、「チャット」→「ユーザー」→「プロフィールを表示」の順に選択し、対象者を選択してください。名前/ユーザー名の履歴、返信の関連性、アクティビティ、および「関連項目」にある他の監視対象チャットや抽出されたリンク、ウォレット、電話番号などを確認できます。引用されたジャーナル記録を開いてください。
  3. このワークスペース内の他のチャットにおいて、同じ数値のTelegramユーザーIDを追跡してください。一致する名前、ウォレットの言及、または類似したアバターは、確認すべき手がかりとして扱ってください。言及されたアドレスは所有権を証明するものではなく、類似したアバターは同一人物であることを証明するものではありません。
  4. 各レコード間で保存された添付ファイルの SHA-256 値を比較します。ハッシュ値が一致している場合、保存されたファイルのバイト単位での同一性が保証されます。誰がそれらを共有したかについて結論を出す前に、関連するメッセージおよび送信者の記録を確認してください。
ケースマップ / 参照先を追跡する架空の事例・実際のグラフではありません
チャンネル / お知らせ原文 → 編集後の翻訳文

記録 #101、#188 メッセージ #84 · 送信者不明

グループ / 運用ユーザー71001が新しいリンクを投稿しました

記録 #146 · メッセージ #309 保存済みファイル受領確認 #151

BOT / 注文に関する会話そのリンク先へ移動するボタンがあります

記録 #173 · メッセージ #12 「戻る」ボタンのメタデータ

非公開 / フォローアップユーザー71001が宛先を繰り返し入力しています

記録 #205 · メッセージ #922 保存済みファイル受領証 #209

4つのチャットから、それぞれ異なる観察結果が得られています。すべての接続について、元の記録を追跡してください。送信者が特定されていない限り、チャンネルへの投稿をユーザー71001に割り当てないでください。

この手順説明で使用されている数値IDおよび記録参照番号は、架空のものです。この図は、検索、プロフィール、記録の検査を用いたアナリストのワークフローを説明するものであり、本アプリケーションは全体的な調査グラフを生成するものではありません。
例示された記録を結びつけるもの
接続補足情報維持すべき結論
同じTelegramアカウントグループ #146 およびプライベートチャット #205 のユーザー ID 71001両方のチャットに、同じ送信者IDが投稿されています。実在の人物であるかどうかは、別の問題となります。
繰り返し先#146のpay.example.invalid/new、ボタンのメタデータ #173、編集された投稿 #188 および #205同じ宛先が、確認された4つの文脈に登場しています。これだけでは、誰がそれを管理しているかを特定することはできません。
同じファイルのバイト数完了したメディア受信記録 #151 および #209 における SHA-256 値が完全に一致しています。保存された2つの添付ファイルは、バイト単位で同一です。ファイル名やサムネイルだけでは、これを立証することはできません。

ユーザープロフィールには、そのチャットに保存されたメッセージを持つ作成者が記載され、同じワークスペースのジャーナル内の他のチャットとの関連性が示されます。これらは完全なメンバーディレクトリではありません。アバターのハッシュ値は別のローカルキャッシュから取得されます。プロフィールの引用数については、「パラメータ」→「事実ごとの引用レコード数」で設定可能な制限があります。

5. 時系列を再構築し、欠落部分を明記する

「Chats」では、保存されたバージョンと、それに対応する「Journal」の記録 #… リンクをご確認ください。「Journal」では、「All sources」に加え、「Edits」、「Deletions」、「Coverage」をご利用ください。Telegramが提供する日付と、収集者が記録した時刻の両方を用いて、事件のタイムラインを作成してください。

  1. 09:00 · #101キャプチャされたチャンネルの投稿

    元のリンク先はそのまま維持されています。

  2. 09:12 · #146 / #151グループが別のリンクを紹介しています

    ユーザー71001が投稿し、添付ファイルのダウンロードが完了しました。

  3. 09:16 · #173ボットは同じ宛先を表示します

    保存されたキーボードのメタデータには、そのリンクが含まれています。

  4. 09:20 · #188チャンネルの告知の変更点

    元の記録と編集後の記録の両方が残されます。

  5. 09:24 · #205 / #209非公開のフォローアップでも同様の内容が繰り返されています

    保存された添付ファイルのSHA-256ハッシュ値は、#151と同じです。

  6. 09:28 · #231グループ削除の通知が届きました

    以前の指摘は依然として当てはまります。削除者や正確な削除時刻は提供されていません。

観察時間や参照情報の例を示しています。これらのエントリの間には、その他のジャーナル記録が存在します。

ジャーナルの順序は受信順であり、必ずしもTelegramでの元の操作順とは限りません。新しいリアルタイムメッセージの後に、古い履歴のスナップショットが到着する場合もあります。リアルタイムの観測結果、スナップショット、復元されたメッセージ、削除通知、および「再確認時に欠落」しているものを明確に区別してください。記録に空白がある箇所には、明示的に「不明」と記載してください。後のスナップショットがあっても、その空白は消去されません。

6. 他の収集用アカウントにも適用する

アカウントごとにワークスペースを追加し、範囲と履歴の記録を繰り返してください。各アカウントのメンバーシップ/役割および署名鍵のフィンガープリントを記録してください。識別子はワークスペースおよびチャットごとに特定されるようにしてください。同じメッセージ番号であっても、アカウントを横断するグローバルな識別子ではありません。

ケースノートや分析ツール内の関連する観察結果を比較する際は、各行のアカウントおよびジャーナルの参照情報を保持してください。TgWitnessでは現在、ワークスペースを横断したグローバル検索、統合タイムライン、人物関係図、またはケースアーカイブは提供しておりません。1つのチャンネルまたはスーパーグループのマルチアカウント完全エクスポートは独立した機能であり、すべてのアカウントのジャーナルを統合するものではありません。

長期にわたる作業の際は、以前の境界を維持するために独立した証人を追加してください。制御された配信パイロットを活用し、アカウントのキャプチャ経路と可視性を検証してください。

7. 完全かつ検証可能な事件資料一式を提供する

各ワークスペースから、署名付きジャーナルのZIPファイルをエクスポートします。このファイルには、パネル検索フィルターの設定にかかわらず、記録されたジャーナル全体が含まれています。関連する人物のプロフィールを個別にエクスポートし、各チャットの履歴バンドルをすべて保持するとともに、添付ファイルの証拠も完全に保存します。

CASE-001/                         # assembled by the analyst
  case-notes.md                   # question, findings, alternative explanations
  sources.csv                     # every chat, role, acquisition result and gap
  timeline.csv                    # account + chat + message + seq + both times
  workspace-A/
    evidence.zip                  # complete signed observation journal
    retained-checkpoint.json
    profiles-operations.json      # separately signed people profiles
    history-channel.zip           # signed current-history export
    history-group.zip
    verification.txt
  workspace-B/                    # separate journal and trusted fingerprint
  witness/                        # retained checks, journal and signed posts
  SHA256SUMS                      # hashes of the delivered files

別のチャネルを通じて、信頼できるフィンガープリントを保持してください。信頼できるインストール環境から、各アーティファクトをそのワークスペースのIDと照合して検証してください:

python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_PUBLIC_KEY_SHA256 --checkpoint retained-checkpoint.json
python -m tgwitness.verify profiles-operations.json --fingerprint TRUSTED_PUBLIC_KEY_SHA256 --evidence evidence.zip
python -m tgwitness.verify history-channel.zip --fingerprint TRUSTED_PUBLIC_KEY_SHA256

実際の検証結果を確認し、オリジナルデータを保存するとともに、調査結果とともにカバレッジレポート、取得失敗情報、転送記録を保持してください。最上位のケースフォルダおよびアナリストの結論は外部でまとめられますが、個々のTgWitnessアーティファクトにはそれぞれ独自の署名が付与されています。

他の調査においても、同様の方法をご活用ください。

ボットによる注文または支払いの紛争

質問:そのボットは何を約束し、どのボタンのリンク先が提供され、その後何が変更されたのでしょうか?

追跡:チャンネルへの投稿 → 保存されたボットリンクのプレビュー → ボット起動パラメータ → メッセージおよびキーボード入力履歴 → パネルから発行されたコールバック受信記録 → グループ/プライベートでのフォローアップ。各宛先をその送信元レコードと照合し、プロフィール説明および添付メディアを保持します。

提供内容:確認されたオファーと応答のタイムライン、情報源の参照先、および検証済みのエクスポートデータです。表示されている支払いリンクは、支払いが行われたことの証拠にはなりません。

チャット間のインシデント後に削除されたメッセージ

質問:関連するメッセージが消える前に、すでにどのようなことが確認されていたのでしょうか?

追跡対象:影響を受けたすべてのチャット → 元のメッセージ → 配信された編集内容 → 削除通知、またはその後の再確認で欠落が確認された結果 → 保存された添付ファイル → 当該インシデントに関する報道。独立したアカウントによる観察結果を、その可視性に関する記述と照らし合わせて比較してください。

提供内容:保存されたバージョンの時系列と、明確に特定された「不明」の期間です。履歴に存在しないメッセージを、特定の個人がそれを削除した証拠として扱わないでください。

ある参加者が、複数のチャットで名前を変えています

質問:名前が変わっているにもかかわらず、どの観測されたアクティビティが同じTelegramアカウントに属するものでしょうか?

追跡:数値の送信者ID → 保存された名前/ユーザー名の履歴 → 返信 → ワークスペース内の他のチャット → 言及された宛先および保存されたファイル。主張されたすべての接続についてソースレコードを確認し、類似アカウントは区別して扱ってください。

提供内容:引用されたアカウント活動のタイムラインと、関係性に関する個別の仮説です。名前の類似性やアバターのpHashは手がかりであり、身元の証明ではありません。