jaxb: как повлиять на генерацию вредоносного кода - PullRequest
1 голос
/ 05 марта 2019

Используя инструменты SAST для статического анализа кода, мы получаем данные о безопасности в сгенерированном jaxb-коде, утверждая «Передача изменяемых объектов ненадежному методу» (CWE-374) в методах получения и установки. Предполагается, что клонирование объектов перед передачей ссылок вызывающей стороне.

Но как мы можем справиться с такими проблемами в сгенерированном коде? Есть ли опция в jaxb?

1 Ответ

1 голос
/ 05 марта 2019

Я не знаю ни одного варианта настройки, который бы влиял на эту конкретную генерацию кода.

Мне хорошо известны два варианта:

  1. Реализация плагина JAXB.Плагин может либо изменить стандартный сгенерированный код перед его испусканием, либо альтернативно сгенерировать дополнительный код для реализации желаемой функциональности.Существует множество примеров плагинов JAXB, которые могут помочь вам начать, но подробности выходят за рамки одного вопроса здесь, в StackOverflow.
  2. Постобработка сгенерированного кода, например, с помощью плагина заменителя maven.Это может быть быстрым и простым, если вы можете написать регулярное выражение, которое попадает в код, который вы хотите переписать для ваших сгенерированных классов.

В настоящее время мы используем оба этих подхода для управления нашим сгенерированным кодом.

Другой возможностью, которую мы не реализовали, было бы добавление аннотации к методам, которые вы хотите настроить (что можно сделать с помощью существующих плагинов JAXB с открытым исходным кодом), и использование других технологий для воздействия на код / ​​выполнение (например,процессор аннотаций, инструмент АОП).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...