[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-deep-evm-19-property-based-testing-fuzzing":3},{"article":4,"author":56},{"id":5,"category_id":6,"title":7,"slug":8,"excerpt":9,"content_md":10,"content_html":11,"locale":12,"author_id":13,"published":14,"published_at":15,"meta_title":16,"meta_description":17,"focus_keyword":18,"og_image":19,"canonical_url":19,"robots_meta":20,"created_at":15,"updated_at":15,"tags":21,"category_name":35,"related_articles":36},"d4000000-0000-0000-0000-000000000119","a0000000-0000-0000-0000-000000000042","Deep EVM #19：スマートコントラクトのプロパティベーステスト — Foundryでのファジング","deep-evm-19-property-based-testing-fuzzing","Foundryを使用したスマートコントラクトのプロパティベーステストとファジングを探求。ファズ入力、不変量テスト、Huff・Yul・Solidityの差分テスト。","## ファジングがユニットテストで見逃すバグを捕捉する理由\n\nユニットテストは特定のシナリオを検証します。しかし、スマートコントラクトは任意のアドレスから、任意の値で、任意の順序で敵対的入力に直面します。\n\nプロパティベーステストはパラダイムを反転させます。特定の入力に対する期待出力を指定する代わりに、すべての入力に対して成り立つべきプロパティを定義し、ファザーが反例を見つけようとします。\n\n## 不変量テスト：ステートフルファジング\n\nファザーがランダムな順序で関数シーケンスを呼び出し、各呼び出し後に不変量が成り立つかチェック。\n\n## ファジングで発見された実際のバグ\n\n1. HuffERC20のファントムオーバーフロー\n2. 自己転送でのダブルスペンド\n3. ゼロアドレスへの転送でのトークンバーン\n\n## まとめ\n\nファジングは「この10ケースで動くか？」を「100,000のランダム入力で壊せるか？」に変換します。コンパイラがセーフティネットを提供しないHuffとYulのコントラクトには、ファジングはオプションではなく主要な防御です。","\u003Ch2 id=\"\">ファジングがユニットテストで見逃すバグを捕捉する理由\u003C\u002Fh2>\n\u003Cp>ユニットテストは特定のシナリオを検証します。しかし、スマートコントラクトは任意のアドレスから、任意の値で、任意の順序で敵対的入力に直面します。\u003C\u002Fp>\n\u003Cp>プロパティベーステストはパラダイムを反転させます。特定の入力に対する期待出力を指定する代わりに、すべての入力に対して成り立つべきプロパティを定義し、ファザーが反例を見つけようとします。\u003C\u002Fp>\n\u003Ch2 id=\"\">不変量テスト：ステートフルファジング\u003C\u002Fh2>\n\u003Cp>ファザーがランダムな順序で関数シーケンスを呼び出し、各呼び出し後に不変量が成り立つかチェック。\u003C\u002Fp>\n\u003Ch2 id=\"\">ファジングで発見された実際のバグ\u003C\u002Fh2>\n\u003Col>\n\u003Cli>HuffERC20のファントムオーバーフロー\u003C\u002Fli>\n\u003Cli>自己転送でのダブルスペンド\u003C\u002Fli>\n\u003Cli>ゼロアドレスへの転送でのトークンバーン\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2 id=\"\">まとめ\u003C\u002Fh2>\n\u003Cp>ファジングは「この10ケースで動くか？」を「100,000のランダム入力で壊せるか？」に変換します。コンパイラがセーフティネットを提供しないHuffとYulのコントラクトには、ファジングはオプションではなく主要な防御です。\u003C\u002Fp>\n","ja","b0000000-0000-0000-0000-000000000001",true,"2026-03-28T10:44:27.255627Z","スマートコントラクトのプロパティベーステスト — Foundryでのファジング","スマートコントラクトのプロパティベーステストとファジングの詳細。ファズ入力、不変量テスト、Huff vs Yul vs Solidityの差分テスト。","スマートコントラクト ファジング foundry",null,"index, follow",[22,27,31],{"id":23,"name":24,"slug":25,"created_at":26},"c0000000-0000-0000-0000-000000000016","EVM","evm","2026-03-28T10:44:21.513630Z",{"id":28,"name":29,"slug":30,"created_at":26},"c0000000-0000-0000-0000-000000000017","Huff","huff",{"id":32,"name":33,"slug":34,"created_at":26},"c0000000-0000-0000-0000-000000000013","Security","security","ブロックチェーン",[37,44,50],{"id":38,"title":39,"slug":40,"excerpt":41,"locale":12,"category_name":42,"published_at":43},"d0000000-0000-0000-0000-000000000671","2026年、なぜBaliは東南アジアのインパクトテックハブになりつつあるのか","naze-bali-2026-tonan-ajia-inpakuto-tekku-habu","Baliは東南アジアのスタートアップエコシステムで第16位にランクイン。Web3ビルダー、AIサステナビリティスタートアップ、エコトラベルテック企業が集積し、この島は地域のインパクトテック首都としてのニッチを確立しつつあります。","エンジニアリング","2026-03-28T10:44:49.081179Z",{"id":45,"title":46,"slug":47,"excerpt":48,"locale":12,"category_name":42,"published_at":49},"d0000000-0000-0000-0000-000000000670","ASEANデータ保護パッチワーク：開発者のためのコンプライアンスチェックリスト","asean-deta-hogo-pacchiwaku-kaihatsusha-kompuraiansu-chekkurisuto","7つのASEAN諸国が包括的なデータ保護法を有し、それぞれ異なる同意モデル、ローカライゼーション要件、罰則構造を持っています。マルチカントリーアプリケーションを構築する開発者のための実用的なコンプライアンスチェックリストです。","2026-03-28T10:44:49.074910Z",{"id":51,"title":52,"slug":53,"excerpt":54,"locale":12,"category_name":42,"published_at":55},"d0000000-0000-0000-0000-000000000669","Indonesiaの290億ドルデジタルトランスフォーメーション：ソフトウェア企業のチャンス","indonesia-290oku-doru-dejitaru-toransufomeshon-sofutowea-kigyo-chansu","IndonesiaのITサービス市場は2026年に290.3億ドルに達すると予測されており、2025年の243.7億ドルから増加します。クラウドインフラ、AI、電子商取引、データセンターが東南アジアで最も速い成長を牽引しています。","2026-03-28T10:44:49.055660Z",{"id":13,"name":57,"slug":58,"bio":59,"photo_url":19,"linkedin":19,"role":60,"created_at":61,"updated_at":61},"Open Soft Team","open-soft-team","The engineering team at Open Soft, building premium software solutions from Bali, Indonesia.","Engineering Team","2026-03-28T08:31:22.226811Z"]