Files
llm-wiki/raw/official-docs/find-sec-bugs-official.md
T

88 lines
7.6 KiB
Markdown

---
title: Find Security Bugs — Official Site & Bug Patterns Reference
source_type: official-doc
url: https://find-sec-bugs.github.io/
archive_url:
related_branches: [feature-static-analysis-quality-contract]
related_projects: [ca-skeleton, ca-tmpl]
tags: [official-doc, ca-skeleton, security, owasp, static-analysis]
created: 2026-06-15
---
# Find Security Bugs — Official Site & Bug Patterns Reference
> Layer: `raw/` — 외부 자료(공식 문서)의 **원문 발췌·출처 기록**.
> 검증된 요약은 `/ingest` 후 `wiki/concepts/`에 별도 작성. 원본은 raw에 영구 보관.
## Parent / 활용 branch
| Branch | 이 자료가 정당화하는 결정 |
|---|---|
| [[raw/branch-notes/feature-static-analysis-quality-contract]] | D4 — FindSecBugs(SpotBugs 보안 플러그인) 채택. 코드 수준 보안 anti-pattern 탐지이며 의존성 CVE 스캔(`feature-dependency-vulnerability-management-contract`)과 구분됨. |
## 출처 / Source
- 원본 URL: https://find-sec-bugs.github.io/
- 버그 패턴 목록 URL: https://find-sec-bugs.github.io/bugs.htm
- 아카이브 URL: (미확보 — archive.org 스냅샷 권장)
- 저자 / 조직: Philippe Arteau / Find Security Bugs 프로젝트
- 발행일: (프로젝트 지속 관리 중)
- 최신 버전: 1.14.0 (April 20th, 2025)
- 마지막 확인일: 2026-06-15
## 왜 저장했는지 / Why archived
`feature-static-analysis-quality-contract` D4 결정의 근거로서, FindSecBugs 가 SpotBugs 플러그인임을 공식 사이트에서 확인하고, 탐지하는 취약점 유형·개수·지원 프레임워크·Maven/OWASP 연관을 verbatim 원문으로 확보하기 위해 보관. 의존성 CVE 스캔 도구(OWASP Dependency-Check 등)와의 역할 경계를 문서화하는 근거로도 활용.
## 핵심 인용 / Key quotes (verbatim)
> [§Homepage — hero tagline] "The SpotBugs plugin for security audits of Java web applications."
> [§Homepage — Features: 144 bug patterns] "It can detect 144 different vulnerability types with over 826 unique API signatures."
> [§Homepage — Features: OWASP TOP 10 and CWE coverage] "Extensive references are given for each bug patterns with references to OWASP Top 10 and CWE."
> [§Homepage — Features: Integrate with your IDE] "Plugins are available for Eclipse , IntelliJ / Android Studio and NetBeans . Command line integration is available with Ant and Maven ."
> [§bugs.htm — page header] "The complete list of descriptions given when FindBugs identify potential weaknesses."
## Claims Extracted / 추출된 주장
| Claim ID | Claim (이 자료가 직접 말하는 것) | Evidence quote | Strength | Applies to | Does not prove |
|---|---|---|---|---|---|
| C1 | FindSecBugs 는 SpotBugs 플러그인이며 Java 웹 애플리케이션 보안 감사용이다. | [§Homepage hero] "The SpotBugs plugin for security audits of Java web applications." | `official-reference` | Java 웹 애플리케이션 프로젝트에서 SpotBugs 기반 정적 분석 도입 결정 시 | FindBugs(레거시) 와의 차이, Kotlin/Scala 지원 범위 |
| C2 | 144개 취약점 유형, 826개 이상 고유 API 시그니처를 탐지한다. | [§Homepage Features] "It can detect 144 different vulnerability types with over 826 unique API signatures." | `official-reference` | 코드 수준 보안 anti-pattern 탐지 범위 근거 | 버전마다 숫자 변동 가능 — 1.14.0 기준 수치 |
| C3 | OWASP Top 10 및 CWE 분류와 연결된 레퍼런스를 각 bug pattern 마다 제공한다. | [§Homepage Features] "Extensive references are given for each bug patterns with references to OWASP Top 10 and CWE." | `official-reference` | 보안 취약점 분류 체계(OWASP/CWE)와의 연계가 필요한 프로젝트 | 탐지 자체가 OWASP 인증임을 의미하지 않음 |
| C4 | Maven(및 Ant) CLI 통합과 Eclipse/IntelliJ/NetBeans IDE 플러그인을 지원한다. | [§Homepage Features] "Plugins are available for Eclipse , IntelliJ / Android Studio and NetBeans . Command line integration is available with Ant and Maven ." | `official-reference` | Gradle/Maven 빌드 파이프라인 CI 통합 결정 시 | Gradle 지원 여부는 해당 인용에서 직접 언급 안 됨 (별도 How-To 페이지 확인 필요) |
| C5 | bugs.htm 는 FindBugs 가 탐지하는 취약점의 전체 목록이며, SQL Injection(Hibernate/JPA/Spring JDBC 변종), Command Injection, Path Traversal, Weak Crypto(MD5/SHA-1/DES/ECB/Static IV), XSS(JSP/Servlet), CSRF(Spring), XXE, Hard-coded credentials, Deserialization, CORS, LDAP Injection, Path Traversal 등 다양한 코드 수준 취약점 패턴 이름이 열거된다. | [§bugs.htm header] "The complete list of descriptions given when FindBugs identify potential weaknesses." + 패턴 목록(예: `SQL_INJECTION_HIBERNATE`, `COMMAND_INJECTION`, `PATH_TRAVERSAL_IN`, `WEAK_MESSAGE_DIGEST_MD5`, `ECB_MODE`, `HARD_CODE_PASSWORD`, `SPRING_CSRF_PROTECTION_DISABLED`, `JACKSON_UNSAFE_DESERIALIZATION`) | `official-reference` | 탐지 항목별 구체 패턴 코드가 필요한 룰셋 설정 작업 | bugs.htm 의 각 항목이 모든 Java 코드베이스에서 자동 탐지된다는 의미는 아님 (설정·threshold 필요) |
## Usage Boundaries / 적용 경계
- 이 자료가 직접 증명하는 것:
- `C1`: FindSecBugs 가 SpotBugs 생태계의 플러그인임 (CVE 의존성 스캔 도구인 OWASP Dependency-Check 와 역할이 다름)
- `C2`: 1.14.0 기준 탐지 가능 취약점 유형 수 (144) 및 API 시그니처 수 (826+)
- `C3`: 각 bug pattern 에 OWASP Top 10 / CWE 참조 링크가 있음
- `C4`: Maven(CLI), Eclipse/IntelliJ/NetBeans(IDE), Jenkins/SonarQube(CI) 통합 지원
- `C5`: SQL Injection(ORM 변종 포함), Command Injection, Path Traversal, Weak Crypto, XSS, CSRF, XXE, Hard-coded credentials, Deserialization, CORS, LDAP Injection 등 코드 수준 취약점 탐지 패턴 목록
- 이 자료가 증명하지 않는 것:
- Gradle 통합 지원 여부 (Homepage 인용에 Ant/Maven 만 언급 — How-To 페이지 별도 확인 필요)
- 탐지 성능(false positive 율, 탐지율) 및 타 도구 대비 비교 수치
- ca-tmpl 특정 코드베이스에서 실제 동작 검증 (`locally-verified` 미달)
- `feature-dependency-vulnerability-management-contract` 에서 담당하는 CVE/SBOM 스캔 영역
- 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
- Gradle 플러그인 설정 (`com.github.spotbugs` + `findsecbugs-plugin` 의존성) — How-To 페이지 또는 GitHub README 확인
- ca-tmpl 에서 `spotbugsMain` task 실행 후 실제 report 생성 검증 (`locally-verified` 필요)
- CI gate 에서 어떤 심각도(HIGH/MEDIUM) 이상 blocking 할지는 `feature-ci-quality-gates-contract` 결정 영역
## 메모 / Notes
- Homepage 에는 Ant/Maven 이 언급되지만 SpotBugs 는 Gradle 플러그인도 공식 지원함. Gradle 통합은 https://find-sec-bugs.github.io/bugs.htm 이 아니라 How-To 페이지(`https://find-sec-bugs.github.io/`) 메뉴에서 Maven 탭 외 Gradle 옵션 확인 필요.
- 1.14.0 기준 수치(144 / 826)는 버전 업시 변동 가능 — frontmatter `created: 2026-06-15` 기록.
- `SPRING_CSRF_PROTECTION_DISABLED`, `SPRING_CSRF_UNRESTRICTED_REQUEST_MAPPING` 패턴은 Spring Security CSRF 설정과 직접 연관 — `feature-static-analysis-quality-contract` 의 Spring 연동 룰셋 정의 시 참고.
## Related / 관련
- 같은 주제 sibling branch: [[raw/branch-notes/feature-dependency-vulnerability-management-contract]] — CVE/dependency 스캔 owner (FindSecBugs 와 역할 구분)
- 같은 주제 sibling branch: [[raw/branch-notes/feature-ci-quality-gates-contract]] — gate threshold/blocking 정책 owner
- 이 자료를 인용한 wiki 요약: `[[wiki/concepts/find-sec-bugs]]` (생성 시)