还担心java代码安全漏洞,试试这个IDEA 插件,一键修复

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

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

插件提供的规则名称均以"Momo"开头。

版本支持

Intellij IDEA ( Community / Ultimate ) >= 2017.3

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

安装使用

IDEA插件市场搜索"immomo"安装。

效果展示

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

演示二:Mybatis XML Mapper SQL注入漏洞发现与一键修复

项目结构

src

├──main

│├──java

││└──com

││└──immomo

││└──momosec

││├──aspect

││├──entity

││├──fix

││├──lang

│││├──java

││││├──rule

│││││└──momosecurity

│││││└──{InspectionName}.java

││││└──utils

│││└──xml

│││└──rule

│││└──momosecurity

│││└──{InspectionName}.java

││└──utils

│└──resources

│├──META-INF

││├──description.html

││├──pluginIcon.svg

││└──plugin.xml

│└──inspectionDescriptions

│└──{InspectionName}.html

└──test

├──java

│└──com

│└──immomo

│└──momosec

│└──lang

│├──java

││├──fix

││└──rule

││└──momosecurity

││└──{InspectionName}Test.java

│└──xml

│└──rule

│└──momosecurity

│└──{InspectionName}Test.java

├──resources

└──testData

└──lang

├──java

│└──rule

│└──momosecurity

│└──{InspectionName}

│└──...

└──xml

└──rule

└──momosecurity

└──{InspectionName}

└──...

脚手架

#新增检查规则

>pythonscript/addInspection.py

#删除检查规则

>pythonscript/deleteInspection.py

单元测试

>./gradlew:test

预发布打包

PLUGIN_BAN_CONST=true ./gradlew --no-daemon clean build -PMOMO_CODE_SEC_INSPECTOR_ENV=prebuild/distributions/*.zip 为待发布插件预发布情况下,插件上报地址写于src/main/resources/properties/pre.properties

发布打包

PLUGIN_BAN_CONST=true ./gradlew --no-daemon clean build -PMOMO_CODE_SEC_INSPECTOR_ENV=prodbuild/distributions/*.zip 为待发布插件正式发布情况下,插件上报地址写于src/main/resources/properties/prod.properties

注意事项

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

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

插件具体支持idea版本范围见gradle.properties中idea_since_build与idea_until_build部分。

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

如插件当前版本为x.1,x为开发时所用IDEA版本编号,.1为插件发布版本。

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

具体见gradle.properties的plugin_version字段。

版本号对应关系分支名插件版本IDEA版本2018.31932018.3.* <= x2017.31732017.3.* <= x <= 2018.2.*

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

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

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

相关文章

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
今天犯了个错:“接口变动,伤筋动骨,除非你确定只有你一个...
Writer :BYSocket(泥沙砖瓦浆木匠)微 博:BYSocket豆 瓣:...
本文目录 线程与多线程 线程的运行与创建 线程的状态 1 线程...