mcpField
F
follow-the-crypto

follow-the-crypto

github.com/useosint安全571.8k 次安装12 周前更新
代码仓库

关于 follow-the-crypto

follow-the-crypto 是追踪公链交易并评估归因的调查技能。它区分可观测的链上事实与概率性聚类,沿资金流追踪服务出入口,并说明追踪的不确定性或限制。

主要功能

  1. 01识别链与地址类型
  2. 02查看交易和地址活动
  3. 03追踪 UTXO 与账户模型资金流
  4. 04评估聚类启发式及其局限
  5. 05识别交易所存款结构
  6. 06评定发现与归因可信度

适用场景

  1. 01追踪诈骗或勒索付款
  2. 02调查钱包地址间的资金流动
  3. 03识别可能的交易所出入口
  4. 04说明加密货币调查中的不确定性

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/useosint/skills --skill follow-the-crypto

安装后在 Claude Code 中输入/follow-the-crypto确认已加载。

附带文件reference/address-formats.mdreference/explorers-and-tools.md

详细介绍

追踪加密货币

公有链是化名的,并非匿名。每笔转账都会永久对所有人可见;缺少的是地址与真实身份之间的对应关系。因此,关键在于归因,而归因几乎总是发生在出金环节——价值通过收集了身份文件的服务兑换为法币的节点。犯罪与出金之间的一切,都只是你需要追踪的资金流转。

初学者常犯的错误,是把聚类启发式方法的结果当作事实。“这些地址属于同一个实体”是一种有已知失效情形的概率推断,而商业归因标签则是无法审计的专有猜测。追踪时要有把握;归因时要谨慎。

初步判断:你手头有什么?

你手头有从这里开始原因
一个地址字符串根据格式识别链,然后查看区块浏览器仅凭格式通常就能确定链和脚本类型——参见地址格式表
一个交易哈希查看区块浏览器中的交易页面可查看交易双方、手续费、区块时间以及任何合约调用
一个 ENS 或命名服务名称解析为地址,然后检查反向记录正向解析由名称所有者设置;反向记录由地址所有者设置,因此后者更有说服力
一个 0x… 地址在每条主流 EVM 链上检查同一个地址一个私钥,一个地址,多条链。在当事人以为无人关注的链上发现活动,这种情况很常见
勒索信或诈骗中的付款要求查看区块浏览器和诈骗举报聚合平台其他人可能已经举报过该地址,从而提供受害者人数和首次出现日期
一张钱包截图手动提取地址并验证校验和截图中的地址可能被错误抄录,也可能有人故意植入相似地址

方法

1. 确定链和地址类型。 字符串本身会告诉你。Bitcoin 的传统支付到公钥哈希地址以 1 开头;支付到脚本哈希地址以 3 开头,历史上用于多重签名和封装式 SegWit;原生 SegWit bech32 地址以 bc1q 开头;Taproot 地址以 bc1p 开头。Ethereum 和所有 EVM 链都使用 0x 加 40 个十六进制字符,大小写混合用作 EIP-55 校验和。完整表格见上方的参考文件。

2. 在区块浏览器中打开地址,并正确解读信息。 余额是最不重要的字段。真正重要的是:首次出现和最近出现的时间戳(活动时长)、总收款额与当前余额(已转空的地址是中转渠道,持有资金的地址则是目的地)、交易数量,以及交易对手集合。在 EVM 链上,还要查看内部交易、代币转账标签页,以及地址是否包含代码——含有字节码的地址是合约,不是某个人的钱包,其行为由该代码决定。

3. 根据链选择正确的思维模型。 Bitcoin 这类 UTXO 链没有账户:交易会消耗离散的未花费输出并创建新输出,因此“地址余额”是派生出的汇总值,资金会明显拆分和合并。你追踪的是图中的币及其输出。Ethereum 这类账户模型链通过转账改变余额,因此你追踪的是账户间的边;单笔交易可能触发一连串内部转账和代币转移,而这些不会显示在顶层视图中。混淆这两种模型,是得出荒谬结论最常见的原因。

4. 进行聚类,并了解每种启发式方法的可信度。

  • 共同输入所有权是可靠的方法:如果一笔 UTXO 交易花费了多个输入,那么构建该交易的人必须持有所有这些输入的密钥,因此这些地址由同一控制者掌控。这是所有 Bitcoin 聚类引擎的基础。
  • 找零地址识别则不可靠。启发式方法包括:金额没有取整的输出、脚本类型与输入相同而另一个输出不同的输出、发送到此前从未出现过的地址的输出,以及非必要输入规则。它们各自都可能出错,而且错误会沿后续步骤累积。一次找零判断错误,就可能让整个后续追踪指向陌生人。
  • 地址复用无需额外成本,就能将活动归并到同一身份下;不认为自己会成为目标的人经常会复用地址。

5. 找到出金通道。 交易所会为每位客户分配一个唯一的存款地址,然后定期将这些存款归集到整合后的热钱包中。这种归集是关键线索:多个互不相关的地址按固定时间安排汇入一个大型钱包,说明这是交易所的存款结构。追踪到存款地址是追踪过程中最有价值的结果,因为交易所持有该地址所属者的 KYC 记录——执法部门可通过法律程序获取这些记录,你则不能。记录存款地址、金额、时间戳和交易所识别依据,然后移交材料。

6. 根据模式识别服务和合约交互。 一笔交易中有多个参与者,且输出金额相等,说明这是 CoinJoin。同一合约先收到固定面额的存款,之后又发出提现,说明这是 Tornado 式隐私池。转账进入合约,随后在另一条链上触发事件,说明这是跨链桥。两个地址之间按固定时间安排反复进行的整数金额转账,看起来像是工资发放或订阅,而非市场操作。剥离链是一种典型的洗钱和套现模式:一笔大额资金反复花费少量资金转出,同时将剩余部分继续转发。

追踪线索在哪里中断,以及仍然可以说些什么

CoinJoin 从设计上打破了共同输入所有权:输入属于不同的人。忽略这一点的简单聚类会把互不相关的用户合并成一个巨大的错误集群——这是众所周知且严重的失误模式。

隐私混合池通过密码学手段切断存款与提款之间的关联。剩下的是元数据泄露:交易量较低时匿名集较小;存款和提款的时间;提款所需的 Gas 由也为存款提供资金的地址支付;以及提款至已与用户关联的地址的用户。

跨链桥和兑换服务不会通过密码学手段切断关联,但在实际操作中会切断关联,因为它们会把追踪线索转移到采用不同工具的另一条链上。对两条链上的金额和时间进行关联,往往可以重新建立关联。无需账户的即时兑换服务也存在同样的问题,此外还多了一个会保留自身日志的托管环节。

隐私币意味着追踪彻底中止,而不只是变慢。环签名、隐身地址和机密金额意味着没有公开的发送方、接收方或金额可供追踪。请直言不讳地说明这一点,而不是暗示还能继续追查。对于支持可选屏蔽的链,大多数活动都是透明的,泄露发生在屏蔽与透明之间的边界上。

经过以上任一情况后的污染分析是建模选择,而不是测量结果。对同一份数据使用毒化法、折减法、先进先出法和后进先出法,会得出实质不同的答案;有些司法管辖区的法院还会对混合资金规定自己的规则。请务必说明所用模型。不注明模型的“40% 已污染”毫无意义。

哪些因素会误导你

  • **地址投毒。**攻击者会从经过精心设计的地址发送零价值或尘埃转账,使其首尾字符与合法交易对手的地址相符。这些转账会出现在受害者的历史记录中,粗心的分析人员可能因此追踪到完全无关的地址。务必比对完整字符串。
  • **尘埃攻击。**向许多地址发送未经请求的微小金额,目的是让这些金额被花费,从而合并集群。收到转账并不能证明接收方的意图或关系。
  • **区块浏览器标签是第三方说法。**公开名称标签、自行提交的合约验证信息和社区提供的实体标签,质量参差不齐,有时甚至完全错误或已过时。标签只是线索。请注明标签提供方。
  • **商业归因无法审计。**链上分析供应商的实体标签来自专有且未公开的方法,并且曾在法庭上受到质疑。切勿把供应商标签当作事实;应将其表述为该供应商的评估结果。
  • **合约会为从未接触过资产的人转移价值。**DEX 路由器、多重签名合约、托管钱包或 NFT 市场会显示为交易对手。它们是基础设施,不是嫌疑对象。
  • **时间戳是区块时间。**它们大致表示交易被打包的时间,并非人为操作的时间,也无法可靠说明时区。
  • 同一地址在不同链上可能属于不同的人——但实际风险恰恰相反:当密钥相同时,却假定这些链彼此无关。
  • **链重组和未确认交易。**你在内存池中看到的交易可能永远不会被确认。引用已确认交易时,请注明区块高度。

评估发现

  • 已确认——链上事实:这笔交易在这个区块中将这笔金额从这个地址转到那个地址。这些事实可通过密码学验证,应直接明确说明,不要含糊其辞。还包括已确认的情况:实体通过签名消息自行公布的地址,或在你通过 recon-a-domain-passively 验证过的域名上公布的地址。
  • 很可能——基于共同输入所有权构建的集群,且不存在 CoinJoin 模式;依据结构行为识别出的服务,并且有多个独立标签相符;ENS 名称的正向和反向记录均匹配,并关联到某个社交资料。
  • 未确认——任何基于找零地址启发式、单一商业标签、未经签名的所有权声明、仅凭时间关联,或跨越混币事件的集群得出的结论。

仅凭链上证据,永远无法确认某个具名人士的归属关系。只有在链下记录——传票回复、法院文件、签名消息或实体自身披露的信息——弥合了这一证据缺口后,才能确认。

示例

一名受害者报告称,自己向 bc1q… 支付了勒索款,并提供了交易 ID。

区块浏览器显示一笔输入来自受害者,且有两个输出:0.4137 BTC 转至一个新 bc1q 地址,另一笔较小金额转至另一个地址。找零启发式判断,未取整的较大金额是付款,较小金额是受害者的找零——但受害者确认,要求支付的金额是较小的那个数值,因此这里的启发式判断恰好反了过来。只有经过人工佐证才避免了走入死胡同;请在记录中注明这一点。

追踪勒索款的输出:一天之内,它与另外 11 笔输入合并为一笔交易。共同输入所有权意味着这 12 笔输入都由同一个控制者掌控,而且不存在表明 CoinJoin 的等值结构。合并后的输出转至一个接收了数千个互不相关地址转账的地址,并按固定时间表向外归集——这是交易所热钱包的结构。它前面的那个地址只接收过来自我们集群的资金,是存款地址。

评估结果:交易事实已确认;12 个地址构成的集群很可能成立;基于结构特征和两个独立标签,交易所身份很可能成立;账户持有人身份未知,且只能通过法律程序获取。按此方式报告,并向受害者的法律顾问标明存款地址和时间戳。

后续调查方向

你现在掌握的信息下一步
链上的 ENS 名称、账号或昵称hunt-a-handle
网站上公布的地址recon-a-domain-passively、read-deleted-pages
交易所、托管方或发行方实体x-ray-a-company、who-really-owns-it
具名人士find-anyone
论坛、粘贴站或频道中发布的地址find-leaks-in-the-wild
源代码仓库或提交中的地址secrets-in-git-history
需要逐字搜索的地址字符串google-like-a-spy
用作头像的 NFT 图像find-the-original-image
需要可视化的多跳资金流graph-the-network
与交易所账户关联的电子邮件或账号what-leaked-about-you

按链整理的工具和区块浏览器,以及各自真正擅长的用途,见区块浏览器与工具目录。

法律与合规

读取公开账本不受监管,但对其采取行动可能受到监管。制裁机构会在其指定人员名单上公布特定的数字货币地址——美国 OFAC SDN 名单会将这些地址列为明确的地址条目——在许多司法辖区,与被指定的地址进行交易属于严格责任事项。与任何内容交互前,请先核查相关名单;切勿向涉事地址发送“测试交易”:这属于交互,会留下你的记录,而且可能构成违规。

将某人指认为某地址的所有者,是一种严重的公开指控,可能引发诽谤责任,而且相关推断具有概率性。无论泄露的交易所客户数据是通过何种途径到达你手中的,批量购买或处理这些数据都会带来数据保护义务;参见 what-leaked-about-you。如果目的是追回资产或移交刑事案件,请妥善保存证据链:记录区块高度、交易 ID 和采集时间戳,而不是区块浏览器的截图。

评论

支持 Markdown