本插件作为Java项目静态代码安全审计工具,侧重于在编码过程中发现项目潜在的安全风险,并提供一键修复能力。

插件利用IDEA原生Inspection机制检查项目,自动检查当前活跃窗口的活跃文件,检查速度快,占用资源少。

插件提供的规则名称均以"

Momo

"开头。

版本支持

IntellijIDEA(Community/Ultimate)>=2017.3

IDEA香是香,可能你会说用它要收费,其实它也有开源的社区版本,收费的专业版也很容易申请到激活码。

安装使用

IDEA插件市场搜索"

immomo

"安装。

打开网易新闻 查看精彩图片

效果展示

演示一:XXE漏洞发现与一键修复

打开网易新闻 查看精彩图片

演示二:MybatisXMLMapperSQL注入漏洞发现与一键修复

打开网易新闻 查看精彩图片

插件规则

打开网易新闻 查看精彩图片

项目结构

打开网易新闻 查看精彩图片

脚手架

打开网易新闻 查看精彩图片

单元测试

> ./gradlew :test

预发布打包

PLUGIN_BAN_CONST=true./gradlew--no-daemoncleanbuild-PMOMO_CODE_SEC_INSPECTOR_ENV=pre

build/distributions/*.zip为待发布插件

预发布情况下,插件上报地址写于

src/main/resources/properties/pre.properties

发布打包

PLUGIN_BAN_CONST=true./gradlew--no-daemoncleanbuild-PMOMO_CODE_SEC_INSPECTOR_ENV=prod

build/distributions/*.zip为待发布插件

正式发布情况下,插件上报地址写于

src/main/resources/properties/prod.properties

注意事项

分支命名规则:

以版本号命名的分支,原则上代表支持的idea版本下限。

如branch为2018.3代表当前分支支持版本范围是>=2018.3(或说from183.*to*)。

插件具体支持idea版本范围见

gradle.properties

idea_since_build

idea_until_build

部分。

插件版本号命名规则:

原则上,插件版本号以支持的idea版本下限为大版本编号。

如插件当前版本为

x.1

为开发时所用IDEA版本编号,

.1

为插件发布版本。

需要注意的是,因IDEA更新机制问题,插件新版本号只能

向上增长

具体见

gradle.properties

plugin_version

字段。

版本号对应关系

打开网易新闻 查看精彩图片

JetBrainsPluginsMarketplace版本

发布到插件市场的版本不支持漏洞上报功能。

发布到插件市场的版本不支持白名单签名下发功能。

开源地址:https://gitee.com/mirrors/momo-code-sec-inspector-java