ネット全体で話題の「最強AI」ChatGPTは、スマートコントラクトの脆弱性を検出できるのか?
著者:Beosin
一夜のうちに、ChatGPTが突然注目を集め、インターネット上で「AIの嵐」を巻き起こしました。
いわゆるChatGPTは、今年の11月30日に人工知能研究所OpenAIによって発表された新しいモデルです。
現在、ユーザーとChatGPTの対話には、普通のチャット、情報相談、詩や作文の作成、コードの修正などが含まれ、ユーザーはChatGPTがGoogleなどの検索エンジンを代替できるのかという疑念を抱くことさえあります。
今日は、爆発的に人気を博しているChatGPTが一体何なのか、そしてスマートコントラクトの脆弱性を検出できるのかを研究してみましょう。
インターネット上で「AIの嵐」を巻き起こしたChatGPTとは何か?
公式サイトによると、計算モデルGPT-3.5をサポートする汎用チャットボットChatGPTは、連続的な質問に答え、自分の誤りを認め、不正確な仮定に疑問を呈し、さらには不合理な要求を拒否することができます。
脚本の執筆、詩の作成、ゲームの設計、プログラムのバグ探し、さらには「人類を滅ぼす」計画の策定に至るまで、このAIができることは想像を超えています。
アメリカの起業家イーロン・マスクは、ChatGPTにTwitterの設計方法を尋ねました。AIは「ユーザーがスレッドのインターネット対話をより簡単に閲覧し、相互作用できるように、線形の一次元インターフェースを二次元の無限グリッドに変換できます」と答えました。
12月5日、OpenAIの創設者兼CEOサム・アルトマンがツイートを発表し、ChatGPTのユーザー数が100万人を突破したと述べました。
多くの人々がチャット機能をテストし、彼らの交流をソーシャルメディアで共有しています。ChatGPTは、テクノロジーの億万長者イーロン・マスクにも深い印象を与えたようで、彼はTwitterで「ChatGPTは恐ろしいほど良い。私たちは危険な強力な人工知能に近づいている」と書きました。
テクノロジー企業Replitの創設者アムジャド・マサドは、ChatGPTにJavaScriptコードを送り、その中のバグを見つけるように依頼しました。彼は「ChatGPTは素晴らしいデバッグパートナーかもしれません。エラーを分析するだけでなく、エラーを修正し、説明も行いました」と述べました。
あるユーザーは、AIの視点から世界を支配するための手紙を書くようChatGPTに依頼しました。
結果は驚くべきものでした。それは著名な人工知能の専門家たちの反応を引き起こし、SF小説の世界の概念を現実に一歩近づけました。
これほど強力で驚異的な言語能力を持つChatGPTは、一瞬で話題の中心に立ち、新たなインターネットのアイドルとなりました。
現在、ChatGPTはまだ無料テスト段階にあり、無制限に一般に開放されています。そのユーザー数が100万人を超えたことを考えると、プラットフォームが負担するコストは少なくありません。しかし、使用中にユーザーが提供するフィードバックはOpenAIにとって最も価値のある情報であり、言語モデルを継続的に訓練し、誤った回答を修正することができます。
「新たなインターネットのアイドル」ChatGPTは、スマートコントラクトを書くことや契約の脆弱性を検出することができるのか?
私たちはChatGPTとの対話を登録し、体験しました。まず、AIに自己紹介をさせました。
彼は「私はAssistant、OpenAIによって訓練された大規模な言語モデルです。私の仕事は、人々がさまざまな質問に答えるのを助け、できる限り正確で詳細な情報を提供することです。歴史、科学、人文、その他のトピックに関するさまざまな質問に答えることができます」と返答しました。
ブロックチェーンセキュリティ会社として、私たちは彼にスマートコントラクトを書くように依頼しました。
簡単な契約を書くことは、ChatGPTにとってそれほど難しいことではないようです。コードが長すぎるため、一部のスクリーンショットを切り取って表示しますが、彼は基本的な知識を理解しているようです。
次に、私たちはChatGPTに相対的に簡単ですが脆弱性のあるスマートコントラクトを渡し、検出してもらいました。部分的なスクリーンショットを切り取って表示します。
すごいことに、ChatGPTは簡単な問題を検出することができました。
この状況を見ると、彼には「二つの技術」があるようです。さあ、さらに難易度を上げてみましょう!
彼がさらに私たちを驚かせると思っていたのですが、彼は「このコードが理解できません」と言いました。
その後、私たちはいくつかの注釈を加え、再度検出を依頼しました。
彼は何かを言いましたが、何も言っていないようでした。
そして、私たちに専門的なセキュリティ監査ツールを使用するか、専門家に監査を依頼することを提案しました。
まあ、私たちはまず、私たちのスマートコントラクト形式的検証ツールBeosin VaaSを使って、先ほどテストしたいくつかの契約を検出しました。VaaSは契約の脆弱性を迅速に検出できることがわかります。
Beosin VaaS製品のスクリーンショット
VaaSはBeosinの主力製品の一つであり、スマートコントラクトに存在する既知および未知の脆弱性やビジネスロジックの問題を自動的に発見し、専門的な修正提案を提供し、開発者がスマートコントラクトのセキュリティ能力を向上させるのを助けます。興味のある方は、検出を比較してみてください。VaaSの試用リンク:https://vaas.beosin.com/
そのほか、私たちの多くの比較を経て、ChatGPTはすべての問題を解決できるわけではないことがわかりました。多くの脆弱性は、監査専門家による厳格な監査が必要です。
例えば、以下の契約の問題では、手数料に制限がなく、ユーザーに高額な手数料をもたらす可能性がありますが、ChatGPTはこれに気づいていませんでした。
さらに、以下のように、transfer関数で、trAmount=2がトリガーされると、10秒以内にすべての転送先アドレスがdevアドレスになります。ChatGPTは依然としてこれを認識できません。
セキュリティを確保するためには、厳格なセキュリティ監査プロセスが必要であり、安全防線を強化する必要があります。
Beosinの監査プロセスは、5つ以上の監査ステップを含み、自動化されたコードセキュリティスキャンとセキュリティ専門家および形式的検証専門家による手動監査を組み合わせています。各ステップは、複数のセキュリティ専門家と形式的検証専門家によって交差操作され、人為的な要因による見落としをできるだけ避けるようにしています。
監査が完了した後、Beosinは発見された問題に関するフィードバックを提供し、そこには脆弱性の説明、再現方法、修正提案などが含まれ、プロジェクト側に提出し、脆弱性の修正を支援します。私たちは膨大なセキュリティ脆弱性データベースを蓄積しており、セキュリティ専門家の豊富なコードセキュリティ監査経験と組み合わせて、プロジェクト側にどのようにコードを修正すべきかを直接伝えることができます。これはChatGPTよりもはるかに優れています!
最後に、形式的検証専門家は、セキュリティ監査専門家が抽出したセキュリティ問題を厳密な数理論理で抽象化し、再利用可能なセキュリティ属性不変量として混合機械エンジンに渡し、自動検出、テスト、検証を行います。実践的な証明により、これらの再利用可能なセキュリティ属性不変量は、スマートコントラクト内の新しい微妙な脆弱性を効果的に発見することができます。
どうやら、私たちはしばらくの間、ChatGPTのロボットに取って代わられることはなさそうです。
もちろん、私たちがChatGPTに注目しているとき、より考え、探求すべきは、彼の人気の背後にある情報です。彼が示す人工知能は、もしかしたら全く新しい発展段階に入っているかもしれません。テクノロジーは徐々に世界を変えています。