开源工具Nika:开源代码分析工具

网络应用程序中许多严重的安全错误同时存在多个文件。请求数据通过控制器进入,通过数据对象和服务层移动,并且只有在到达数据库查询或文件操作等敏感操作时才会变得危险。一次读取一个文件的扫描仪可能会完全错过该路径。

尼卡开源代码分析

Nika是支付公司PhonePe的开源工具,致力于解决Java微服务的这个问题。它执行跨文件污染分析,跨应用程序层跟踪攻击者控制的输入,以找出该输入是否到达安全敏感的汇。

许多可利用的问题在单个文件中保持不可见。危险只出现在数据传播的路线上,因此审查员需要查看整个路线。Nika追踪了跨文件和函数的数据流,这让安全工程师判断可疑路径在实践中是否可访问。

分析如何运作

该工具读取目标存储库并构建捕获代码结构、控制流和数据流的分析表示。从那里,它定位攻击者控制的输入进入应用程序的源,然后定位发生安全敏感操作的汇。接收器可能是数据库查询、文件操作、模板引擎、反射呼叫或出站網路請求。交叉文件和程序间分析跟踪输入是否可以从源传输到汇。输出是JSON报告的HTML,显示脆弱路径、受影响的代码位置和补救上下文。

它检测到什么

Nika涵盖了11个漏洞类别。这些包括SQL注入、服务器端请求伪造、路径遍历、命令注入、代码注入、模板注入、反序列化缺陷、XML外部实体问题、加密失败和不安全反射。该工具还检查敏感的执行流程和验证链中是否违反了安全关键型呼叫命令。团队可以使用自定义源、OpenGrep汇和漏洞插件来扩大覆盖范围,他们可以运行分支感知扫描,作为安全代码审查的一部分。

可选的人工智能审查步骤

核心分析运行后,Nika可以将其发现传递给人工智能代理进行第二次查看,以减少误报。默认情况下,此步骤会关闭,并通过配置设置打开。示例配置将审查指向托管的大型语言模型,包括令牌成本、迭代计数和调用限制的值。保持步骤可选,让团队可以自行运行静态引擎,并为分诊时间短的情况添加语言模型通道。

该工具旨在确保代码审查工作安全。分支感知扫描使审查员可以将Nika指向正在审查的更改,HTML报告将源到水槽的路径与所涉及的行一起布局。报告中的补救背景为修复提供了起点。

基准测试和语言支持

Nika背后的团队根据公开测试集对该工具进行了测量。该项目的维护者Praveen Kanniah描述了这种方法:“我们使用OWASP Java基准项目来对我们的工具进行基准测试。代码库有故意脆弱的文件,并根据真阳性、假阳性、召回(在代码中存在的内容中识别的整体真阳性)等参数进行衡量。”

OWASP基准为代码提供植入缺陷,这让扫描仪的结果根据它捕获了多少个真实问题以及有多少警报保持不等进行评分。回想一下,在该设置中,衡量工具设法浮出水面的现有漏洞的份额。

Java是现阶段唯一支持的语言,覆盖更多语言的路线图上。Nika以Docker映像和本地构建的形式发货,其文档位于专用项目站点上。

Nika在GitHub上免费提供。

原文链接地址:https://www.helpnetsecurity.com/2026/07/01/nika-open-source-code-analysis-tool/

© 版权声明
THE END
你的支持是我们在网空安全路上的驱动力!
点赞6 分享