بنقرة واحدة
java-check-spotbugs
SpotBugs静态分析技能:使用SpotBugs、Find Security Bugs、fb-contrib进行Java代码缺陷和安全分析
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
SpotBugs静态分析技能:使用SpotBugs、Find Security Bugs、fb-contrib进行Java代码缺陷和安全分析
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
AI记忆持久化系统。使用memrec存储、检索、管理跨会话记忆。支持项目隔离、混合检索(KNN+BM25)、MMR重排、中文搜索。触发场景:(1)重要决策需记录,(2)关键知识需保存,(3)项目上下文需跨会话保持,(4)用户偏好需记忆,(5)检索历史知识辅助当前任务。
Rust 性能分析技能:通过 cargo flamegraph 生成火焰图(SVG),定位 CPU 热点函数并量化占比。适用于 Rust 项目性能瓶颈定位、热点分析、优化验证。触发场景:(1)分析 Rust 代码性能瓶颈,(2)定位 CPU 热点函数,(3)量化函数调用占比,(4)优化前后对比验证,(5)bench/unittest 性能不达预期时根因分析。
读取所有源代码,解构为设计图、设计文档、数据库设计; 没有执行文件,请按流程执行
项目问题侦测技能:综合分析设计、性能、安全问题,评分并提出重构或重建方案
局部代码修改技能:最小化修改完成功能,确保无蝴蝶效应,支持独立测试验证和全量关联检查
该skill没有执行文件,为操作指引:如何重构
| name | java-check-spotbugs |
| description | SpotBugs静态分析技能:使用SpotBugs、Find Security Bugs、fb-contrib进行Java代码缺陷和安全分析 |
java -version
javap -verbose target/classes/com/example/Test.class | grep major
SPOTBUGS_HOME=~/app/spotbugs-4.7.3
SPOTBUGS_JAR=$SPOTBUGS_HOME/lib/spotbugs.jar
FIND_SEC_BUGS_SRC=/home/helly/open_source/github/find-sec-bugs/
FB_CONTRIB_SRC=/home/helly/open_source/github/fb-contrib/
mvn compile # Maven
gradle classes # Gradle
javac -d target/classes src/*.java # 手动
# 基础分析
java -jar $SPOTBUGS_JAR -textui -output spotbugs-basic.txt target/classes/
# 含安全检测
java -jar $SPOTBUGS_JAR -textui -output spotbugs-security.txt \
-pluginList $FIND_SEC_BUGS_JAR target/classes/
# 完整分析(所有插件)
java -jar $SPOTBUGS_JAR -textui -output spotbugs-full.txt \
-pluginList $FIND_SEC_BUGS_JAR:$FB_CONTRIB_JAR target/classes/
# 仅安全漏洞
java -jar $SPOTBUGS_JAR -textui -output security-only.txt \
-pluginList $FIND_SEC_BUGS_JAR -onlyAnalyze ".*Security.*" target/classes/
# 性能和资源问题
java -jar $SPOTBUGS_JAR -textui -output performance.txt \
-effort:max -visitors "FindDeadLocalStores,FindUnconditionalWait,FindReturnRef" target/classes/
使用模板 templates/report.md 输出分析报告。
使用模板 templates/filter.xml 自定义过滤器:
java -jar $SPOTBUGS_JAR -textui -output filtered.txt \
-exclude filter.xml target/classes/
| 格式 | 命令参数 | 用途 |
|---|---|---|
| 文本 | -textui | 默认,终端查看 |
| XML | -xml | CI集成 |
| HTML | -html | 可视化报告 |
| 插件 | 主要检测 | 典型Pattern |
|---|---|---|
| SpotBugs核心 | 空指针、资源泄漏、并发、性能 | IC_SUPERCLASS_USES_SUBCLASS |
| Find Security Bugs | SQL注入、XSS、命令注入 | SQL_INJECTION, COMMAND_INJECTION |
| fb-contrib | 代码坏味道、命名规范 | LOOP_CAN_BE_WHILE |
| 场景 | 命令 |
|---|---|
| 查看所有检测器 | java -jar $SPOTBUGS_JAR -textui -list |
| 分析特定类 | java -jar $SPOTBUGS_JAR -textui -onlyAnalyze "com.example.security.*" target/classes/ |
| 低阈值(更多问题) | java -jar $SPOTBUGS_JAR -textui -low target/classes/ |
| 高阈值(仅严重) | java -jar $SPOTBUGS_JAR -textui -high target/classes/ |
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>4.7.3.0</version>
<configuration>
<effort>Max</effort>
<threshold>Low</threshold>
</configuration>
</plugin>
plugins {
id "com.github.spotbugs" version "5.0.14"
}
spotbugs {
toolVersion = '4.7.3'
effort = 'max'
reportLevel = 'low'
}
| 问题 | 解决方案 |
|---|---|
| Unsupported class file major version | 使用Java 17或更早版本 |
| ClassNotFoundException | 检查类路径 |
| No classes specified | 确认编译后字节码存在 |
| 插件加载失败 | 检查插件JAR路径和版本 |
版本兼容性解决:
export JAVA_HOME=/path/to/java17
java -jar $SPOTBUGS_JAR -textui target/classes/
技能版本: 1.0.0 工具版本: SpotBugs 4.7.3 + Find Security Bugs + fb-contrib 适用项目: Java 17及以下版本项目