サービス概要
スマートコントラクトのコードだけでなく、プロトコル設計、管理権限、アップグレード、オラクル、鍵の運用、フロントエンドやバックエンドとの連携まで確認します。対象のチェーン、言語、開発段階、扱う資産に合わせて脅威を整理し、静的解析、コードレビュー、テスト、PoCを組み合わせて検証します。
資産移動や状態変更を伴う確認は、原則としてテストネット、ローカル環境、フォークした検証環境で行い、実際の資産へ影響を与えない方法を設計します。
対象例
- トークン、NFT、マーケットプレイス、ステーキング
- DeFi、ブリッジ、交換、貸借、決済などのプロトコル
- DAO、投票、権限管理、アップグレード機構
- オラクル、署名サービス、リレイヤー、管理用ウォレット
- Web3フロントエンド、バックエンドAPI、インデクサー
- 配備前のコード、更新予定のコントラクト、稼働中プロトコルの変更部分
主な検証観点
コードと状態遷移
Reentrancy(再入)、外部呼び出し、アクセス制御、初期化、例外処理、DoS、資産のロック、アップグレード時のストレージ整合性などを確認します。
署名と権限
署名対象と有効範囲、リプレイ耐性、nonce、管理者権限、マルチシグ、緊急停止、鍵を失った場合の影響を確認します。権限を持つアカウントが侵害された場合の被害も検討します。
数値と経済的な攻撃
精度・丸め、価格とオラクル、流動性、フラッシュローン、フロントランニング、インセンティブ設計を確認し、仕様上は正しい取引の組み合わせで不正な利益を得られないか検証します。
オンチェーン/オフチェーン連携
フロントエンド、API、署名サービス、監視・運用処理との境界を確認します。コントラクトが安全でも、入力データや管理経路の不備から資産へ影響しないかを検証します。
攻撃・リスクの具体例
- 外部呼び出し中の再入によって残高や状態を不正に更新できる
- 署名を別のチェーン、コントラクト、操作で再利用できる
- 一時的な価格操作によって過大な借入や報酬取得ができる
- アップグレードや初期化の権限を取得し、実装や設定を変更できる
- 丸め誤差や繰り返し操作を利用して資産を継続的に増減できる
進め方と成果物
アーキテクチャ、ソースコード、配備情報、テスト、権限構成、想定する利用手順と不変条件を確認します。報告書には、該当コード、再現テストまたはPoC、資産と運用への影響、原因、修正案を記載し、修正後の確認方法も整理します。