Fortify помечает строку, похожую на эту
session.setAttribute("foo", "bar")
https://vulncat.fortify.com/en/detail?id=desc.structural.java.j2ee_bad_practices_non_serializable_object_stored_in_session
Здесь есть аналогичный вопрос для .NET, где ответ был «ложный положительный»«потому что документация требует, чтобы значения должны реализовывать ISerializable, а String - нет.Но в J2EE-версии документации он должен реализовывать только Serializable.Какая строка делает.
Проблема в том, что это строковый литерал?Устранит ли следующее сообщение Fortify?
session.setAttribute("foo", new String("bar"))
UPDATE У меня есть три предупреждения Fortify, и все они являются строковыми литералами.Кажется, он не обращает внимания на свойства String, например, следующие передачи:
session.setAttribute("foo", myObject.myString)