Skip to content
Agentmart
Submit a tool

java-check-spotbugs

SpotBugs静态分析技能:使用SpotBugs、Find Security Bugs、fb-contrib进行Java代码缺陷和安全分析

Skill by hellyguo

IndexedApache-2.0★ 8
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/hellyguo-java-check-spotbugs

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

SpotBugs静态分析技能:使用SpotBugs、Find Security Bugs、fb-contrib进行Java代码缺陷和安全分析

Use cases: security

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/java-check-spotbugs

What's inside

Skill name
java-check-spotbugs
Description
SpotBugs静态分析技能:使用SpotBugs、Find Security Bugs、fb-contrib进行Java代码缺陷和安全分析
License
Apache-2.0
Instructions
148 lines in SKILL.md · view on GitHub

Files (3)

  • SKILL.md
  • filter.xml · templates/
  • report.md · templates/

SKILL.md (first lines)

# SpotBugs Java静态分析技能

> 本文件中的 `templates/...` 均指本技能目录下的 `templates/` 子目录。

## 版本兼容性

- **SpotBugs 4.7.3**:最高支持Java 17(class文件major version 61)
- **Java 25不兼容**,需使用Java 17或更早版本运行分析

```bash
java -version
javap -verbose target/classes/com/example/Test.class | grep major
```

## 工具位置

```bash
SPOTBUGS_HOME=~/app/spotbugs-4.7.3
SPOTBUGS_JAR=$SPOTBUGS_HOME/lib/spotbugs.jar
FIND_SEC_BUGS_SRC=${HOME}/open_source/github/find-sec-bugs/
FB_CONTRIB_SRC=${HOME}/open_source/github/fb-contrib/
```

## 执行流程

### 步骤1:准备字节码

```bash
mvn compile          # Maven
gradle classes       # Gradle
javac -d target/classes src/*.java  # 手动
```

### 步骤2:执行分析

```bash
# 基础分析
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/
```

### 步骤3:特定检测器

```bash
# 仅安全漏洞
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/
```

### 步骤4:生成报告

使用模板 `templates/report.md` 输出分析报告。

## 配置与过滤

使用模板 `templates/filter.xml` 自定义过滤器:

```bash
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/` |

## CI/CD集成

### Maven

```xml
<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>
```

### Gradle

```groovy
plugins {
  id "com.github.spotbugs" version "5.0.14"

From hellyguo/self-ai-spec, Apache-2.0.

More from hellyguo/self-ai-spec

Signals

Stars
8
Forks
0
Open issues
0
Last commit (this folder)
Aug 27, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from hellyguo

Cite this page

java-check-spotbugs skill. Agent Mart. https://agentmart.dev/skills/hellyguo-java-check-spotbugs (last updated 2026-10-24)