🚫シャローコピーからの情報漏洩の危険性 そのclone本当に安全か? cwe SECしらべ 危険コーディング 1 あたり帳簿 2022年9月24日 11:50 SEC02-J. 信頼できない入力値に基づいてセキュリティチェックを行わない www.jpcert.or.jp clone() メソッドは実装によっては浅いコピー(shallow copy)しか行わず、攻撃に悪用される恐れがある。また、clone() メソッドの実装が攻撃者によって提供されたものである可能性もある。https://www.jpcert.or.jp/java-rules/sec02-j.htmlprivateかつ可変なオブジェクトの内部状態は、ディフェンシブコピーを作成すること。不変データを含む可変フィールドは、浅いコピーで十分である。一般に、可変データを参照するフィールドは、深いコピーを作成する必要がある。https://www.jpcert.or.jp/java-rules/obj05-j.htmlどちらかというと、クローン可能なオブジェクトのほうに留意せよというのが多かったhttps://cwe.mitre.org/data/definitions/498.html対策も簡単で、もう、そういうことやるな、ということらしいクラスをクローン可能にする場合は、cloneメソッドをfinalにしてsuper.clone()を投げるようにしてください。https://cwe.mitre.org/data/definitions/498.htmlhttps://cwe.mitre.org/data/definitions/580.html二つのクラスは super.clone() を呼び出さないことで発生するバグを示します。Kibitzer が clone() を実装しているため、 FancyKibitzer の clone メソッドは FancyKibitzer ではなく Kibitzer 型のオブジェクトを返します。こんな感じかセーブできたからこっちにした Javaセキュアコーディングスタンダード CERT/ Oracle版 amzn.to 4,180円 (2022年09月24日 11:50時点 詳しくはこちら) Amazon.co.jpで購入する ダウンロード copy #Java初心者 #ホワイトハッカー #CWE #セキュアコーディング 1 お願い致します サポート