用途:该技能用于对 Java / JVM 代码执行静态应用安全测试(SAST)或安全审查,通过 SpotBugs 加 Find Security Bugs 插件发现安全问题。
主要能力:可检测 SQL 注入(SQL_INJECTION)、OS 命令注入(COMMAND_INJECTION)、XML 外部实体(XXE_DOCUMENT)、Cookie 缺失 Secure/HttpOnly 标志(INSECURE_COOKIE)、弱哈希(WEAK_MESSAGE_DIGEST,如 MD5/SHA1)、不安全反序列化(OBJECT_DESERIALIZATION)、SSRF、路径遍历(PATH_TRAVERSAL)、不安全加密模式(CIPHER_INTEGRITY)以及硬编码凭据(HARD_CODE_PASSWORD)等 JVM 安全缺陷。
前提条件:需安装 SpotBugs 并配置 Find Security Bugs 插件。Maven 在 pom.xml 中加入 spotbugs-maven-plugin 与 findsecbugs-plugin;Gradle 加入 com.github.spotbugs 插件与 findsecbugs-plugin 依赖;可用 spotbugs -version 验证安装。
使用方式:先确定要扫描的 Java 项目或已编译类,再运行扫描。Maven 可用 mvn spotbugs:check -Dspotbugs.plugins=com.h3xstream.findsecbugs:findsecbugs-plugin:LATEST,并用 mvn spotbugs:spotbugs 生成 XML 报告。独立 CLI 可用 spotbugs -textui -effort:max -low -pluginList findsecbugs-plugin.jar -xml:withMessages -output spotbugs-results.xml ./target/classes。随后解析 XML 输出,按优先级、类别、缺陷类型、类与行号、发现内容、修复建议整理,汇总各优先级缺陷总数,优先呈现关键安全发现及修复步骤。
适用场景:对 Java / JVM 项目做自动化安全扫描、代码安全审查和缺陷修复跟进。
限制:依赖已安装的 SpotBugs 与 Find Security Bugs 插件;扫描对象需为可分析的 Java 项目或编译后类;其余未在资料中说明的环境、版本或集成限制暂未提供。