<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          發(fā)現(xiàn)一款牛逼的 IDEA 插件:檢測代碼漏洞,一鍵修復!

          共 3498字,需瀏覽 7分鐘

           ·

          2021-02-11 23:45

          點擊關注公眾號,Java干貨及時送達

          本插件作為Java項目靜態(tài)代碼安全審計工具,側(cè)重于在編碼過程中發(fā)現(xiàn)項目潛在的安全風險,并提供一鍵修復能力。

          本插件利用IDEA原生Inspection機制檢查項目,自動檢查當前活躍窗口的活躍文件,檢查速度快,占用資源少。

          插件提供的規(guī)則名稱均以"Momo"開頭。

          版本支持

          Intellij IDEA ( Community / Ultimate ) ?>= 2017.3

          IDEA 香是香,可能你會說用它要收費,其實它也有開源的社區(qū)版本,收費的專業(yè)版也很容易申請到激活碼,關注公眾號Java技術棧,回復:IDEA,可以閱讀我分享過的獲取正版 IDEA 激活碼的教程,很多粉絲都反饋說輕松得到了,感興趣的都可以去申請,不能太容易了。

          安裝使用

          IDEA插件市場搜索"immomo"安裝。

          效果展示

          演示一:XXE漏洞發(fā)現(xiàn)與一鍵修復

          演示二:Mybatis XML Mapper SQL注入漏洞發(fā)現(xiàn)與一鍵修復

          插件規(guī)則

          編號規(guī)則名稱修復建議一鍵修復
          1001多項式拼接型SQL注入漏洞T
          1002占位符拼接型SQL注入漏洞T
          1003Mybatis注解SQL注入漏洞TT
          1004Mybatis XML SQL注入漏洞TT
          1005RegexDos風險TT
          1006Jackson反序列化風險TT
          1007Fastjson反序列化風險TT
          1008Netty響應拆分攻擊TT
          1009固定的隨機數(shù)種子風險TT
          1010XXE漏洞TT
          1011XStream反序列化風險TT
          1014脆弱的消息摘要算法T
          1015過時的加密標準T
          1016XMLDecoder反序列化風險T
          1017LDAP反序列化風險TT
          1018寬泛的CORS Allowed Origin設置T
          1019SpringSecurity關閉Debug模式TT
          1020硬編碼憑證風險T
          1021"@RequestMapping" 方法應當為 "public"TT
          1022Spring 會話固定攻擊風險TT
          1023不安全的偽隨機數(shù)生成器TT
          1024OpenSAML2 認證繞過風險TT
          1025IP地址硬編碼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}
          ????????????????????????????└──...

          腳手架

          #?新增檢查規(guī)則
          >?python?script/addInspection.py

          #?刪除檢查規(guī)則
          >?python?script/deleteInspection.py

          單元測試

          >?./gradlew?:test

          預發(fā)布打包

          1. PLUGIN_BAN_CONST=true ./gradlew --no-daemon clean build -PMOMO_CODE_SEC_INSPECTOR_ENV=pre
          2. build/distributions/*.zip 為待發(fā)布插件

          預發(fā)布情況下,插件上報地址寫于src/main/resources/properties/pre.properties

          發(fā)布打包

          1. PLUGIN_BAN_CONST=true ./gradlew --no-daemon clean build -PMOMO_CODE_SEC_INSPECTOR_ENV=prod
          2. build/distributions/*.zip 為待發(fā)布插件

          正式發(fā)布情況下,插件上報地址寫于src/main/resources/properties/prod.properties

          注意事項

          • 分支命名規(guī)則:

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

          如branch為2018.3代表當前分支支持版本范圍是>=2018.3 (或說from 183.* to *)。

          插件具體支持idea版本范圍見gradle.propertiesidea_since_buildidea_until_build部分。

          • 插件版本號命名規(guī)則:

          原則上,插件版本號以支持的idea版本下限為大版本編號。

          如插件當前版本為x.1,x為開發(fā)時所用IDEA版本編號,.1為插件發(fā)布版本。

          需要注意的是,因IDEA更新機制問題,插件新版本號只能向上增長

          具體見gradle.propertiesplugin_version字段。

          • 版本號對應關系
          分支名插件版本IDEA版本
          2018.31932018.3.* <= x
          2017.31732017.3.* <= x <= 2018.2.*
          • JetBrains Plugins Marketplace 版本

          發(fā)布到插件市場的版本不支持漏洞上報功能。

          發(fā)布到插件市場的版本不支持白名單簽名下發(fā)功能。

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






          關注Java技術??锤喔韶?/strong>



          戳原文,獲取精選面試題!
          瀏覽 85
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄片网站成人 | 伊人影院av | 午夜激情五月天 | 高清无码毛片 | 91丨国产丨熟女 熟女 |