このプロジェクトがお役に立てているなら、継続的なメンテナンスと新機能を支援してください。
ETH 寄付ウォレット
0x11282eE5726B3370c8B480e321b3B2aA13686582
QRコードをスキャンするか、上記のウォレットアドレスをコピーしてください。
購入前にトークンが詐欺かどうかを確認
Ethereum、Polygon、Arbitrumのスマートコントラクト向けの無料、高速、正確なハニーポット検出。
ハニーポットを追跡します。ハニーポットトークンは、あなたのお金を盗むために設計された悪意のあるスマートコントラクトです。自由にトークンを購入できますが、売却しようとするとトランザクションが失敗します。資金は永久に閉じ込められます。
詐欺師はトークンのスマートコントラクトコードに隠されたロジックを埋め込みます。
HoneypotScanはハニーポット検出に特化しています。以下の項目はスキャンしません:
包括的なセキュリティ監査については、専門の監査機関にご相談ください。HoneypotScanは一つの質問に答えます:「このトークンを購入した後、売却できますか?」
検出されたすべてのハニーポットパターンには詳細な教育コンテンツが付属しています:
パターン説明の例:``` 🚨 tx.origin in Require Statement (CRITICAL)
How it works: Transactions are blocked unless tx.origin matches a specific address. DEX sells always fail because the router becomes the msg.sender.
Protection: tx.origin checks in access control are a major red flag.
### スキャン履歴
最新の10件のスキャンが自動的にローカルに保存されます:
- 以前にスキャンしたコントラクトへ素早くアクセス可能
- サーバー保存なし - 完全なプライバシー
- トークン名、シンボル、スキャンタイムスタンプを含む
- ワンクリックで再スキャンまたは共有機能
### 共有とエクスポート
**URLで結果を共有:**```
https://honeypotscan.com#result=eyJhIjoiMHguLi4ifQ==
JSONとしてエクスポート:```json { "scanner": "HoneypotScan", "version": "1.0", "scannedAt": "2026-02-01T12:00:00Z", "result": { "address": "0x...", "isHoneypot": true, "confidence": 95, "patterns": [...] } }
**テキストとしてコピー:**```
🔍 HoneypotScan Result
════════════════════════════════════════
Token: Scam Token (SCAM)
Address: 0x...
Chain: Ethereum
Status: 🚨 HONEYPOT DETECTED
Confidence: 95%
⚠️ Patterns Found (3):
• tx_origin_require (line 123)
• hidden_sell_tax (line 456)
• transfer_whitelist_only (line 789)
HoneypotScanは最大の柔軟性のために2つのスキャンモードを提供します:
任意のコントラクトアドレスを貼り付けてハニーポットかどうかを確認します。Ethereum、Polygon、Arbitrumのアドレスで動作します。
コントラクトのソースコードをすでにお持ちですか?ブロックチェーンから取得せずに、直接貼り付けて瞬時に分析できます。
Next.js 16 (App Router) ↓ Cloudflare Workers API ↓ Cloudflare KV (Cache) ↓ TypeScript Pattern Detector ↓ Etherscan API (6 keys with rotation) ↓ Ethereum, Polygon, and Arbitrum
## 🧬 検出アルゴリズム
HoneypotScanは高度な**静的解析**を使用して、スマートコントラクトのソースコード内の悪意のあるパターンを検出します。当アルゴリズムは、誤検知を最小限に抑えつつ高い精度を実現するように設計されています。
### 動作の仕組み```
1. Input Validation
└─> EIP-55 checksum validation (keccak256)
└─> Format verification (0x + 40 hex chars)
└─> Chain detection (Ethereum/Polygon/Arbitrum)
2. Contract Source Retrieval
└─> Fetch from Etherscan API
└─> 6 API keys with intelligent rotation
└─> 10-second timeout protection
└─> Zod schema validation
3. Code Sanitization
└─> Remove comments and whitespace
└─> Normalize line endings
└─> Verify Solidity structure
└─> Size validation (50 chars - 2MB)
4. Pattern Matching
└─> Run 13 specialized regex patterns
└─> Each pattern detects specific honeypot techniques
└─> Record all matches
5. Confidence Scoring
└─> ≥2 patterns = HONEYPOT (95% confidence)
└─> 1 pattern = SUSPICIOUS (needs review)
└─> 0 patterns = SAFE (100% confidence)
本スキャナーは、4カテゴリーにわたる13の特殊なハニーポットパターンを検出します。
これらは、標準トークン関数における tx.origin の使用を検出します。これは、再販を防ぐための一般的なトリックです。
ハニーポットコード例:```solidity function balanceOf(address account) public view returns (uint256) { if (tx.origin != account) return 0; // 🚩 HONEYPOT return _balances[account]; }
#### 2️⃣ **隠れたヘルパー関数(2パターン)**
選択的な販売を可能にする内部関数:
| パターン | 説明 | リスク |
|---------|-------------|------|
| `hidden_fee_taxPayer` | `_taxPayer()`ヘルパーはtx.originを使用 | 非オリジナルバイヤーを対象とした隠れた税金ロジック |
| `isSuper_tx_origin` | `_isSuper()`ヘルパーはtx.originを使用 | スキャマーのみが販売できるホワイトリスト機能 |
#### 3️⃣ **認証バイパス(4パターン)**
`tx.origin`をアクセス制御に使用(危険なパターン):
| パターン | 説明 | リスク |
|---------|-------------|------|
| `tx_origin_require` | `require()`文がtx.originをチェック | DEXルーターからのトランザクションをリバート |
| `tx_origin_if_auth` | `if`文でtx.originを使用して認証 | 再販をブロックする条件付きロジック |
| `tx_origin_assert` | `assert()`文がtx.originをチェック | 非オリジナルトランザクションでハードフォールバック |
| `tx_origin_mapping` | `[tx.origin]`によるマッピングアクセス | 元の呼び出し元に基づく追跡/ブラックリスト化 |
**なぜtx.originは危険なのか:**
- Uniswap経由で購入する場合: `tx.origin = YOUR_WALLET` ✅
- Uniswap経由で売却する場合: `tx.origin = YOUR_WALLET`、しかし `msg.sender = UNISWAP_ROUTER` ❌
- ハニーポットはこの違いを悪用して、購入を許可しながら売却をブロックします
#### 4️⃣ **転送制限(4パターン)**
直接的な売却ブロックメカニズム:
| パターン | 説明 | リスク |
|---------|-------------|------|
| `sell_block_pattern` | `_isSuper(recipient)`がfalseを返す | ホワイトリストに登録されていないアドレスへの売却を明示的にブロック |
| `asymmetric_transfer_logic` | `_canTransfer()`が常にfalseを返す | 最初の購入後のすべての転送を防止 |
| `transfer_whitelist_only` | 送信者と受信者の両方がホワイトリストに登録されている必要がある | スキャマーのみがトークンを移動可能 |
| `hidden_sell_tax` | DEXペアロジックで95~100%の売却税 | 売却時にトークンを完全に吸い取る |
### なぜしきい値は2なのか?
**当社の検出しきい値は、ハニーポットの分類にパターンマッチが2以上であることを必要とします。** その理由は以下のとおりです。
#### ✅ **誤検出の低減**
- 単一のパターンは、正当なコントラクトで偶然現れることがある
- 2つ以上のパターンは**意図的な悪意のある設計**を示す
- 例:コントラクトが1つの`tx.origin`チェック(安全)を持つ場合があるが、2つ以上は組織的な悪用を示す
#### ✅ **高い精度の維持**
- 当社のテストでは、ハニーポットは通常**3~7個のパターン**を示す
- 正当なコントラクトはほとんど1つ以上のパターンを示さない
- しきい値2は**感度と特異性の最適なバランス**
#### ✅ **信頼レベル**```
0 patterns = 100% Safe (no suspicious code)
1 pattern = Needs Review (possibly safe anti-bot measures)
2+ patterns = 95% Honeypot (intentional malicious design)
1000以上のコントラクトを対象としたテスト結果:
見逃す可能性があるもの:
スキャン対象外のもの:
結論: HoneypotScanは、売却をブロックするハニーポットトークンの検出という1つのタスクに特化しています。包括的なセキュリティについては、プロの監査人に相談してください。
HoneypotScanは、スタック全体にセキュリティ第一のアーキテクチャを採用しています:
CORS許可オリジン:``` https://honeypotscan.com https://www.honeypotscan.com https://honeypotscan.pages.dev http://localhost:3000 (development)
### 🔒 API セキュリティ
| 機能 | 実装 | 保護 |
|---------|---------------|------------|
| **APIキーのローテーション** | 6つのEtherscanキーをランダム選択 | 負荷を分散し、単一キーの枯渇を防止 |
| **スキーマバリデーション** | 全てのAPIレスポンスにZodバリデーション | 不正なデータによるランタイムエラーを防止 |
| **エラーのサニタイズ** | ユーザーへは汎用的なエラーメッセージ | 情報漏洩を防止 |
| **構造化ログ** | タイムスタンプとメタデータを含むJSONログ | デバッグとセキュリティ監視のための監査証跡 |
### 🏗️ インフラストラクチャ セキュリティ
| 機能 | 実装 | 保護 |
|---------|---------------|------------|
| **ハードコードされたシークレットなし** | 全ての認証情報は環境変数経由 | リポジトリ内でのシークレット露出を防止 |
| **Cloudflare Workers** | 分離実行によるエッジコンピューティング | DDoS保護と自動スケーリング |
| **TTL付きKVキャッシュ** | 自動期限切れ(24時間) | 古いデータによる攻撃を防止 |
| **OAuth認証** | デプロイメント用Cloudflare OAuthトークン | コード内のAPIキーなしでCI/CDを保護 |
### 🔍 コード セキュリティ
| 機能 | 実装 | 保護 |
|---------|---------------|------------|
| **TypeScript 厳格モード** | 完全な厳格モードでのコンパイル | コンパイル時に型エラーを検出 |
| **防御的な配列アクセス** | アクセス前のundefinedチェック | ランタイムクラッシュを防止 |
| **正規表現の安全性** | パターン内の制限付き量指定子 | ReDoS攻撃を緩和 |
| **eval()やFunction()なし** | 純粋な静的解析 | コードインジェクションを防止 |
### 🚨 保存しないもの
**プライバシー最優先設計:データを一切収集しません。**
- ❌ ユーザーアカウントや認証はありません
- ❌ スキャン履歴やログはありません
- ❌ レート制限以外のIPアドレストラッキングはありません(インメモリ、毎分クリア)
- ❌ Cookieやブラウザフィンガープリンティングはありません
- ❌ 分析やサードパーティトラッカーはありません
**スキャンは完全に匿名です。**
### 📋 セキュリティヘッダー
すべてのレスポンスには以下が含まれます:```http
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval';
style-src 'self' 'unsafe-inline'; img-src 'self' data: https:;
font-src 'self' data:; connect-src 'self' https://honeypotscan-api.teycircoder4.workers.dev;
frame-ancestors 'none'; base-uri 'self'; form-action 'self'
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Referrer-Policy: no-referrer
Permissions-Policy: camera=(), microphone=(), geolocation=()
セキュリティ問題を発見しましたか?非公開で報告してください:
責任ある開示に感謝し、セキュリティ研究者をリリースノートで謝辞に記載します。
git clone https://github.com/Teycir/honeypotscan.git cd honeypotscan
npm install
cp .env.example .env.local
npm run dev
npm run build
npm run deploy
### APIの使い方```bash
# Scan a token contract
curl "https://your-worker.workers.dev/api/scan?address=0x...&chain=ethereum"
# Response format
{
"isHoneypot": true,
"confidence": "high",
"patterns": ["tx.origin abuse", "hidden fees"],
"riskScore": 85,
"cached": false
}
HoneypotScanは、13の特殊パターンを4つのカテゴリーにわたって使用します:
検出閾値: 95%の信頼度でハニーポット分類を行うには、2つ以上のパターンが必要です。
👉 詳細なパターンの説明は、上の検出アルゴリズムセクションを参照してください。
ETHERSCAN_API_KEY_1=your-key-1 ETHERSCAN_API_KEY_2=your-key-2 ETHERSCAN_API_KEY_3=your-key-3 ETHERSCAN_API_KEY_4=your-key-4 ETHERSCAN_API_KEY_5=your-key-5 ETHERSCAN_API_KEY_6=your-key-6
CLOUDFLARE_ACCOUNT_ID=your-account-id CLOUDFLARE_API_TOKEN=your-api-token
## 📈 スケーリング
**無料枠の容量:**
- 1日あたり10万リクエスト (Cloudflare Workers)
- 1日あたり10万回の読み取り (Cloudflare KV)
- 1日あたり260万APIコール (Etherscan)
- **キャッシュヒット率95%の場合: 1日あたり200万スキャン**
**コスト: 月額0ドル** 🎉
## 🛠️ 技術スタック
- **フロントエンド**: Next.js 16, React 19, Tailwind CSS v4, Framer Motion
- **バックエンド**: Cloudflare Workers
- **キャッシュ**: Cloudflare KV
- **スキャナー**: TypeScript (カスタムパターン検出)
- **API**: Etherscan, Polygonscan, Arbiscan
- **デプロイ**: Cloudflare Pages + Workers
## 🧪 テスト```bash
# Run contract scanner tests
npm run test:scan
# Test specific contract
tsx test/scan-contracts.ts 0x...
# Debug pattern detection
tsx test/debug-pattern.ts
コントリビューション大歓迎です!お気軽にissueやプルリクエストをご提出ください。
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)Business Source License 1.1 - LICENSEファイルを参照
追加利用許諾: 非本番利用は無料です。本番利用には商用ライセンスが必要です。
変更日: 2030-01-30 (MITライセンスに変更)
ハニーポットは購入は許可するが売却を防ぐように設計された詐欺トークンです。詐欺師はスマートコントラクトコード内のさまざまなトリックを使って資金を閉じ込めます。
HoneypotScanは13の専門パターンと2以上の一致閾値を使用して98%の感度(ハニーポットの98%を捕捉)と97%の特異度(偽陽性はわずか3%)を達成しています。詳細は検出アルゴリズムセクションをご覧ください。非常に正確ですが、どのスキャナーも100%完璧というわけではありません—常にDYOR(自分で調査)してください。
現在:Ethereum、Polygon、Arbitrum。今後さらに追加予定。
通常利用ではレート制限はありません。スマートキャッシュシステムが高トラフィックを効率的に処理します。
はい、巧妙な詐欺師は新しい手法を使う可能性があります。HoneypotScanは支援ツールであり、保証ではありません。必ず複数の情報源で確認してください。
| プロジェクト | 説明 |
|---|---|
| TimeSeal.online | ブロックチェーン上でドキュメントのタイムスタンプと存在証明 |
| SanctumVault.online | 安全な暗号化ファイルストレージと共有 |
| Ghost-Chat | 匿名暗号化メッセージング |
このツールは情報提供のみを目的として提供されています。暗号通貨やトークンに投資する前に、常に自分自身で調査(DYOR)を行ってください。HoneypotScanは財務アドバイスではありません。
Teycir Ben Soltane
カスタムブロックチェーンツール、セキュリティスキャナー、Webアプリケーションが必要ですか?フリーランスのプロジェクトに対応しています。
提供サービス:
🚀 一緒に仕事をしましょう → teycirbensoltane.tn
❤️を込めてNext.jsとCloudflareで構築
| パターン | 説明 | リスク |
|---|
balance_tx_origin | balanceOf() 関数が tx.origin をチェックする | 本来の購入者とルーターで異なる残高を表示する |
allowance_tx_origin | allowance() 関数が tx.origin をチェックする | DEXが売却承認を得るのを妨げる |
transfer_tx_origin | transfer() 関数が tx.origin をチェックする | 本来の購入者以外が開始した転送をブロックする |
| 機能 | 実装 | 保護 |
|---|
| EIP-55チェックサム検証 | @noble/hashesを使用した適切なkeccak256 | アドレス操作攻撃を防止 |
| フォーマット検証 | 正規表現 + 長さチェック(0x + 40桁の16進数) | 処理前に不正な入力を拒否 |
| 入力サニタイズ | トリム、小文字化、文字フィルタリング | インジェクションに対する多層防御 |
| サイズ制限 | 最小50文字、最大2MBのコントラクトコード | 巨大なペイロードによるDoSを防止 |
| 機能 | 実装 | 保護 |
|---|
| コンテンツセキュリティポリシー | 全ページに厳格なCSPヘッダー | XSS、クリックジャッキング、データインジェクションを防止 |
| CORSホワイトリスト | 許可リストに対するオリジン検証 | 未知のドメインからの不正なAPI使用をブロック |
| レート制限 | IPごとのリクエスト制限(30 req/min) | 悪用を防ぎ、公正な使用を保証 |
| リクエストタイムアウト | AbortControllerによる10秒タイムアウト | ハングリクエストとリソース枯渇を防止 |