## MOMO CODE SEC INSPECTOR
![Downloads](https://img.shields.io/jetbrains/plugin/d/15120-momo-code-sec-inspector-java-)
![Rating](https://img.shields.io/jetbrains/plugin/r/stars/15120-momo-code-sec-inspector-java-)
[![JetBrains IntelliJ Platform SDK Docs](https://jb.gg/badges/docs.svg)](http://www.jetbrains.org/intellij/sdk/docs)
本插件作为Java项目静态代码安全审计工具,侧重于在编码过程中发现项目潜在的安全风险,并提供一键修复能力。
本插件利用IDEA原生Inspection机制检查项目,自动检查当前活跃窗口的活跃文件,检查速度快,占用资源少。
插件提供的规则名称均以"<b>Momo</b>"开头。
### 目录
1. [版本支持](#版本支持)
2. [安装使用](#安装使用)
3. [效果展示](#效果展示)
4. [插件规则](#插件规则)
5. [贡献代码](#贡献代码)
6. [注意事项](#注意事项)
7. [关于我们](#关于我们)
### 版本支持
Intellij IDEA ( Community / Ultimate ) \>= 2018.3
**已停止对2017.\*的支持**
### 安装使用
#### IDEA插件市场安装
IDEA插件市场搜索"**immomo**"安装。
<img src="static/install.jpg" height="400">
#### 使用:方法一
该插件会在您编码过程中自动扫描当前编辑的代码,并实时提醒安全风险。
#### 使用:方法二
IDEA 提供`Inspect Code`功能支持对整个项目/指定范围文件进行自定义规则的扫描。
<img src="static/inspect-code.jpg" height="400">
### 效果展示
**演示一: XXE漏洞发现与一键修复**
<img src="static/show1.gif" height="400">
**演示二: Mybatis XML Mapper SQL注入漏洞发现与一键修复**
<img src="static/show2.gif" height="400">
### 插件规则
|编号|规则名称|修复建议|一键修复|
|-|-|-|-|
|1001|多项式拼接型SQL注入漏洞|<font color="#6abe83">T</font>||
|1002|占位符拼接型SQL注入漏洞|<font color="#6abe83">T</font>||
|1003|Mybatis注解SQL注入漏洞|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1004|Mybatis XML SQL注入漏洞|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1005|RegexDos风险|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1006|Jackson反序列化风险|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1007|Fastjson反序列化风险|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1008|Netty响应拆分攻击|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1009|固定的随机数种子风险|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1010|XXE漏洞|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1011|XStream反序列化风险|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1014|脆弱的消息摘要算法|<font color="#6abe83">T</font>||
|1015|过时的加密标准|<font color="#6abe83">T</font>||
|1016|XMLDecoder反序列化风险|<font color="#6abe83">T</font>||
|1017|LDAP反序列化风险|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1018|宽泛的CORS Allowed Origin设置|<font color="#6abe83">T</font>||
|1019|SpringSecurity关闭Debug模式|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1020|硬编码凭证风险|<font color="#6abe83">T</font>||
|1021|"@RequestMapping" 方法应当为 "public"|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1022|Spring 会话固定攻击风险|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1023|不安全的伪随机数生成器|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1024|OpenSAML2 认证绕过风险|<font color="#6abe83">T</font>|<font color="#6abe83">T</font>|
|1025|IP地址硬编码|<font color="#6abe83">T</font>||
### 贡献代码
#### 项目结构
```
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}
└──...
```
#### 脚手架
```shell script
# 新增检查规则
> python script/addInspection.py
# 删除检查规则
> python script/deleteInspection.py
```
#### 单元测试
```shell script
> ./gradlew :test
```
#### 预发布打包
1. ./gradlew --no-daemon clean build -PMOMO_CODE_SEC_INSPECTOR_ENV=pre
2. build/distributions/*.zip 为待发布插件
#### 发布打包
1. ./gradlew --no-daemon clean build -PMOMO_CODE_SEC_INSPECTOR_ENV=prod
2. build/distributions/*.zip 为待发布插件
### 注意事项
- 分支命名规则:
以版本号命名的分支,原则上代表支持的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.3|193|2018.3.* <= x|
|2017.3|173|2017.3.* <= x <= 2018.2.*|
### 关于我们
> 陌陌安全致力于以务实的工作保障陌陌旗下所有产品及亿万用户的信息安全,以开放的心态拥抱信息安全机构、团队与个人之间的共赢协作,以自由的氛围和丰富的资源支撑优秀同学的个人发展与职业成长。
Website:https://security.immomo.com
WeChat:
<img src="https://momo-mmsrc.oss-cn-hangzhou.aliyuncs.com/img-1c96a083-7392-3b72-8aec-bad201a6abab.jpeg" width="200" hegiht="200" align="center" /><br>
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
这里为你收集整理了关于毕业设计、课程设计可参考借鉴的资料一份,质量非常高,如果你投入时间去研究几天相信肯定对你有很大的帮助。到时候你会回来感谢我的。 本资源是经过本地编译测试、可打开、可运行的项目、文件或源码,可以用于毕业设计、课程设计的应用、参考和学习需求,请放心下载。 祝愿你在这个毕业设计项目中取得巨大进步,顺利毕业! 但还需强调一下,这些项目源码仅供学习和研究之用。在使用这些资源时,请务必遵守学术诚信原则和相关法律法规,不得将其用于任何商业目的或侵犯他人权益的行为。对于任何因使用本资源而导致的问题,包括但不限于数据丢失、系统崩溃或安全漏洞,风险自担哦!
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计-IDEA静态代码安全审计及漏洞一键修复插件.zip (209个子文件)
gradlew.bat 3KB
mybatis-3-mapper.dtd 7KB
show2.gif 1.73MB
show1.gif 1.6MB
.gitignore 2KB
build.gradle 4KB
settings.gradle 50B
gradlew 6KB
BroadCORSAllowOrigin.html 3KB
RegexDos.html 1KB
PolyadicExpressionSQLi.html 1KB
PlaceholderStringSQLi.html 1KB
JacksonDatabindDefaultTyping.html 1KB
description.html 1002B
MybatisXmlSQLi.html 964B
NettyResponseSplitting.html 907B
OpenSAML2IgnoreComment.html 814B
FastjsonAutoType.html 802B
XxeInspector.html 680B
XStreamUnserialize.html 588B
WeakHashInspector.html 561B
OutdatedEncryptionInspector.html 552B
PredictableSeed.html 547B
MybatisAnnotationSQLi.html 545B
XMLDecoderUnserialize.html 510B
PublicControllerOnSpring.html 467B
HardcodedIp.html 447B
LDAPUnserialize.html 325B
HardcodedCredentials.html 304B
ReplacePseudorandomGenerator.html 298B
SpringSessionFixProtection.html 269B
SpringSecurityDebugEnabled.html 142B
rt.jar 4.04MB
rt.jar 2.66MB
rt.jar 1.08MB
gradle-wrapper.jar 57KB
annotations.jar 23KB
annotations.jar 23KB
annotations.jar 23KB
java.non.root.jar 1KB
java.xml.bind.jar 1KB
java.xml.ws.jar 1KB
java.se.jar 584B
rt.jar_LICENSE 19KB
rt.jar_LICENSE 19KB
annotations.jar_LICENSE 11KB
annotations.jar_LICENSE 11KB
XxeInspector.java 25KB
MoExpressionUtils.java 20KB
XxeInspectorTest.java 16KB
XMLConstants.java 15KB
MybatisAnnotationSQLi.java 9KB
MybatisXmlSQLi.java 9KB
XStreamUnserialize.java 9KB
JacksonDatabindDefaultTyping.java 7KB
MomoJavaCodeInsightFixtureTestCase.java 7KB
MoExpressionUtilsTest.java 7KB
BroadCORSAllowOrigin.java 7KB
HardcodedCredentials.java 7KB
ReplacePseudorandomGenerator.java 7KB
MybatisAnnotationSQLiTest.java 6KB
RegexDos.java 6KB
MybatisXmlSQLiTest.java 5KB
PlaceholderStringSQLi.java 5KB
NettyResponseSplitting.java 5KB
PublicControllerOnSpring.java 5KB
MomoBaseLocalInspectionTool.java 5KB
PolyadicExpressionSQLi.java 5KB
WeakHashInspector.java 4KB
PredictableSeed.java 4KB
SQLi.java 4KB
BaseSQLi.java 4KB
ReplacePseudorandomGeneratorTest.java 4KB
SpringSecurityDebugEnabled.java 4KB
LDAPUnserialize.java 4KB
ShowHelpCommentQuickFixTest.java 4KB
SpringSessionFixProtection.java 4KB
SQLiTest.java 4KB
HardcodedIp.java 3KB
OpenSAML2IgnoreComment.java 3KB
NettyResponseSplittingTest.java 3KB
OutdatedEncryptionInspector.java 3KB
FastjsonAutoType.java 3KB
JacksonDatabindDefaultTypingTest.java 3KB
SpringSessionFixProtectionTest.java 2KB
SetBoolArgQuickFix.java 2KB
ShowHelpCommentQuickFix.java 2KB
SpringSecurityDebugEnabledTest.java 2KB
PublicControllerOnSpringTest.java 2KB
RegexDosTest.java 2KB
XStreamUnserializeTest.java 2KB
Vuln.java 2KB
PredictableSeedTest.java 2KB
XMLDecoderUnserialize.java 2KB
FactoriesVulns.java 2KB
Vuln.java 2KB
Vuln.java 2KB
Vuln.java 2KB
PositionVulns.java 2KB
TestDeconPolyadicExpression.java 1KB
共 209 条
- 1
- 2
- 3
资源评论
高校毕业设计
- 粉丝: 184
- 资源: 385
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功