首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Java代码中使用Fortify注释?

如何在Java代码中使用Fortify注释?
EN

Stack Overflow用户
提问于 2020-12-02 16:44:02
回答 1查看 2.8K关注 0票数 1

我有一个关于使用Fortify代码注释的名称和语法的问题。

短的、短的、非常短的版本是:I正在寻找一个指南/手册,它将列出可用的代码注释,并为它们的预期使用提供一个示例。专门用于具有一组"SQL“和"SQL : Persistence”的问题,这些问题从Fortify扫描结果中省略了。

TL;DR;详细信息:

19.1.0

  • Platform: Java 8;Web (WebLogic12.2.1.4.0 (12c));Redhat Unix

  • Fortify问题: SQL (WASC-19)

  • Additional信息:代码作为web application.

的一部分存在

“可疑”输入字符串从客户端到达,然后成为DDL语句的一部分("ALTER .“)这“不能更改”,DDL语句不能参数化

清理输入字符串是非常容易的。(7个字符)字符串通过Regex解析器:Pattern.compile(HARDCODED_REGEX_CONSTANT).matcher(suspectString);提供。

使用通过regex解析器发送输入的带注释的方法声明也是验证的一部分,例如@Pattern(regexp=HARDCODED_REGEX_CONSTANT)

这两种方法都不足以用于Fortify。

此外,还根据已知的有效值对可疑输入字符串进行验证(从数据库中提取这些值,因此Fortify还发现这些值也是“可疑的”)。

当然,对于Fortify扫描,所有这些都不是令人满意的。

创建和存储代码外部并应用于扫描结果的自定义规则,由于“原因”而“无法工作”。我不能充分或简短地解释为什么这个简单的解决办法被拒绝。可以说,在Fortify扫描之前创建一组用于导入的“假阳性”是“非选项”,也不是将“已知问题”标记为“非问题”。

在代码中放置“忽略此”注释也不满足目标状态。最终的评估是,问题仍然存在于扫描结果中,这是至关重要的,因此必须得到解决。

重申请求:我希望放置一个注释(或其他代码构造)(例如,@FortifyValidate,,@Fortify?????,等等)。在问题被Fortify扫描标记的点。

我找不到一个足够的指南/手册在线,将列出可用的代码注释,并为他们的预期使用提供一个例子。特别用于在Fortify扫描结果中省略一组“Scan”和“Scan: Persistence"问题。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-12-10 16:26:13

尽我所能回答我自己的问题。

我得出的答案是使用Fortify注释。然而,这并不是“应该”解决Fortify问题的首选方法。首选的识别、缓解和解决方法是通过审计工作台和Fortify软件安全中心进行的,该中心集成到支持的测试和QA过程中。微观焦点提供了如何对此过程进行建模的概述。https://www.microfocus.com/documentation/fortify-static-code-analyzer-and-tools/1810/AWB_Guide_18.10.pdf

这种类型的开发环境对我来说是不可用的。

所以,关于黑客:

我在网上找到的唯一文档是:https://community.microfocus.com/t5/Fortify-User-Discussions/Using-Fortify-Java-Annotations/td-p/1500577 --它有几个拼写错误,但对于将Fortify注释库集成到现有的maven项目中并将注释放入代码中是非常准确和有用的。

注意事项:页面从2014年开始,引用的Fortify版本为4.00。确保使用当前的Fortify版本。其次,Fortify 19.1.0中有2个jar文件包含注释定义。他们是FortifyAnnotations-CLASS.jarFortifyAnnotations-SOURCE.jar。我选择重命名-CLASS.jar并使用它,而不是混乱构建过程。

一旦导入或添加到类路径中,使用注释移除特定的“污染”@FortifyXSSValidate或通用的综合验证@FortifyValidate是一件很简单的事情。

当使用自定义代码来确保有效性时,使用@FortifyValidate("return")注释是非常有用的。

我建议使用尽可能简洁的注释来防止Fortify标记缓解的问题。我还建议放置一些内联注释或文档,详细描述为什么会放置注释,以及究竟是什么使其放置成为可行的解决方案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65112402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档