この講義では、Java におけるバイナリシリアライゼーションのリスクを解説します。信頼できないソースからのデシリアライズがなぜ危険なのか(「gadget chain」、RCE)、
readObject や
readResolve のような特別なメソッドがもたらす脅威、そしてどのように防御するか(ホワイトリスト方式、
JSON/
XML への切り替え、
Jackson のような安全なライブラリ)。クラスのバージョン互換性と
serialVersionUID フィールドの役割、
InvalidClassException の挙動、
transient/
static の制約、パフォーマンス、さらにベストプラクティスと典型的なミスについても詳しく説明します。