bakulbadwal/tracehound

GitHub: bakulbadwal/tracehound

TraceHound 是一个面向小额链上黑客事件的自主追踪工具,通过多跳交易遍历、OFAC 制裁列表匹配和 LLM 叙述,帮助个人受害者快速可视化资金流向并生成法律诉求信函。

Stars: 0 | Forks: 0

# TraceHound **在线演示:** https://tracehound.vercel.app ![TraceHound 截图](https://raw.githubusercontent.com/bakulbadwal/tracehound/main/docs/screenshot.png) Agentic 链上黑客追踪器,专为填补机构级服务商(Chainalysis、TRM Labs、 Elliptic)留下的空白而构建:针对那些对于这些服务商来说规模太小而无法优先处理, 且对于 FBI 来说过于小众而无法快速采取行动的个人受害者和小型案件。给它一个种子地址(例如被攻击的 合约或黑客的钱包),它会执行以下操作: 1. 使用真实的 Etherscan v2 API 遍历 N 跳范围内的实时 outgoing transfers(适用于 Ethereum、BNB Chain、Polygon、Arbitrum —— Etherscan 统一 API 覆盖的任何地方),并将其渲染为 径向逐跳图(种子地址位于中心,命中 watchlist 的节点会高亮显示)以及完整的表格。 2. 标记 watchlist(`data/watchlist.json`)上的任何地址 —— 其中填充了**真实的、最新的 OFAC SDN 制裁数字货币地址**(截至撰写时共有 105 个,仅限 EVM 格式: ETH/ARB/BSC/USDC/USDT-on-EVM),直接从美国财政部的官方 SDN 列表中提取。 随时可以通过 `npm run update-watchlist` 刷新。 3. 让 LLM agent 用通俗易懂的英语描述追踪过程 —— 这个叙述步骤(而不是逐跳遍历), 才是它相比于手动点击区块浏览器真正的差异化优势。 4. 查找每个地址的**已验证的智能合约名称**(免费,通过 Etherscan 官方的 `getsourcecode` endpoint)—— 例如,标记出某一跳流向了 `UniswapV2Router02`,而不是某个 个人的钱包。这是刻意区别于交易所/mixer 归属的:它是一个 客观事实(“这个地址是一个名为 X 的已验证合约”),而不是对所有权的猜测。 5. 可以根据真实的追踪事实起草一封要求信/冻结请求信(损失金额 + 可选的 FBI IC3 投诉编号),适用于那些案件太小,不值得 Chainalysis/TRM 级别 服务商优先处理的受害者。它从不会声称存在特定的交易所关系,也不会声称 这封信本身可以强制执行冻结,并且总是告知受害者无论如何都要向 IC3 提交投诉。 ## 本项目的局限性 在将任何输出视为权威依据之前,请阅读此内容: - **没有 mixer/exchange 归属数据库。** watchlist 包含真实的 OFAC 制裁数据(参见 上文),但它不知道哪些地址属于 mixer 或 exchange —— 该数据集是 Chainalysis、TRM Labs 和 Elliptic 实际销售的大部分内容,是多年来通过 传票和执法合作建立起来的。如果你想扩展它,可以使用现有的社区数据集: https://github.com/OffcierCia/On-Chain-Investigations-Tools-List - **没有冻结能力。** 只有 exchange 的合规团队才能冻结资金,并且通常 只有在有执法法律程序支持的情况下才能进行。此工具根据真实的追踪事实 起草信件;它从不发送信件,从不宣称存在 exchange 关系,也从不保证能执行冻结。 - **没有跨链桥/mixer 的去混合化。** 通过 bridge 或类似 Tornado Cash 的 mixer 追踪资金需要专门的启发式算法,这个 MVP 并未实现。 - **非法庭可采信的监管链。** 没有数据完整性的加密证明,没有专家 证人跟踪记录。 它对自身的诚实定位是:一个真实的、功能完备的首跳追踪器,带有自主叙述 层,适用于快速初步查看资金流向 —— 它不是一个监管级别的调查 平台。 ## 设置 ``` npm install cp .env.example .env.local # 填写 ETHERSCAN_API_KEY(免费,https://etherscan.io/apis) # 填写 ANTHROPIC_API_KEY(https://console.anthropic.com/) npm run dev ``` 打开 http://localhost:3000,粘贴一个地址,选择一条链和跳数深度,然后开始追踪。 ## 架构 ``` src/ app/ page.tsx UI: address form, results, narrative api/trace/route.ts server-side chain walk (keeps API keys off the client) api/narrate/route.ts LLM narration of the trace graph api/draft-letter/ LLM-drafted demand/freeze-request letter from trace facts lib/ etherscan.ts Etherscan v2 API client (tx history + verified-contract lookup) trace.ts BFS outward walk, fan-out capping, watchlist + contract enrichment watchlist.ts watchlist lookup components/ TraceGraphView.tsx radial SVG hop graph (hand-rolled, no charting library) scripts/ update-watchlist.js pulls the real OFAC SDN advanced XML and refreshes watchlist.json data/ watchlist.json known-address list — burn/zero + real OFAC-sanctioned addresses ``` ## 路线图构想(未构建 —— 未来范围) - Incoming-transfer 追踪(资金*来自*哪里),而不仅仅是向外。 - Bridge-hop 跟踪。 - 持久化案件存储,以便可以重新查看追踪记录/将其导出为报告(PDF)。
标签:DeFi, OFAC, 制裁名单筛查, 加密货币合规, 区块链追踪, 法律服务辅助, 自动化攻击