国内発のNFTプロジェクトやDappsが増えている昨今、新しくプロジェクトを立ち上げようとしている方も多いでしょう。
しかし、立ち上げを急ぐあまりに不完全なスマートコントラクトで提供を開始してしまうと、ハッキングなどの被害を受けてしまう可能性が高くなります。
プロジェクトを世に出す前に、スマートコントラクト監査を受けることをおすすめします。
この記事では、スマートコントラクト監査の概要や必要性について解説し、サービスを提供している日本企業を紹介します。
この記事のザックリ要約!
✅スマートコントラクト監査でセキュリティの脆弱性を調査、修正できる
✅脆弱性を残したままだとプロジェクトが頓挫するほどの損失につながる可能性も
✅日本語で利用できる「Hi AUDIT」「SuperAudit」「脆弱性診断」を紹介
すでに展開しているNFTやアプリでも実施できるサービスなので、ハッキング対策を万全にしたい方は本記事を読んでみてください。
スマートコントラクト監査とは?
スマートコントラクト監査とは、Web3アプリやトークンに使われているスマートコントラクトに問題がないかチェックするサービスです。
スマートコントラクトは、Solidityなどのプログラミング言語で書かれたコードによりブロックチェーン上で動く仕組みで、仮想通貨やNFTにも実装されているものです。
送金や売買といった取引を自動的に処理できるメリットがありますが、悪意あるコードが仕込まれている可能性があります。
悪意がないコードだとしても、外部からの攻撃に対して無防備であれば、資産を抜き取られてしまうかもしれません。
こうした問題を未然に防げるよう、スマートコントラクトの安全性や脆弱性を調べるスマートコントラクト監査が利用されています。
自動スキャンツールも存在する
スマートコントラクト監査は専門家によるものが一般的ですが、自動的にスキャンするツールも存在します。
たとえば、Quantstamp社のSmart Contract Scansなどが挙げられます。
スキャンツールを利用すれば、人力よりも低価格で手軽に監査を受けることが可能です。
ただし、監査できるプログラミング言語のバージョンが限られていたり、製作者の意図を汲み取った監査ができなかったりといったデメリットもあります。
複雑な処理をするアプリであれば、スキャンツールより専門家による監査を受けるべきでしょう。
監査を受けるべき2つの理由
独自の機能を備えたスマートコントラクトを実装する際には、スマートコントラクト監査のサービスを利用するべきです。
大型のプロジェクトにかかわるアプリやトークンであれば、尚更です。
監査サービスを受けるべき2つの理由を、以下で解説します。
発生したトラブルを解決するのは難しい
ブロックチェーンでの取引(=トランザクション処理)はもとに戻せないため、トラブルが一度発生してしまうと解決は困難です。
ハッキングなどで資金を抜き取られてしまったら、絶対に返ってこないと考えたほうがよいでしょう。
また、ハッキングされた事実を知ったユーザーが離れていくことで、プロジェクトの存続さえ危うくなります。
プロジェクトが致命的なダメージを受けないよう、アプリやトークンを展開する前に監査を受け、スマートコントラクトを完璧に仕上げるべきだといえます。
プロジェクトの安全性を保証できる
スマートコントラクト監査で問題がないことを確認できれば、そのプロジェクトがスキャム(詐欺)ではないとユーザーに伝えるための材料になります。
Web3のプロジェクトは詐欺プロジェクトで溢れているため、ユーザーは信頼性の低いプロジェクトを敬遠するのが一般的です。
とくに、知名度が低いプロジェクトを展開するのであれば、スキャムではないと伝えられなければユーザーは集まりにくいでしょう。
ユーザーの信頼感を高めるために、絶対に不備がないと確信できるスマートコントラクトでも監査に出したほうがよいかもしれません。
スマートコントラクトに対する攻撃の実例
スマートコントラクトに不備があるとどういった影響があるのか、想像するのは難しいかもしれません。
そこで、スマートコントラクトの問題によって発生した可能性のあるハッキングの事例を3つ紹介します。
身近な事例も含まれているので、完全でないスマートコントラクトの危険性が理解できるでしょう。
Solanaウォレットからの流出
2022年8月3日頃、Solanaネットワークで利用されているウォレットがハッキングされる事件が起こりました。
被害を受けたウォレットの数は9000を超え、総額600万ドル(約8.2億円)もの資金が流出したとのことです。
この事件の発端は、Solanaウォレットの1つ「Slope」にありました。
作成したウォレットの秘密鍵を処理する際に、暗号化しないままログに残っていたことが流出の原因と見られています。
(参考)あたらしい経済|ソラナ(Solana)ハッキング続報、原因はSlopeウォレットか、SOL価格にほぼ影響せず
(参考)コインテレグラフジャパン|「Slope」ウォレットへのハッキング、ブロックチェーン監査企業が秘密鍵流出の経緯を調査中
DeFiサービスへのハッキング攻撃
異なるブロックチェーン間で仮想通貨やNFTをブリッジできる相互運用プロトコル「Wormhole」が、ハッキング被害を受けたことを2022年2月3日に発表しました。
被害額は12万wETH(約373億円)にも上り、DeFiプロトコルの被害としては過去最大だったといわれています。
ハッキングの原因となったのは、ETHをほかのブロックチェーンにブリッジする際の、wETHをミントするプロセスにあった脆弱性です。
ちなみに、Wormhole以外のDeFiでもブリッジの脆弱性を悪用したハッキングがおこなわれており、2年の間に25億ドル(約3500億円)が盗まれていると報告されています。
(参考)あたらしい経済|ブリッジプロトコル「Wormhole」、ハッキングで約373億円相当流出。DeFiでは過去最大額
(参考)コインテレグラフジャパン|DeFiハッキングの半数がクロスブリッジが原因
NFTの貫通ミント
NFTのコントラクトに不備があり、ミント販売時に貫通された事例はあとを絶ちません。
NFTの貫通とは、ホワイトリストなどで購入者を限定しているにもかかわらず、対象外であるはずの人がミントしてしまうことを指すスラング用語です。
たとえば、2022年4月にNBAが発行したNFTコレクション「The Association」には回数制限の検証方法に欠陥があったため、攻撃者1人によって100個のNFTが生成されました。
(参考)NEXT MONEY|NBAは深刻な脆弱性を理由にNFTコレクションの作成を一時停止
ほかにも、「ShikibuWorld」の不正ミントや、「NEN STUDIO」の対象外ミントなど、規模の大小に関係なく貫通が発生しています。
こうした事件はミントした側が悪意を持っているため発生しますが、脆弱性を残したまま販売しようとしたプロジェクト側が悪いという意見も多いようです。
上記のような事件が発生しないよう、プロジェクトを進める前にスマートコントラクト監査を実施して万全の状態に整えましょう。
監査の流れ
監査の内容をザックリまとめると、以下の流れになります。
1. 監査チームとの打ち合わせ
2. 監査が終わるまで待つ
3. 監査結果のレポートを受け取る
それぞれの具体的な内容を以下で解説していきます。
監査チームと打ち合わせをする
スマートコントラクトのチェックを始める前に、下記の点について打ち合わせをします。
・プロジェクトの概要や意図をヒアリング
・調査するコードの範囲を確認
・監査料金を確定
監査チームがプロジェクトについて把握していなければ、コントラクトの動作が正しいかどうかを判断できません。
そのため、意図しているプロジェクトの全体像を、打ち合わせの時点で詳細に伝える必要があります。
また、監査の料金はスマートコントラクトの範囲や数によって決められるため、事前に指定しなければなりません。
金額は数万~数億円とケースバイケースなので、打ち合わせのうえで監査を受けるか検討するのもよいでしょう。
監査結果を待つ
打ち合わせが終わると、スマートコントラクトのチェックが始まります。
チェックにはおよそ1〜数週間かかることを踏まえたうえで、今後のプロジェクトの進め方を考えましょう。
なお、監査中に判断が難しいコードが見つかった場合など、監査チームから確認の連絡が来ることがあるようです。
監査チームから調査結果が報告される
監査が終了すると、チェックポイントがまとめられた監査レポートが渡されます。
監査レポートには、問題のある場所や重要度、修正方法などが書かれています。
レポートを参考にしながらスマートコントラクトを修正し、完全なコードに仕上げましょう。
ちなみに、監査サービスによっては監査レポートのサンプルをホームページで閲覧できます。
監査されるポイント
スマートコントラクト監査でよくチェックされるポイントは次の3点です。
・スマートコントラクトの脆弱性
・ガス効率
・プラットフォームのセキュリティ欠陥
細かい項目は監査チームによって異なるため、打ち合わせの際にチェック項目を把握するようにしましょう。
スマートコントラクトの脆弱性
スマートコントラクト監査でチェックされるポイントのほとんどは、セキュリティの脆弱性に関する項目です。
悪意ある攻撃をシミュレートすることで、以下のような問題がないか確認します。
・再帰的な呼び出しによるデータの齟齬
・オーバーフロー・アンダーフローによる整数値の誤り
・販売前の取引可能性
実際には数十~数千の脆弱性をチェックします。
チェックする項目が多いほど高額になりやすい傾向があるので、監査を依頼する際はバランスを考えるようにしましょう。
ガス効率
監査サービスによってはガス効率もチェック対象に含まれており、効率的なコードでガス代を最適化できているか調べられます。
コードが不適切な場合、複雑な処理でガス代が高くなったり、取引に失敗しやすくなったりする可能性が高くなります。
とくに、ガス制限を低くしすぎるとガス代だけ払って取引が成功しない状態になるので、スキャム扱いされてしまうでしょう。
プラットフォームのセキュリティ欠陥
監査されるのはスマートコントラクトだけでなく、関連するプラットフォームやAPIも含まれます。
いくらスマートコントラクトが完璧でも、脆弱なAPIがハッキングされては意味がありません。
URLを改ざんされて偽サイトに誘導されるといった可能性も考えられます。
スマートコントラクト外からの攻撃を防ぐため、プラットフォーム全体をチェック対象にして徹底的に調査してもらいましょう。
日本向けに監査サービスを提供している企業
ここでは、スマートコントラクト監査サービスを提供している企業のうち、日本で利用しやすい3社のサービスを紹介します。
スマートコントラクト監査のサービスを提供している企業は多いですが、日本語に対応していないところでは日本語のレポートを作ってもらえません。
英語でのコミュニケーションが困難であれば、ここで紹介する企業を利用するとよいでしょう。
英語でも問題ないのであれば、Quantstampやastra、Hackenなども検討してみてください。
TECHFUND社
(Hi AUDIT)
東京に本社を構えているTECHFUND社は、ハイスピードでクオリティの高いセキュリティ監査サービス「Hi AUDIT」を提供しています。
30以上の項目をチェックし、3日で監査を完了させることも可能です。
とくに注目したいポイントは、脆弱性のレベルと数によって監査費用が決められる報酬体系。
問題のないスマートコントラクトであれば監査費用が安くなるため、納得しやすい価格で監査を受けられます。
TECHFUNDの監査サービスを受けたプロジェクトの例として、日本初のブロックチェーンゲーム「MyCryptoHeroes」や、NFT管理サービス「N Suite」が挙げられます。
(参考)PR TIMES|世界一位を記録した日本初のブロックチェーンゲーム「My Crypto Heroes (マイクリプトヒーローズ / マイクリ)」のセキュリティ監査をTECHFUNDが実施完了
(参考)PR TIMES|double jump. tokyoが提供するNFT管理サービス「N Suite」のセキュリティ監査をTECHFUNDが実施完了
MonoBundle社
複数のブロックチェーンに対応したNFTインフラ「Hokusai」を提供しているMonoBundle社も、監査サービスの提供を開始しました。
MonoBundle社の監査サービス「SuperAudit」では、NFTプロジェクトとDeFiプロジェクトのコード監査に対応しています。
監査結果がNFTとして発行されるのが大きな特徴で、SuperAuditの監査を受けたことをNFTによって証明することが可能です。
依頼する内容によって、監査期間は2週間〜1ヶ月半程度かかるようです。
(参考)日本経済新聞|ブロックチェーン監査、NFTで証明 モノバンドル
IERAE社
(GMOサイバーセキュリティ by イエラエ|サービス詳細)
GMOサイバーセキュリティとして数々の脆弱性診断を取り扱っているIERAE(イエラエ)社は、NFT・ブロックチェーンのチェックもおこなっています。
以下のようなサービスを提供しており、顧客にあわせて各種診断の組み合わせを提案してもらえます。
・アーキテクチャレビュー
・スマートコントラクト・ソースコード診断
・クラウド診断
・モバイルアプリ診断
・API診断
幅広くインターネット事業を手掛けているGMOインターネットグループ社が関わるサービスなので、安心して利用できるでしょう。
まとめ:スマートコントラクト監査を検討してみよう
コントラクトのコードが膨大で複雑なほど全体を把握しづらくなるので、スマートコントラクト監査の必要性が高まります。
脆弱性を問題視するユーザーを納得させるためにも、監査の実施を検討してみてください。
ただ、個人で制作したNFTのように規模の小さいものは、金銭がかかるというデメリットのほうが勝るかもしれません。
監査を受けるほどではないもののセキュリティ面が気になるという場合は、thirdwebなどのプラットフォームを利用してNFTを発行するのも1つの手でしょう。