IntelliJ IDEA 没有官方名为 SecurityScan 的内置插件,所谓“SecurityScan”多为误传或第三方插件非标准简称;实际可用的安全扫描插件分为三类:基于原生 Inspection 的静态分析插件(如 SecInspector、MOMO CODE SEC INSPECTOR)、依赖漏洞扫描工具(Package Checker)及集成 SAST 引擎的插件(如 Qoder、JFrog),需通过 Settings → Plugins 查看作者与描述确认具体插件。

IntelliJ IDEA 没有官方叫 SecurityScan 的内置插件,你搜到的“SecurityScan”大概率是误传名称,或是某第三方插件的非标准简称。实际可用、稳定维护、功能明确的代码安全扫描插件只有三类:基于 IDEA 原生 Inspection 机制的静态分析插件(如 SecInspector、MOMO CODE SEC INSPECTOR),依赖 OSV 的依赖项漏洞扫描(Package Checker),以及商业/开源 SAST 引擎集成插件(如 Qoder、JFrog IntelliJ IDEA Plugin)。
如何确认你装的是哪个“SecurityScan”?
很多人在插件市场搜 SecurityScan 找不到结果,是因为它不是正式插件名。常见混淆来源包括:
- 把
SecInspector误记为SecurityScan(名字接近,功能高度重合) - 把
Qoder的 “Security Scanning” 功能页当成插件名 - 看到某篇过时教程里自定义命名的本地插件包(如
security-scan-plugin.jar) - IDEA 自带的
Package Checker被简称为“安全扫描”,但它只查依赖,不扫源码
正确做法:打开 Settings → Plugins,点“已安装”标签,看插件作者和描述。若名称含 SecInspector、Momo、Qoder 或 JFrog,就按对应插件文档走;若只有模糊名称+无作者信息,建议卸载并重装官方渠道版本。
SecInspector 和 MOMO 插件:实时扫描 Java 源码的关键区别
两者都基于 IDEA 的 Inspection 机制,但触发逻辑和规则覆盖差异明显:
-
SecInspector默认只扫描当前编辑文件,且需手动启用“实时检测”开关(Settings → Editor → Inspections → SecInspector) -
MOMO CODE SEC INSPECTOR的规则以Momo开头,在Settings → Editor → Inspections里独立成组,支持一键修复的规则更多(如Momo1003、Momo1010) - 两者都不扫描
test目录下的代码——这是默认行为,如需覆盖,得进各自插件设置里勾选“Include test sources” - 若同时启用两个插件,可能重复报同一处
SQL注入,但修复建议不同:SecInspector 推荐改用PreparedStatement,MOMO 可能直接帮你把字符串拼接替换成占位符
Package Checker:只扫依赖,不碰你的 Java 文件
这个插件是 IDEA 社区版/旗舰版都自带的,名字就叫 Package Checker,别名“易受攻击的依赖项”。它完全不分析你写的代码逻辑,只比对 pom.xml 或 build.gradle 里的坐标是否在 OSV 数据库中标记为已知漏洞:
- 高亮显示的依赖(如
com.fasterxml.jackson.core:jackson-databind:2.13.0)点击后按Alt Enter,提示“Update to version 2.13.4.2”——这是它唯一能做的 - 它不会告诉你
ObjectMapper配置了enableDefaultTyping导致反序列化风险,这类问题必须靠SecInspector或MOMO - 忽略某个漏洞后,配置会写入
Editor → Inspections → Vulnerable declared dependencies → Options → Ignored vulnerabilities,该列表可导出为 JSON 与团队共享
Qoder 和 JFrog:适合 CI/CD 和批量审计的 CLI 模式
如果你需要在 GitLab CI 或 Jenkins 里自动跑扫描,或者想一次性扫完整个遗留项目,Qoder CLI 和 JFrog CLI 是更可靠的选择:
-
qoder-cli scan --path ./src --exclude vendor,test --output report.json --severity high,critical输出的 JSON 可被下游工具解析,而 IDEA 插件界面无法导出结构化数据 -
JFrog Security插件的“Start Scan”按钮背后调用的是jfrog rt scan,但要求先配置 Artifactory 仓库地址——没接入 JFrog 生态的团队基本用不了 - Qoder 的自定义正则规则(如硬编码 Token)只在 CLI 模式下生效,IDE 内仅支持预设规则集;想扫内部 API Key,必须走 CLI +
--custom-rules
真正容易被忽略的点是:所有这些插件的扫描能力都受限于项目是否被 IDEA 正确识别为 Maven/Gradle 项目。如果 pom.xml 在子目录里、或用了自定义构建脚本,插件可能根本加载不出依赖树——先确保 File → Project Structure → Modules 里能看到正确的 SDK 和依赖列表,再装插件。否则,你看到的“无漏洞”只是因为插件压根没读到代码。


















