java - jaxb:如何影响恶意代码生成
问题描述
使用 SAST 工具进行静态代码分析,我们在 jaxb 生成的代码中获得了安全发现,在 getter 和 setter 方法中声称“将可变对象传递给不受信任的方法”(CWE-374)。建议是在将对象的引用传递给调用者之前克隆对象。
但是我们如何在生成的代码中处理类似的问题呢?jaxb有选项吗?
解决方案
我不知道会影响特定代码生成的自定义选项。
我知道有两种选择效果很好:
- 实现一个 JAXB 插件。该插件可以在发出之前修改标准生成的代码,或者生成额外的代码来实现所需的功能。有很多 JAXB 插件示例可以帮助您入门,但详细信息超出了 StackOverflow 上的单个问题的范围。
- 对生成的代码进行后处理,例如使用 maven replacer 插件。如果您可以编写一个正则表达式来匹配您想要在生成的类中重写的代码,这将是快速和简单的。
我们目前利用这两种方法来管理我们生成的代码。
我们尚未实现的另一种可能性是向您有兴趣调整的方法添加注释(可以使用现有的开源 JAXB 插件完成)并使用其他技术来影响代码/执行(例如,注释处理器、AOP工具)。
推荐阅读
- c++ - 如何处理与 sobel-kernel 卷积后的输出值
- python - 在 lambda 中使用 __iadd__?
- node.js - 如何在没有第三方身份验证提供商的情况下进行移动应用 + REST API 身份验证?
- python - 在Python中运行整个程序后如何重复程序?
- python - Python:如何解开循环数据以消除不连续性?
- html - 如何更新 asp:detailsview
- amazon-rekognition - Amazon Rekognition 是否只需要一张图像来识别人脸?
- java - Apache Kafka 获取特定主题的消费者列表
- c# - 为什么射击和动画只适用于一个 npc 而不是第二个重复的 npc?
- vba - 格式化的自动编号文本没有从一种形式复制到另一种形式