追踪代币钱包集群与资助来源,输出安全评分
29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/menantonio83-hue/tnt-house.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
该类项目属生态应用(桌面端 / Web 外壳),不以 dsh plugin add 方式安装,请按仓库说明部署
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 49 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(dependency_conflict · 2026/9/25) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包tnt-house(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/21 23:49:05
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
写入剪贴板(不计风险)读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 125 处,展示前 100 条)
- 发起网络请求app/page.js:1080
var res = await fetch('/api/sendTelegram', { - 发起网络请求app/page.js:1106
var res = await fetch(SUPABASE_URL + '/rest/v1/token_votes?select=*', { - 发起网络请求app/page.js:1123
var res = await fetch(SUPABASE_URL + '/rest/v1/token_views?select=*', { - 发起网络请求app/page.js:1146
var res = await fetch(SUPABASE_URL + '/rest/v1/rpc/track_view', { - 发起网络请求app/page.js:1165
var res = await fetch(SUPABASE_URL + '/rest/v1/rpc/cast_vote', { - 发起网络请求app/page.js:1244
var res = await fetch( - 请求外部主机api.dexscreener.comapp/page.js:1414
var res = await fetch('https://api.dexscreener.com/latest/dex/tokens/' + ca); - 请求外部主机api.rugcheck.xyzapp/page.js:2644
var rugRes = await fetch('https://api.rugcheck.xyz/v1/tokens/' + ca + '/report', { - 请求外部主机api.dexscreener.comapp/page.js:2892
var dexRes = await fetch('https://api.dexscreener.com/latest/dex/tokens/' + ca); - 写入剪贴板app/page.js:3180
navigator.clipboard.writeText(amountStr).catch(function () { - 写入剪贴板app/page.js:5777
navigator.clipboard.writeText(amtStr).then(function () { - 写入剪贴板app/page.js:6091
navigator.clipboard.writeText(amtStr).then(function () { - 写入剪贴板app/page.js:6225
navigator.clipboard.writeText(deeplinkFallbackUri).then(function () { - 发起网络请求app/pay/page.js:100
fetch('/api/pay-log', { - 发起网络请求app/quick-check/page.js:75
const res = await fetch('/api/quick-check', { method: 'POST' }); - 发起网络请求app/quick-check/page.js:90
const res = await fetch(`/api/quick-check?ca=${encodeURIComponent(ca.trim())}`); - 发起网络请求app/quick-check/page.js:125
const res = await fetch('/api/site-orders/create', { - 发起网络请求app/quick-check/page.js:153
const res = await fetch('/api/verify-payment', { - 发起网络请求app/quick-check/page.js:167
const statusRes = await fetch('/api/quick-check', { method: 'POST' }); - 发起网络请求app/sitemap.ts:32
const res = await fetch( - 发起网络请求lib/billing-verify.ts:104
response = await fetch(url.toString(), { signal: AbortSignal.timeout(10000) }); - 读取密钥环境变量lib/billing-verify.ts:220
const apiKey = process.env.HELIUS_API_KEY; - 读取密钥环境变量lib/chat-limit.ts:64
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/chat-limit.ts:67
token: process.env.KV_REST_API_TOKEN, - 读取密钥环境变量lib/cluster-check-cache.ts:59
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/cluster-check-cache.ts:62
token: process.env.KV_REST_API_TOKEN, - 读取密钥环境变量lib/deepseek-balance.ts:36
const apiKey = process.env.DEEPSEEK_API_KEY_NEW || process.env.DEEPSEEK_API_KEY; - 请求外部主机api.deepseek.comlib/deepseek-balance.ts:62
const res = await fetch('https://api.deepseek.com/user/balance', { - 发起网络请求lib/deepseek-balance.ts:62
const res = await fetch('https://api.deepseek.com/user/balance', { - 读取密钥环境变量lib/demo-limit.ts:69
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/demo-limit.ts:72
token: process.env.KV_REST_API_TOKEN, - 读取密钥环境变量lib/demo-public-key-limit.ts:50
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/demo-public-key-limit.ts:53
token: process.env.KV_REST_API_TOKEN, - 读取密钥环境变量lib/free-key-signup.ts:36
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/free-key-signup.ts:37
? new Redis({ url: process.env.KV_REST_API_URL, token: process.env.KV_REST_API_TOKEN }) - 读取密钥环境变量lib/free-tier-global-pool.ts:35
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/free-tier-global-pool.ts:38
token: process.env.KV_REST_API_TOKEN, - 读取密钥环境变量lib/funder-cache.ts:45
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/funder-cache.ts:48
token: process.env.KV_REST_API_TOKEN, - 发起网络请求lib/helius-client.js:95
const response = await fetch(SOLANA_RPC, { - 发起网络请求lib/helius-client.js:212
const response = await fetch(SOLANA_RPC, { - 发起网络请求lib/helius-client.js:226
const supplyResponse = await fetch(SOLANA_RPC, { - 发起网络请求lib/helius-client.js:346
const response = await fetch(SOLANA_RPC, { - 请求外部主机api.dexscreener.comlib/helius-client.js:377
const response = await fetch(`https://api.dexscreener.com/latest/dex/tokens/${mintAddress}`); - 发起网络请求lib/helius-client.js:377
const response = await fetch(`https://api.dexscreener.com/latest/dex/tokens/${mintAddress}`); - 读取密钥环境变量lib/holder-alert-gate.ts:10
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/holder-alert-gate.ts:13
token: process.env.KV_REST_API_TOKEN, - 读取密钥环境变量lib/holder-distribution.ts:182
const RPC_URL = process.env.HELIUS_API_KEY - 读取密钥环境变量lib/holder-distribution.ts:183
? `https://mainnet.helius-rpc.com/?api-key=${process.env.HELIUS_API_KEY}` - 发起网络请求lib/holder-distribution.ts:242
const res = await fetch(RPC_URL, { - 读取密钥环境变量lib/holder-snapshot-cache.ts:13
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/holder-snapshot-cache.ts:16
token: process.env.KV_REST_API_TOKEN, - 发起网络请求lib/insider-cluster-detector.ts:677
const rugRes = await fetch(`${RUGCHECK_URL}/${mint}/report`, { - 读取密钥环境变量lib/listed-token-envelope.ts:62
const secret = process.env.LISTED_TOKEN_SIGNING_SECRET; - 发起网络请求lib/listed-token-projection.ts:95
const res = await fetch(`${DEXSCREENER_TOKENS_URL}/${mint}`, { signal: controller.signal }); - 读取密钥环境变量lib/mcp-anon-limit.ts:100
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/mcp-anon-limit.ts:103
token: process.env.KV_REST_API_TOKEN, - 读取密钥环境变量lib/owner-handoff.ts:22
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/owner-handoff.ts:25
token: process.env.KV_REST_API_TOKEN, - 读取密钥环境变量lib/qstash-publish.ts:17
const qstashToken = process.env.QSTASH_TOKEN; - 读取密钥环境变量lib/quick-check-limit.ts:78
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/quick-check-limit.ts:81
token: process.env.KV_REST_API_TOKEN, - 发起网络请求lib/rpc-throttle.ts:30
return fetch(input, init); - 发起网络请求lib/rugcheck-client.ts:197
const res = await fetch(`${RUGCHECK_URL}/${mint}/report`, { - 读取密钥环境变量lib/send-email.ts:154
const resendApiKey = process.env.RESEND_API_KEY; - 发起网络请求lib/send-email.ts:251
const res = await fetch(RESEND_API_URL, { - 读取密钥环境变量lib/signup-limit.ts:43
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/signup-limit.ts:46
token: process.env.KV_REST_API_TOKEN, - 读取密钥环境变量lib/solana-tracker-holders.ts:39
const apiKey = process.env.SOLANATRACKER_API_KEY; - 请求外部主机data.solanatracker.iolib/solana-tracker-holders.ts:49
const res = await fetch(`https://data.solanatracker.io/tokens/${address}/holders`, { - 发起网络请求lib/solana-tracker-holders.ts:49
const res = await fetch(`https://data.solanatracker.io/tokens/${address}/holders`, { - 读取密钥环境变量lib/solana-tracker-holders.ts:93
const apiKey = process.env.SOLANATRACKER_API_KEY; - 请求外部主机data.solanatracker.iolib/solana-tracker-holders.ts:103
const res = await fetch(`https://data.solanatracker.io/tokens/${address}/holders`, { - 发起网络请求lib/solana-tracker-holders.ts:103
const res = await fetch(`https://data.solanatracker.io/tokens/${address}/holders`, { - 读取密钥环境变量lib/supabase-admin.ts:47
const serviceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY; - 读取密钥环境变量lib/telegram-alert.ts:56
const botToken = process.env.TELEGRAM_BOT_TOKEN; - 请求外部主机api.telegram.orglib/telegram-alert.ts:85
const res = await fetch(`https://api.telegram.org/bot${botToken}/sendMessage`, { - 发起网络请求lib/telegram-alert.ts:85
const res = await fetch(`https://api.telegram.org/bot${botToken}/sendMessage`, { - 读取密钥环境变量lib/trial-limit.ts:44
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/trial-limit.ts:47
token: process.env.KV_REST_API_TOKEN, - 读取密钥环境变量lib/verify-throttle.ts:20
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/verify-throttle.ts:23
token: process.env.KV_REST_API_TOKEN, - 读取密钥环境变量lib/webhook-lock.ts:37
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/webhook-lock.ts:40
token: process.env.KV_REST_API_TOKEN, - 读取密钥环境变量lib/x402/pending-grace.ts:42
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/x402/pending-grace.ts:45
token: process.env.KV_REST_API_TOKEN, - 发起网络请求lib/x402/verify.ts:71
return fetch(`${FACILITATOR_URL}${path}`, { - 读取密钥环境变量lib/x402/verify.ts:281
process.env.KV_REST_API_URL && process.env.KV_REST_API_TOKEN - 读取密钥环境变量lib/x402/verify.ts:282
? new Redis({ url: process.env.KV_REST_API_URL, token: process.env.KV_REST_API_TOKEN }) - 发起网络请求page.js:36
await fetch(SUPABASE_URL + '/rest/v1/listed_tokens', { - 发起网络请求page.js:60
const res = await fetch( - 请求外部主机price.jup.agpage.js:213
const res = await fetch('https://price.jup.ag/v6/price?ids=SOL'); - 发起网络请求page.js:213
const res = await fetch('https://price.jup.ag/v6/price?ids=SOL'); - 请求外部主机api.dexscreener.compage.js:227
const res = await fetch('https://api.dexscreener.com/latest/dex/tokens/' + MRDT_CA); - 发起网络请求page.js:227
const res = await fetch('https://api.dexscreener.com/latest/dex/tokens/' + MRDT_CA); - 请求外部主机api.dexscreener.compage.js:264
const res = await fetch('https://api.dexscreener.com/latest/dex/tokens/So11111111111111111111111111111111111111112?limit=30'); - 发起网络请求page.js:264
const res = await fetch('https://api.dexscreener.com/latest/dex/tokens/So11111111111111111111111111111111111111112?limit=30'); - 发起网络请求page.js:398
const quoteRes = await fetch( - 请求外部主机quote-api.jup.agpage.js:405
const swapRes = await fetch('https://quote-api.jup.ag/v6/swap', { - 请求外部主机api.gopluslabs.iopage.js:436
const auditRes = await fetch('https://api.gopluslabs.io/api/v1/token_security/1?contract_addresses=' + form.contractAddress);
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
涉及外部主机:api.dexscreener.com、api.rugcheck.xyz、api.deepseek.com、data.solanatracker.io、api.telegram.org 等 8 个
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 追踪代币钱包集群
- 追踪资助来源
- 输出安全评分
README
由 DeepSeek 最新模型翻译生成RiskDataApi — 扫描器只统计钱包数量,我们追踪是谁资助了它们
tnt-house MCP server
MCP Marketplace
一次调用即可返回共享同一首个资助者的钱包——也就是扫描器显示为 20 个互不相关持有者的那个集群。此外还有 0–100 的安全评分、蜜罐和 LP 锁定情况。
无需密钥即可连接。MCP:https://www.tnt-audit.com/api/mcp 将该 URL 粘贴到 Glama Inspector、Claude 或 Cursor 中,然后调用 check_token_risk。每天 5 次调用,无需邮箱。
之后:邮箱密钥每天 15 次,x402 按每次调用 $0.02 且无需账户,或者针对大用量选择 $45/5000 次调用的订阅。网站上的真人用户可在 tnt-audit.com/risk-api 获得 3 次免费检查,无需注册。
- 文档: https://www.tnt-audit.com/risk-api/docs
本仓库托管一个远程 Model Context Protocol (MCP) 服务器,将 RiskDataApi 引擎作为工具暴露给 AI 代理(Claude、Cursor 以及任何其他兼容 MCP 的客户端)。请参阅下方的 MCP Server 部分。
展开完整文档(README 剩余 1 节)
RiskDataApi — 扫描器只统计钱包数量,我们追踪是谁资助了它们
tnt-house MCP server
MCP Marketplace
一次调用即可返回共享同一首个资助者的钱包——也就是扫描器显示为 20 个互不相关持有者的那个集群。此外还有 0–100 的安全评分、蜜罐和 LP 锁定情况。
无需密钥即可连接。MCP:https://www.tnt-audit.com/api/mcp 将该 URL 粘贴到 Glama Inspector、Claude 或 Cursor 中,然后调用 check_token_risk。每天 5 次调用,无需邮箱。
之后:邮箱密钥每天 15 次,x402 按每次调用 $0.02 且无需账户,或者针对大用量选择 $45/5000 次调用的订阅。网站上的真人用户可在 tnt-audit.com/risk-api 获得 3 次免费检查,无需注册。
- 文档: https://www.tnt-audit.com/risk-api/docs
本仓库托管一个远程 Model Context Protocol (MCP) 服务器,将 RiskDataApi 引擎作为工具暴露给 AI 代理(Claude、Cursor 以及任何其他兼容 MCP 的客户端)。请参阅下方的 MCP Server 部分。
快速开始(3 个步骤)
1. 立即试用,无需注册 — 前 每天 5 次 MCP 调用 无需 API 密钥(完全无需注册)。三种方式,选择最方便的一种:
- ⚡ Glama 的 MCP Inspector(最快、零设置、真实 MCP 调用) — 前往 glama.ai/mcp/inspector,将 https://tnt-audit.com/api/mcp 粘贴为服务器 URL,然后直接在浏览器中调用 check_token_risk — 无需安装。
- Claude Desktop / Cursor — 将以下内容粘贴到你的 MCP 配置中,无需密钥: {
"mcpServers": {
"tnt-risk-data-api": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://tnt-audit.com/api/mcp"]
}
}
}
- 浏览器,原始 REST 预览 — 直接打开 一个实时示例,无需安装,无需注册。⚠️ 这是底层数据的 REST 预览,并非 MCP 工具本身 — 如需真正的 MCP 工具,请使用上方的 Inspector。
2. 想要更多? — 在 tnt-audit.com/risk-api 几秒内获取免费 API 密钥(仅需邮箱,无需银行卡)。
3. 需要更高用量? — 在同一页面,将你的密钥粘贴到定价部分,即可按调用付费、按订阅付费,或通过 x402 付费(自主代理,完全无需密钥)。
技术栈
- Next.js 14 (App Router) + React 18 + TypeScript
- Tailwind CSS
- Supabase(认证、计费、密钥存储)
- Helius (Solana RPC) + RugCheck + DexScreener(市场/风险数据)
- Vercel(托管,通过 QStash 执行 cron)
MCP Server — Risk-Data API 此仓库包含一个远程 模型上下文协议 (MCP) 服务器,使用官方 @modelcontextprotocol/sdk (TypeScript) 构建,将 Solana 代币风险数据作为工具暴露给 AI 代理。
- 源码: app/api/mcp/route.ts
- 文档: app/api/mcp/README.md
- 端点: https://tnt-audit.com/api/mcp(Streamable HTTP 传输)
- 认证: 可选 — 每天前 5 次调用完全不需要 Authorization 请求头。超出后:Authorization: Bearer — 在 tnt-audit.com/risk-api 免费获取密钥
工具
通过 server.registerTool(...) 注册:
| 工具 | 描述 |
| check_token_risk | 针对单个 Solana 代币 mint 的安全评分、内部钱包集群检测、mint/freeze 权限、持有者集中度、实时价格/流动性/交易量 |
| check_token_risk_batch | 与上述相同,但一次调用最多可查询 25 个 mint |
| get_token_risk_history | 某个 mint 最多 90 天的每小时历史风险/价格数据 |
完整的工具 schema 和输入参数:app/api/mcp/README.md。
本地开发
npm install
npm run dev
打开 http://localhost:3000
部署
可直接部署到 Vercel。已连接到此仓库的 main 分支以进行自动部署。
链接: X @RiskDataApiSol | Risk-Data API | Telegram预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
menantonio83-hue/tnt-house
追踪代币钱包集群与资助来源,输出安全评分
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,173已汉化DeepSeek 客户端
74.4
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,197已汉化DSH
71.7
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,308已汉化DSH
71.3
智能体运行框架路由HarnessRouter/harnessrouter
智能体运行框架的统一接口。
★ 3,897已汉化DSH
71.2