All Projects → momosecurity → Momo Code Sec Inspector Java

momosecurity / Momo Code Sec Inspector Java

Licence: apache-2.0
IDEA静态代码安全审计及漏洞一键修复插件

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to Momo Code Sec Inspector Java

SpringData-mongdb
🐱 idea 搭建 springdata+mongodb+maven+springmvc 工程。
Stars: ✭ 19 (-96%)
Mutual labels:  idea
aw-watcher-jetbrains
This extension allows the open source tracking tool ActivityWatch to keep track of the projects and coding languages you use in jetbrains IDEs.
Stars: ✭ 36 (-92.42%)
Mutual labels:  idea
Dormitorymanager
学生宿舍管理系统(SSM/Layui框架;毕业设计)
Stars: ✭ 346 (-27.16%)
Mutual labels:  idea
auto-dark-mode
IDEA plugin to automatically apply system theme settings on macOS and Windows.
Stars: ✭ 35 (-92.63%)
Mutual labels:  idea
GradleDependencyHelper
An Android Studio Plugin for searching maven dependencies faster.
Stars: ✭ 13 (-97.26%)
Mutual labels:  idea
Yapiideauploadplugin
yapi idea 上传插件,快速生成文档
Stars: ✭ 288 (-39.37%)
Mutual labels:  idea
JetBrains-scheme
JetBrains主题,更完美的高亮。支持 IntelliJ IDEA、phpstorm、goland、webstorm
Stars: ✭ 25 (-94.74%)
Mutual labels:  idea
Ideabook
一个全栈增长工程师的练手项目集. A Growth Engineering Idea in Action.
Stars: ✭ 3,609 (+659.79%)
Mutual labels:  idea
blog
✍ GoogTech's Daily Blog: share daily life, idea, and experience.
Stars: ✭ 408 (-14.11%)
Mutual labels:  idea
Eureka
💡 CLI tool to input and store your ideas without leaving the terminal
Stars: ✭ 316 (-33.47%)
Mutual labels:  idea
material-design-color-palette
🎨Material Design color palette pluin for IntelliJ based IDEs.
Stars: ✭ 19 (-96%)
Mutual labels:  idea
seckill parent
基于springboot+springcloud的高并发和商品秒杀项目,通过redis,rabbitmq等技术实现秒杀的高并发。
Stars: ✭ 59 (-87.58%)
Mutual labels:  idea
Envfile
EnvFile 3.0 is a plugin for JetBrains IDEs that allows you to set environment variables for your run configurations from one or multiple files.
Stars: ✭ 293 (-38.32%)
Mutual labels:  idea
IntelliJ-IDEA-Translate2Chinese
Chinese ​(Simplified)​ Language Pack EAP v201.15 魔改进行中...
Stars: ✭ 14 (-97.05%)
Mutual labels:  idea
Androidlocalizeplugin
🌏 Android localization plugin. support multiple languages, no need to apply for key.
Stars: ✭ 352 (-25.89%)
Mutual labels:  idea
mybatis-plus-plugin
idea plugin
Stars: ✭ 115 (-75.79%)
Mutual labels:  idea
open-source-library-request-manager
A place to share ideas for open source library with other developers.
Stars: ✭ 31 (-93.47%)
Mutual labels:  idea
Texify Idea
LaTeX support for the IntelliJ platform by JetBrains.
Stars: ✭ 436 (-8.21%)
Mutual labels:  idea
Ssm booksystem
ssm demo,ssm详细教程,SSM简明教程:简单的十步教你搭建人生第一个SSM框架[ SSM框架整合教程(spring+spring mvc+mybatis+redis+maven+idea+bootstrap) ]
Stars: ✭ 355 (-25.26%)
Mutual labels:  idea
Nord Jetbrains
An arctic, north-bluish clean and elegant JetBrains IDE UI and editor color theme.
Stars: ✭ 293 (-38.32%)
Mutual labels:  idea

MOMO CODE SEC INSPECTOR

Downloads Rating JetBrains IntelliJ Platform SDK Docs

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

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

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

目录

  1. 版本支持
  2. 安装使用
  3. 效果展示
  4. 插件规则
  5. 贡献代码
  6. 注意事项
  7. 关于我们

版本支持

Intellij IDEA ( Community / Ultimate ) >= 2017.3

安装使用

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

效果展示

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

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

插件规则

编号 规则名称 修复建议 一键修复
1001 多项式拼接型SQL注入漏洞 T
1002 占位符拼接型SQL注入漏洞 T
1003 Mybatis注解SQL注入漏洞 T T
1004 Mybatis XML SQL注入漏洞 T T
1005 RegexDos风险 T T
1006 Jackson反序列化风险 T T
1007 Fastjson反序列化风险 T T
1008 Netty响应拆分攻击 T T
1009 固定的随机数种子风险 T T
1010 XXE漏洞 T T
1011 XStream反序列化风险 T T
1014 脆弱的消息摘要算法 T
1015 过时的加密标准 T
1016 XMLDecoder反序列化风险 T
1017 LDAP反序列化风险 T T
1018 宽泛的CORS Allowed Origin设置 T
1019 SpringSecurity关闭Debug模式 T T
1020 硬编码凭证风险 T
1021 "@RequestMapping" 方法应当为 "public" T T
1022 Spring 会话固定攻击风险 T T
1023 不安全的伪随机数生成器 T T
1024 OpenSAML2 认证绕过风险 T T
1025 IP地址硬编码 T

贡献代码

项目结构

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}
                            └──...

脚手架

# 新增检查规则
> python script/addInspection.py

# 删除检查规则
> python script/deleteInspection.py

单元测试

> ./gradlew :test

预发布打包

  1. PLUGIN_BAN_CONST=true ./gradlew --no-daemon clean build -PMOMO_CODE_SEC_INSPECTOR_ENV=pre
  2. build/distributions/*.zip 为待发布插件

预发布情况下,插件上报地址写于src/main/resources/properties/pre.properties

发布打包

  1. PLUGIN_BAN_CONST=true ./gradlew --no-daemon clean build -PMOMO_CODE_SEC_INSPECTOR_ENV=prod
  2. build/distributions/*.zip 为待发布插件

正式发布情况下,插件上报地址写于src/main/resources/properties/prod.properties

注意事项

  • 分支命名规则:

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

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

插件具体支持idea版本范围见gradle.propertiesidea_since_buildidea_until_build部分。

  • 插件版本号命名规则:

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

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

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

具体见gradle.propertiesplugin_version字段。

  • 版本号对应关系
分支名 插件版本 IDEA版本
2018.3 193 2018.3.* <= x
2017.3 173 2017.3.* <= x <= 2018.2.*
  • JetBrains Plugins Marketplace 版本

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

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

关于我们

陌陌安全致力于以务实的工作保障陌陌旗下所有产品及亿万用户的信息安全,以开放的心态拥抱信息安全机构、团队与个人之间的共赢协作,以自由的氛围和丰富的资源支撑优秀同学的个人发展与职业成长。

Website:https://security.immomo.com

WeChat:


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].