IDEA代审辅助插件|吊炸天!SpringKill安全研究团队开源插件SecurityInspector-预览版

本项目由SpringKill-Team安全研究团队的SpringKill、Unam4两安全研究师傅研发并开源,本次开源为预览版,待后续优化后出正式版,大家可以先行体验,有啥优化建议直接Github提ISSUE,主要是直接在IDEA上用插件辅助代审。(这必须给他狠狠Star!)

01
项目地址

  • 项目名称:SecurityInspector
  • 项目地址:https://github.com/SpringKill-team/SecurityInspector
  • 项目描述:一款用于代码审计的IDEA辅助插件
  • 项目感谢:深信服深蓝实验室天威战队的开源项目inspector(https://github.com/KimJun1010/inspector),这个项目给了我们很多启发,本项目中包含很多相同的逻辑并做了优化

02
支持版本

插件支持版本:IDEA >= 2023.2.6

Kotlin:JDK17+

03
功能介绍

01
代码检查
SecurityInspector 是一个静态代码扫描插件,内置了常见的Java 代码Web漏洞sink 点,高危组件调用sink 点,识别项目中可能存在的过滤器(如XSS过滤器、SQLI过滤器等<此功能存在较多bug ,将会于正式版上线>),并使用IDEA的PSI 和Intercept机制来对以上内容进行快速定位。

通过本插件:

安全人员可以节省人工代码审计时的搜索时间。
开发人员可以在开发过程中随时注意可能存在的安全问题。

02
反编译
本插件还提供一个基于FernFlower的简单反编译模块,使用此模块可以快速识别:

当前项目中lib目录下的jar包
Maven 项目中的依赖并从本地仓库中寻找jar 包
勾选需要反编译的jar包并反编译后即可将其还原回一个可以被IDEA打开的maven项目。

04
使用方法

01
代码检查
使用SecurityInspector 很简单,只需要下载release中的jar文件并在IDEA中安装就可以了。

安装插件后,编写代码的过程中会实时产生warning来提示检查是否存在某种风险:

也可以使用Code -> Inspect Code功能扫描整个项目,寻找sink:

在弹出的选项中,配置一个新的配置文件:

对当前的配置文件选择Copy to IDEA…:

重命名后,修改检查规则,仅勾选Security选项卡中的SecurityInspector :

在不更新插件和规则的情况下,以后每次扫描都使用这个配置文件就可以了:

扫描结果如下,可以定位到很多的sink:

02
反编译
如果你想同时对项目中的某个依赖或对某个没有源代码的maven项目jar包进行代码扫描和代码审计,可以使用本项目提供的反编译功能:

选择你想要反编译的jar包并点击Run ,这个操作会在你当前的项目下生成decompiled目录并将还原的项目保存到该目录下,你可以通过将decompiled目录下的目录添加为module来将其添加到当前项目的PSI中(有几率产生bug),并使用Inspector进行扫描:

05
上图

给他狠狠Star/Fork/Follow三连。

SpringKill-team安全研究Github地址:https://github.com/SpringKill-team

SpringKill个人Github地址:https://github.com/springkill

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/423219.html

联系我们
联系我们
分享本页
返回顶部