Документация / 09
Расследование по всем чатам
Работайте с делом в полном объёме, охватывая каналы, группы, личные чаты и ботов: собирайте, сопоставляйте, реконструируйте и передавайте доказательства.
В данном пошаговом руководстве рассматривается один вымышленный инцидент на примере полного цикла работы с учетной записью. В нём используются реальные функции сбора данных, поиска, просмотра профилей пользователей и экспорта. Схема дела представляет собой пример из документации; ваши выводы и реестр дел ведутся вне приложения.
Один инцидент. Четыре переписки. След, который необходимо восстановить.
В объявлении канала указывается на бота. В рабочей группе обсуждается новая ссылка для оплаты. В частном сообщении это повторяется. Позже объявление редактируется, а групповое сообщение исчезает.
Информацию о загрузке истории, опциональной проверке источников с помощью ИИ, MCP, OCR и исходящих веб-хуках см. в разделе «Работа с архивом».
1. Обеспечить охват всего аккаунта
- Подключите аккаунт для сбора данных в отдельном рабочем пространстве. Зафиксируйте в заметках по делу номер дела, идентификатор аккаунта, название рабочего пространства и отпечаток ключа подписи.
- Открытые источники → Область наблюдения → Режим расследования. Просмотрите «Весь аккаунт», все четыре типа источников и «Собственные действия». Эта предустановка позволяет сохранить профиль нового источника и его последние 200 видимых сообщений. Нажмите «Сохранить область» и завершите подтверждение области.
- Нажмите «Загрузить чаты». Сравните источники со списком диалогов учетной записи и проверьте исключения. В разделе «Параметры» → «Чаты, считываемые из списка учетной записи» при необходимости настройте начальный лимит списка: по умолчанию установлено 1 000 диалогов, максимальное значение — 20 000. Чаты, выходящие за пределы этого лимита, обнаруживаются по мере их активации.
- В настройках записи выберите и сохраните параметр «Вся видимая активность». Ознакомьтесь с типами вложений, ограничениями по размеру и объёмом свободного места на диске. Начните наблюдение и проверьте, как система фиксирует контролируемые сообщения, их редактирование и удаление, прежде чем полагаться на настройки.
Сообщения · правки · уведомления об удалении · видимые реакции · события, связанные с членством · собственные действия
Термин «весь аккаунт» охватывает все чаты, к которым имеет доступ данный аккаунт, с учётом настроенных типов источников и исключений. Секретные чаты недоступны. Новые диалоги добавляются по мере поступления обновлений; включение данного режима не приводит к автоматической загрузке полной старой истории каждого существующего чата.
2. Получение истории и сохранение файлов
Создайте реестр источников для всего расследования. Выделите для каждого чата отдельную строку с его числовым идентификатором, названием, учетной записью, правами доступа/ролью, датой начала сбора данных в реальном времени, датой получения истории, результатами по мультимедиа и известными пробелами. Помечайте источник как «полученный» только после проверки соответствующих результатов.
| Требования | Действия в панели | Что он предлагает |
|---|---|---|
| История по всем включенным чатам | Источники → Загрузить полную историю | Текущая основная функция: доступные прошлые сообщения попадают в журнал рабочей области с возможностью приостановки/возобновления и подписанным отчетом о ходе работы. Руководство по истории. |
| Существующий контекст чата в журнале | Источники → Настройки записи → Снимок истории | Последние видимые сообщения представлены в виде подписанных наблюдений. По умолчанию максимальное количество составляет 500; в разделе «Параметры» → «Максимальный объем исторического снимка» его можно увеличить до 10 000. |
| Полная история одного чата, доступная на данный момент | Экспорт всего чата → Экспорт всего чата или «Чаты» → Экспорт чата | Отдельный подписанный пакет с chat.json и chat.html. Повторяйте для каждого источника; сохраняйте результаты успешного выполнения или сбоя. |
| Контекст появления нового чата | Область наблюдения → При появлении нового чата или бота | Профиль источника и до 1 000 последних видимых сообщений; в режиме расследования выбирается 200. Существующие чаты не получают эти данные задним числом. |
| Объём вложения в байтах | Загрузка видимых вложений + ограничения по типам файлов | Проверьте наличие кода media.saved, его SHA-256 и количество байтов. Файл, находящийся в очереди, пропущенный или загрузка которого завершилась сбоем, не считается сохраненным. |
Полный экспорт чата представляет собой отдельный моментальный снимок; он не импортирует всю историю в журнал или профили участников. Для поиска исторических данных в TgWitness используйте функцию «Загрузить полную историю по всем включенным источникам» или ограниченные моментальные снимки журнала. Перед запуском проверьте список источников.
В рамках рассматриваемого случая необходимо получить данные канала объявлений, оперативной группы, переписки с ботом и последующей частной переписки. Сохраните байты и хеш вложения счета-фактуры. Имеющаяся на сегодняшний день история не позволяет восстановить сообщение, удалённое до момента фиксации, или промежуточное изменение, которое Telegram больше не возвращает.
3. Отслеживайте ход разговора и свои собственные действия
Продолжайте наблюдение по мере развития дела. Отметьте активные чаты по делу звездочкой в качестве приоритетных источников; настройте повторную проверку приоритетных и других источников в разделе «Настройки записи» → «Повторная проверка». Проверяйте показатели recheck.completed, продолжение наверстывания, FloodWait и результаты работы с мультимедиа по мере продвижения работы.
Воспользуйтесь меню «Чаты» → «Профиль» → «Сохранить профиль сейчас», чтобы сохранить текущие описания источников, команды ботов и другие метаданные, возвращаемые Telegram. Данный профиль источника отличается от профилей пользователей, формируемых на основе сообщений журнала.
Подписка на бота или принятие приглашения в рамках расследования
- В разделе «Чаты» → «Открыть ссылку Telegram» сначала сохраните предварительный просмотр. Исходная ссылка и полученный предварительный просмотр становятся подписанными записями.
- Если это требуется в ходе расследования, команда «Join / open and observe» присоединяется к источнику или открывает его и запускает бота с указанным параметром запуска. Ожидающий запрос на присоединение остаётся в записи в статусе «ожидающий».
- Для действия, которое необходимо задокументировать, воспользуйтесь текстовым ответом на панели или поддерживаемым элементом управления «Нажать кнопку». Журнал сохраняет значения
interaction.requestedиinteraction.result, включая возвращённый текст обратного вызова или URL-адрес.
Эти элементы управления выполняют реальные действия в Telegram. Нажатие кнопки обратного вызова в другом приложении Telegram не отображается в коллекторе; последующее сообщение или редактирование, выполненное ботом, может отображаться. Веб-приложения, платежи и запросы на номер телефона/местоположение находятся за пределами мини-клиента.
4. Отслеживайте пользователей, ссылки и файлы в различных чатах
- Откройте журнал, оставьте настройку фильтра источников в положении «Все источники» и выполните поиск по характерной фразе, домену, имени пользователя или сохраненному идентификатору. Откройте каждую найденную запись и запишите название чата, идентификатор сообщения и порядковый номер записи в журнале.
- Чтобы перейти к нужному чату, откройте «Чаты» → «Люди» → «Включить профили», затем выберите нужного человека. Просмотрите историю имен/имений пользователей, взаимосвязи ответов, активность, а также разделы «Также в…», другие отслеживаемые чаты и извлеченные ссылки, кошельки или номера телефонов. Откройте указанные записи журнала.
- Отслеживайте один и тот же числовой идентификатор пользователя Telegram в других чатах данного рабочего пространства. Рассматривайте совпадающее имя, упоминание кошелька или похожий аватар как зацепку для проверки. Упомянутый адрес не подтверждает право собственности; похожий аватар не подтверждает, что речь идет об одном и том же лице.
- Сравнивайте значения SHA-256 сохраненных вложений в разных записях. Совпадение хэшей подтверждает идентичность байтов сохраненных файлов. Изучите связанные записи сообщений и отправителей, прежде чем делать выводы о том, кто их отправил.
Записи № 101, № 188 Сообщение № 84 · отправитель не указан
Запись № 146 · сообщение № 309 · подтверждение сохранения файла № 151
Запись № 173 · сообщение № 12 Метаданные кнопки «Вернуться»
Запись № 205 · сообщение № 922 · Квитанция о сохранении файла № 209
В четырёх чатах приводятся различные наблюдения. Следуйте исходным записям для каждого соединения; не приписывайте сообщение в канале пользователю 71001 без указания отправителя.
| Связь | Вспомогательные замечания | Заключение: оставить без изменений |
|---|---|---|
| Тот же аккаунт в Telegram | Идентификатор пользователя 71001 в группе № 146 и в частном чате № 205 | В обоих чатах указан один и тот же идентификатор отправителя. Вопрос о реальной личности остается отдельным вопросом. |
| Повторное указание адресата | pay.example.invalid/new в #146, метаданные кнопки #173, отредактированные сообщения #188 и #205 | Один и тот же адрес встречается в четырёх наблюдаемых контекстах. Сам по себе этот факт не позволяет установить, кто им управляет. |
| Объём файла в байтах | Идентичные полные значения SHA-256 в завершённых квитанциях о передаче медиафайлов № 151 и № 209 | Два сохраненных вложения идентичны на уровне байтов. Один лишь вид имен файлов или миниатюр не позволил бы установить это. |
Профили пользователей содержат информацию об авторах, чьи сообщения сохранены в данном чате, и связывают их с другими чатами в журнале того же рабочего пространства. Они не являются полным списком участников. Хэши аватаров берутся из отдельного локального кэша; количество ссылок на профили можно настроить в разделе «Параметры» → «Количество ссылок на записи на один факт».
5. Восстановите последовательность и отметьте пробелы
В разделе «Чаты» просмотрите сохраненные версии и ссылки на записи в журнале №… В разделе «Журнал» воспользуйтесь функциями «Все источники», а также «Редактирования», «Удаления» и «Охват». Составьте хронологию дела, указав как дату, указанную в Telegram, так и время наблюдения сборщика данных.
- 09:00 · #101Зафиксированное сообщение в канале
Первоначальное назначение сохраняется.
- 09:12 · #146 / #151Группа предоставляет другую ссылку
Пользователь 71001 публикует сообщение; завершается загрузка вложения.
- 09:16 · #173Бот показывает тот же пункт назначения
Сохраненные метаданные клавиатуры содержат ссылку.
- 09:20 · #188Изменения в объявлениях канала
Сохраняются как исходные, так и отредактированные записи.
- 09:24 · #205 / #209В частном сообщении это повторяется
Сохраненное вложение имеет тот же полный SHA-256, что и № 151.
- 09:28 · #231Поступает уведомление об удалении группы
Предыдущее замечание остаётся в силе: ни лицо, удалившее сообщение, ни точное время удаления не указываются.
Приведены примерные временные рамки наблюдений и ссылки. Между этими записями содержатся и другие записи журнала.
Порядок записей в журнале соответствует порядку получения, а не обязательно исходным действиям в Telegram. Снимок истории более раннего периода может поступать после более свежего сообщения в режиме реального времени. Чётко разграничивайте наблюдения в режиме реального времени, снимки, восстановленные сообщения, уведомления об удалении и сообщения «отсутствует при повторной проверке». Добавляйте явную пометку «неизвестный интервал» везде, где в охвате данных наблюдается пробел; более поздний снимок не устраняет этот пробел.
6. Расширьте сферу применения на другие учетные записи, используемые для сбора данных
Создайте рабочую область для каждой отдельной учетной записи и повторите процедуру определения объёма данных и составления перечня истории. Зафиксируйте членство/роль и отпечаток ключа подписи для каждой из них. Указывайте идентификаторы с указанием рабочей области и чата: один и тот же номер сообщения не является глобальным межучётным идентификатором.
Сравнивайте соответствующие наблюдения в своих заметках по делу или инструментах анализа, сохраняя ссылку на аккаунт и журнал для каждой строки. В настоящее время TgWitness не предоставляет единого глобального поиска, объединенной временной шкалы, графа связей между пользователями или архива дел, охватывающих все рабочие пространства. Полный экспорт данных одного канала или супергруппы с учетом нескольких аккаунтов является отдельной функцией; это не объединение журналов всех аккаунтов.
При длительной работе добавьте независимого свидетеля для сохранения ранее установленных границ. Воспользуйтесь пилотным проектом контролируемой доставки, чтобы определить пути захвата учетных записей и их видимость.
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
Храните доверенные отпечатки через отдельный канал. С помощью доверенной установки проверяйте каждый артефакт на соответствие идентификатору его собственной рабочей области:
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, несмотря на смену имени?
Путь отслеживания: числовой идентификатор отправителя → история сохраненных имен/имен пользователей → ответы → другие чаты в рабочей области → упомянутые адресаты и сохраненные файлы. Проверяйте исходные записи для каждого заявленного соединения; отдельно учитывайте аккаунты с похожими именами.
Результат: хронология активности учетной записи с указанием источников и отдельные гипотезы о взаимосвязях. Схожесть имен и pHash аватара являются лишь зацепками, а не доказательством личности.