参考 / 收集
调查模式
涵盖频道、群组、私聊和机器人的全账户调查,从调查范围到经过验证的案件资料包。
可跨频道、群组、私聊和机器人追踪案件全过程,从最初的
数据采集到带引用时间线及可验证的交接记录。交互式网站
版本位于 /docs/cases/;预览说明。
案例分析:四个对话中目的地发生变化#
一条公告指向了一个机器人。一个行动小组讨论了一个新的付款 目的地,该机器人的键盘上显示了该信息,随后在一次私下跟进中又重复了这一信息。 随后该公告被编辑,一条群组消息消失了。
需要弄清楚的问题包括:变更前后观察到了什么,哪些 Telegram 账户发布了每条内容,目标出现在何处,哪些附件字节 被保留下来,以及哪些时间间隔仍无法确定?
本示例中的所有姓名、ID、时间及日志引用均为虚构。该 工作流使用当前功能;案例图仅为示意图,并非由应用程序自动 生成的图表。
图表转为文本
- 频道 → 工作区日志
- 群组 → 工作区日志
- 私聊 → 工作区日志
- 机器人 → 工作区日志
- 工作区日志 → 搜索所有来源
- 工作区日志 → 附有记录参考信息的人物档案
- 工作区日志 → 已保存版本和附件收据
- 搜索所有来源 → 分析师时间线和来源登记册
- 附有记录参考信息的人物档案 → 分析师时间线和来源登记册
- 已保存版本和附件收据 → 分析师时间线和来源登记册
- 工作区日志 → 带签名的证据 ZIP 文件
- 分析师时间线和来源登记册 → 附带经单独验证的证据材料的案件移交
- 带签名的证据 ZIP 文件 → 附带经单独验证的证据材料的案件移交
1. 界定案件并收集完整案情#
- 在专属工作区中连接采集账户。在外部案件记录中, 记录案件编号、账户 ID、工作区、监控起始时间以及可信 签名密钥指纹。
- 开放来源 → 监控范围 → 调查模式。该预设选项包括 “整个账户”、“频道/群组/私聊/机器人”、“自身操作”、“来源 资料”以及新发现来源的最新 200 条可见消息。 请仔细核对,点击“保存范围”,并完成范围确认。
- 加载聊天记录,并将来源与该账户的对话列表进行比对。 检查 排除项。参数 → 从账户列表中读取的聊天数量默认值为 1,000,最大支持 20,000。超出列表限制的来源会在 其变为活跃状态时被添加。记录实际枚举的内容。
- 在“记录设置”中,选择“所有可见活动”,并保存 监控设置。请检查附件类型/限制及可用磁盘空间。
- 开始观察。验证一条受控的新消息、编辑操作和删除操作,然后 保留测试参考信息及任何失败情况。
“整个账户”范围会在保存的设置范围内记录账户可见的活动。 该工具不会访问秘密聊天,也不会自动加入所有关联的群组。此外, 它也不会补录所有现有对话。请参阅“采集范围”。
2. 盘点所有信息来源并获取历史背景#
维护一个来源登记表,每行记录一次聊天:
| 字段 | 记录 |
|---|---|
| 品牌定位 | 工作区、账户 ID、数字聊天 ID、标题和类型 |
| 可见性 | 成员身份/角色、访问权限(已确认或未确认)、排除项 |
| 实时捕获 | 开始时间、选定的事件类型及后续政策变更 |
| 日志历史 | 快照请求/完成情况、限制、时间及记录引用 |
| 完整历史 | 按聊天分组的导出文件名、边界及完成/失败状态均附有数字签名 |
| 附件 | 已完成的媒体接收记录、哈希值、大小以及跳过/失败的结果 |
| 覆盖范围 | 服务中断、数据采集不完整、FloodWait、消息不可用及其他缺失情况 |
针对每个消息源,请选用合适的采集方式:
- 在“来源”(当前为
main)中加载完整历史记录,将已启用来源中可用的过往 消息加载到工作区日志中。该功能支持暂停/恢复 操作,并提供带签名的进度报告。参见历史记录获取。 - 历史快照将最近可见的消息保存到观察日志中。 其默认上限为 500 条;通过“参数 → 最大历史快照”可将 该上限提高至 10,000 条。这些是当前的历史观察记录,而非重建的编辑记录。
- “导出完整聊天记录”→“导出完整聊天记录”,或“聊天”→“导出聊天记录”,将
当前可见的某次聊天记录导出为一个独立的、经过签名的
chat.json/chat.html数据包。针对案件中的各个消息源重复此操作,并保留每个结果。 - 当出现新的聊天或机器人时,可保存其资料以及多达 1,000 条最近的 消息;调查模式下则保存 200 条。启用该模式后,现有聊天记录不会 追溯性地被纳入。
- 下载可见附件时,将根据配置的策略保留相应字节数。
必须提供包含 SHA-256 校验值和字节数的完整
media.saved收据。队列中的 任务、缩略图或文件名均不视为已保留的附件。
完整聊天记录导出不会将所有 消息填入日志或联系人资料中。如需在 TgWitness 中分析特定历史记录,请使用“加载完整历史记录”或“限定范围的日志快照”功能。在开始 历史记录运行前,请检查已启用的来源列表。无论采用哪种方式,均无法恢复 Telegram 已不再返回的内容。
3. 保留不断演变的案件及有预谋的互动#
将活跃案件聊天室标记为优先来源。审查复核间隔、持续 补录及媒体结果。在使用该账户期间,请保持采集器处于监控状态。 使用“聊天”→“个人资料”→“立即保存个人资料”以保留来源元数据,例如 描述和机器人命令。这与从已保存消息中生成的 联系人个人资料是分开的。
当案件涉及追踪消息来源或与机器人交互时:
- “打开 Telegram 链接 → 保存预览”功能会在执行操作前记录所提供的链接及返回的 预览内容。
- “加入/打开并观察”操作将执行加入/打开操作,并在提供时发送机器人的 start 参数。待批准的加入请求将被记录为“待处理”。
- 面板生成的文本回复和支持的按钮点击操作将保留
interaction.requested和interaction.result。回调收据可保留 返回的弹出文本、警报状态和 URL。
这些是真实的账户操作。在另一款 Telegram 应用中点击回调按钮的行为 对采集器不可见,尽管由此产生的消息或编辑操作可能被记录。该 微型客户端不处理网页应用、支付、电话或位置相关的工作流。 有关确切的行为,请参阅面板交互说明。
4. 关联不同聊天记录中的观察结果#
在“日志”中,选择“所有来源”并搜索已记录的内容。打开匹配的 记录,并保留工作区、聊天、消息 ID、序列号和记录哈希值。
在相关聊天中,打开“联系人”→“启用个人资料”,然后查看某人:
- 随时间推移观察到的名称/用户名以及 Telegram 数字 ID。
- 回复内容需包含源记录的引用信息。
- 此外……该 ID 曾在此工作区日志中的其他聊天记录中发过言。
- 活动记录、编辑/删除操作,以及被提及的钱包、手机、用户名和链接。
- 已保存的头像元数据及类似的缓存头像,并标注了各自的来源。
在调查结论中使用衍生个人资料前,请先打开引用的记录。个人资料涵盖 拥有已保存消息的人员,而非群组中的每位成员。参数 → “每个事实引用的记录数” 仅限制引用列表的范围,而非底层活动数量。 提及和头像相似度仅为线索;它们不能证明所有权或身份。
在示例中:
| 链接 | 记录 | 支持的观察内容 |
|---|---|---|
| 同一发件人账号 | 群组 #146 及后续私信 #205 | 两者均提供 Telegram 发件人 ID 71001 |
| 同一目标 | #146,机器人键盘 #173,频道编辑 #188,私信 #205 | 所有内容均包含pay.example.invalid/new;所有权/控制权尚未确定 |
| 相同的保存文件 | 已完成媒体收据 #151 和 #209 | 所保存字节的完整 SHA-256 值完全一致 |
| 频道来源说明 | #101 和 #188 | 若未注明发件人,请勿将频道帖子归因于用户 71001 |
请对比附件哈希值及其关联的消息引用。文件完全相同 并不能证明其创建者、转发者或共同操作者。仅凭相同的名称和 相似的头像,不能将两个 Telegram ID 归为同一人。
5. 构建跨聊天室时间线#
使用“聊天”中的已保存版本及其日志记录 #… 链接。在
日志中,将所有来源与编辑、删除及覆盖内容合并。
如已提供,请同时保留 source_at 和 observed_at。
| 示例观察时间 | 参考资料 | 观察 |
|---|---|---|
| 09:00 | 频道 #101 | 原始目标已捕获 |
| 09:12 | 群组 #146;媒体 #151 | 已发布新目标;文件下载完成 |
| 09:16 | 机器人 #173 | 键盘指向新目的地 |
| 09:20 | 频道 #188 | 公告已编辑;两个保存版本均保留 |
| 09:24 | 私有 #205; 媒体 #209 | 同一发件人 ID 的收件人地址重复;文件字节内容保持不变 |
| 09:28 | 群组 #231 | 已收到删除通知;删除者及确切删除时间不详 |
其他记录发生在这些示例引用之间。序列号用于排序 观察结果;历史快照可能包含更早的源日期,且到达时间 晚于实时事件。请区分快照、恢复的消息、删除通知以及 重新检查时缺失的结果。 将覆盖缺口标记为未知时间段。后续 历史数据的获取并不意味着可以追溯性地确立不间断的观测记录。
6. 添加账户视角,同时保留其来源信息#
为每个独立账户使用单独的工作区,并重复执行其清点操作。 每次比对时,请保留账户 ID、角色、签名密钥指纹及来源参考信息。 消息编号并非跨聊天/账户的全局标识符。
跨工作区的关联分析需在外部案件笔记或分析 工具中进行。TgWitness 目前不支持全局跨工作区搜索、合并时间线、 调查图谱或综合案件档案。单个 频道/超级群的多账户导出属于另一项操作,并非账户日志的合并。
对于较长的操作,需通过独立见证人保持边界。 使用受控投递检查来验证 每个账户的捕获路径和可见性。
7. 整理并核实案件移交#
请将以下内容整理到由分析师编制的案件目录中:
| 资料 | 目的 |
|---|---|
| 案件笔记与来源登记册 | 问题、数据收集政策、访问权限/角色、调查结果、替代解释及数据缺口 |
| 时间线 | 每条记录均包含时间信息以及工作区/聊天/消息/序列的引用信息 |
| 每个工作区对应的签名证据 ZIP 文件 | 完整的记录日志、清单及包含的保存媒体;面板过滤器不会缩小日志导出范围 |
| 单独签名的用户资料文件 | 已根据对应的工作区证据核查了引用的来源 |
| 带签名的完整聊天记录导出 | 当前可见历史记录的采集,与观察日志分开处理 |
| 可信指纹和早期检查点 | 关键身份信息与保留日志的边界 |
| 若已配置,则生成Witness证据文件 | 独立日志、签名条目和见证指纹 |
| 验证结果和已交付文件的哈希值 | 检查了什么内容、传输了哪些字节以及传输给了谁 |
来自可信安装环境,包含文件名及每个工作区的实际指纹:
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 账号活动时间线,其中现实世界中的身份信息与关系假设被明确区分开来 |