[IntelliJ IDEA] 静的セキュリティーチェックツール


概要

ここ記事は下記のgithubを参考し、作成しました。
immomoのgithub

immomoとは

静的javaコード、sqlコードをチェックし、セキュリティー上の問題が発見すると、エラーを表示し、改修案を提示してくれるIntelliJ IDEAのプラグインです。

requirement

下記によって、IntelliJ IDEAのバージョンは >= 2018.3

https://github.com/momosecurity/momo-code-sec-inspector-java#%E7%89%88%E6%9C%AC%E6%94%AF%E6%8C%81

インストール

プラグインマーケットでimmomoを検索すれば良い。

https://github.com/momosecurity/momo-code-sec-inspector-java#%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8

試して、使ってみる

  • sqlインジェクション問題が発生しそうなSQL文を書いた。

  • 表示したproblem

  • fix案を採用する。

  • 下記の観点で、セキュリティー問題をチェックしている

  • 参考↓

https://github.com/momosecurity/momo-code-sec-inspector-java#%E6%8F%92%E4%BB%B6%E8%A7%84%E5%88%99

↑翻訳してみました。

エラーコード 規則
1001 sqlの文字列の結合によって、インジェクションする
1002 SQLプレースホルダーインジェクション
1003 MybatisアノテーションSQLインジェクション
1004 MybatisのxmlのSQLインジェクション
1005 RegexDos攻撃
1006 Jacksonによるjson文字列パース脆弱性
1007 Fastjsonによるjson文字列パース脆弱性
1008 Netty HTTPレスポンスSplitting(CRLFインジェクション)
1009 固定的な乱数seed脆弱性
1010 XXE脆弱性
1011 XStreamパース脆弱性
1014 簡単なメッセージダイジェストアルゴリズム脆弱性
1015 古い暗号化技術を使うことによって、起きる脆弱性
1016 XMLDecoderパース脆弱性
1017 LDAPパース脆弱性
1018 CORS Allowed Origin設定することによって、起きる脆弱性
1019 SpringSecurityデバックモードを設定しているによって、起きる脆弱性
1020 hard-coded password vulnerability
1021 @RequestMappingを使っているメソッドはpublicとなっていること
1022 Spring session fixation attack
1023 乱数generatorの脆弱性
1024 OpenSAML2認証をスキップする攻撃
1025 IP adress hard-coded vulnerability