
프로그래밍 언어, 설정(config), 빌드 도구, CI를 위한 정적 분석(SAST) 도구와 린터(linter)를 선별해 모아 둔 디렉터리로, 코드 품질 개선에 중점을 둡니다.
이 저장소는 모든 프로그래밍 언어, 빌드 도구, 설정 파일 등을 위한 정적 분석 도구를 목록으로 제공합니다. 린터와 포매터와 같이 코드 품질을 향상시키는 도구에 중점을 둡니다. 공식 웹사이트인 analysis-tools.dev는 이 저장소를 기반으로 하며, 각 도구에 대한 순위, 사용자 댓글, 비디오와 같은 추가 리소스를 제공합니다.
이 프로젝트는 스폰서들의 아낌없는 지원 덕분에 가능했습니다.
이 프로젝트를 지원하고 싶다면 Github 스폰서 페이지를 방문해 주세요.
Pull Request는 언제나 환영합니다!
자매 프로젝트인 awesome-dynamic-analysis도 확인해 보세요.
abaplint — TypeScript로 작성된 ABAP용 린터입니다.
abapOpenChecks — SAP Code Inspector에 새롭고 사용자 정의 가능한 검사를 추가합니다.
Polyspace for Ada ©️ — 소스 코드에서 오버플로, 0으로 나누기, 배열 범위를 벗어난 접근 및 기타 특정 런타임 오류가 없음을 증명하는 코드 검증을 제공합니다.
SPARK ©️ — Ada용 정적 분석 및 정형 검증 도구 모음.
Astrée ©️ — Astrée는 C/C++ 애플리케이션에서 런타임 오류와 잘못된 동시성 동작이 없음을 자동으로 증명합니다. 부동소수점 연산에 대해 건전하며 매우 빠르고 매우 정밀합니다. 이 분석기는 MISRA/CERT/CWE/Adaptive Autosar 코딩 규칙도 검사하며 ISO 26262, DO-178C 레벨 A 및 기타 안전 표준에 대한 자격 인증을 지원합니다. Jenkins 및 Eclipse 플러그인을 사용할 수 있습니다.
CBMC — C 프로그램용 경계 모델 검사기로, 사용자 정의 어서션, 표준 어서션 및 여러 커버리지 메트릭 분석을 지원합니다.
clang-tidy — Clang 기반 C++ 린터 도구로, (제한적으로) 문제를 수정하는 기능도 제공합니다.
clazy — Clang 프레임워크 기반의 Qt 지향 정적 코드 분석기입니다. clazy는 clang이 Qt 의미론을 이해할 수 있게 하는 컴파일러 플러그인입니다. 불필요한 메모리 할당부터 API 오용까지 50개 이상의 Qt 관련 컴파일러 경고를 제공하며, 자동 리팩토링을 위한 fix-it도 포함합니다.
CMetrics — C 파일의 크기와 복잡성을 측정합니다.
CPAchecker — C 프로그램의 구성 가능한 소프트웨어 검증을 위한 도구입니다. CPAchecker라는 이름은 이 도구가 CPA 개념을 기반으로 하며 소프트웨어 프로그램 검사에 사용된다는 점을 반영하여 선택되었습니다.
cppcheck — C/C++ 코드의 정적 분석.
CppDepend ©️ — 코드를 측정, 조회, 시각화하여 예상치 못한 문제, 기술 부채 및 복잡성을 방지합니다.
cpplint — Google 스타일 가이드를 따르는 자동화된 C++ 검사기.
cqmetrics — C 코드 품질 메트릭.
CScout — C 및 C 전처리기 코드의 복잡성 및 품질 메트릭.
ENRE-cpp ⚠️ — ENRE(ENtity Relationship Extractor)는 소스 코드에서 코드 엔터티 의존성 또는 관계를 추출하는 도구입니다. ENRE-cpp는 @eclipse/CDT 기반의 C/C++용 엔터티 관계 추출기입니다. (개발 중)
ESBMC — ESBMC는 단일 및 다중 스레드 C/C++ 프로그램 검증을 위해 만족성 모듈로 이론(SMT)을 기반으로 하는 오픈 소스, 허용적 라이선스, 컨텍스트 경계 모델 검사기입니다.
flawfinder — 가능한 보안 취약점을 찾아냅니다.
flint++ ⚠️ — Facebook에서 개발 및 사용된 C++ 린트 프로그램인 flint의 크로스 플랫폼, 무의존성 포트입니다.
.NET Analyzers — .NET 컴파일러 플랫폼을 사용하여 분석기(진단 및 코드 수정)를 개발하는 조직입니다.
ArchUnitNET — 자동화된 테스트를 위해 C#에서 아키텍처 규칙을 지정하고 검증하는 C# 아키텍처 테스트 라이브러리.
code-cracker — Roslyn을 사용하여 리팩토링, 코드 분석 및 기타 유용한 기능을 제공하는 C# 및 VB용 분석기 라이브러리.
CSharpEssentials ⚠️ — C# Essentials는 C# 6 언어 기능을 쉽게 사용할 수 있게 해주는 Roslyn 진단 분석기, 코드 수정 및 리팩토링 모음입니다.
Designite ©️ — Designite는 다양한 아키텍처, 설계 및 구현 스멜 탐지, 다양한 코드 품질 메트릭 계산 및 추세 분석을 지원합니다.
Gendarme — Gendarme는 ECMA CIL 형식(Mono 및 .NET)의 코드가 포함된 프로그램과 라이브러리를 검사합니다.
Infer# ⚠️ — InferSharp(Infer#라고도 함)는 C#용 프로시저 간 분석이 가능한 확장 가능한 정적 코드 분석기입니다. Facebook의 Infer 기능을 통해 이 도구는 널 포인터 역참조와 리소스 누수를 탐지합니다.
Meziantou.Analyzer — 설계, 사용법, 보안, 성능 및 스타일 측면에서 C# 모범 사례를 적용하기 위한 Roslyn 분석기.
NDepend ©️ — 코드를 측정, 조회, 시각화하여 예상치 못한 문제, 기술 부채 및 복잡성을 방지합니다.
Puma Scan — Puma Scan은 개발 팀이 Visual Studio에서 코드를 작성할 때 일반적인 취약점(XSS, SQLi, CSRF, LDAPi, 암호화, 역직렬화 등)에 대한 실시간 보안 코드 분석을 제공합니다.
Roslynator — Roslyn 기반의 C#용 190개 이상의 분석기와 190개 이상의 리팩토링 모음.
SonarAnalyzer.CSharp — 이 Roslyn 분석기는 코드베이스에서 버그, 취약점 및 코드 스멜을 찾아 수정하도록 도와 안전하고 신뢰할 수 있으며 유지 관리가 용이한 클린 코드를 작성할 수 있게 해줍니다.
VSDiagnostics ⚠️ — VS와 통합되는 Roslyn 기반 정적 분석기 모음.
Wintellect.Analyzers — .NET 컴파일러 플랫폼("Roslyn") 진단 분석기 및 코드 수정.
Astrée ©️ — Astrée는 C/C++ 애플리케이션에서 런타임 오류와 잘못된 동시성 동작이 없음을 자동으로 증명합니다. 부동소수점 연산에 대해 건전하며 매우 빠르고 매우 정밀합니다. 이 분석기는 MISRA/CERT/CWE/Adaptive Autosar 코딩 규칙도 검사하며 ISO 26262, DO-178C 레벨 A 및 기타 안전 표준에 대한 자격 인증을 지원합니다. Jenkins 및 Eclipse 플러그인을 사용할 수 있습니다.
CBMC — C 프로그램용 경계 모델 검사기로, 사용자 정의 어서션, 표준 어서션 및 여러 커버리지 메트릭 분석을 지원합니다.
clang-tidy — Clang 기반 C++ 린터 도구로, (제한적으로) 문제를 수정하는 기능도 제공합니다.
clazy — Clang 프레임워크 기반의 Qt 지향 정적 코드 분석기입니다. clazy는 clang이 Qt 의미론을 이해할 수 있게 하는 컴파일러 플러그인입니다. 불필요한 메모리 할당부터 API 오용까지 50개 이상의 Qt 관련 컴파일러 경고를 제공하며, 자동 리팩토링을 위한 fix-it도 포함합니다.
CMetrics — C 파일의 크기와 복잡성을 측정합니다.
cppcheck — C/C++ 코드의 정적 분석.
CppDepend ©️ — 코드를 측정, 조회, 시각화하여 예상치 못한 문제, 기술 부채 및 복잡성을 방지합니다.
cpplint — Google 스타일 가이드를 따르는 자동화된 C++ 검사기.
cqmetrics — C 코드 품질 메트릭.
CScout — C 및 C 전처리기 코드의 복잡성 및 품질 메트릭.
ENRE-cpp ⚠️ — ENRE(ENtity Relationship Extractor)는 소스 코드에서 코드 엔터티 의존성 또는 관계를 추출하는 도구입니다. ENRE-cpp는 @eclipse/CDT 기반의 C/C++용 엔터티 관계 추출기입니다. (개발 중)
ESBMC — ESBMC는 단일 및 다중 스레드 C/C++ 프로그램 검증을 위해 만족성 모듈로 이론(SMT)을 기반으로 하는 오픈 소스, 허용적 라이선스, 컨텍스트 경계 모델 검사기입니다.
flawfinder — 가능한 보안 취약점을 찾아냅니다.
flint++ ⚠️ — Facebook에서 개발 및 사용된 C++ 린트 프로그램인 flint의 크로스 플랫폼, 무의존성 포트입니다.
GCC — GCC 컴파일러는 버전 10부터 정적 분석 기능을 제공합니다. 이 옵션은 GCC가 분석기 지원을 활성화한 상태로 구성된 경우에만 사용할 수 있습니다. 또한 진단 결과를 SARIF 형식의 JSON 파일로 출력할 수 있습니다(v13부터).
Dart Code Metrics ⚠️ — Dart용 추가 린터입니다. 코드 메트릭을 보고하고 안티 패턴을 검사하며 Dart 분석기에 대한 추가 규칙을 제공합니다.
effective_dart — Effective Dart의 지침에 해당하는 린터 규칙.
lint ⚠️ — Dart 및 Flutter 프로젝트를 위한 주관적이고 커뮤니티 주도적인 린트 규칙 모음입니다. pedantic과 유사하지만 더 엄격합니다.
Linter for dart ⚠️ — Dart용 스타일 린터.
DelphiLint — SonarDelphi 기반으로 즉석(on-the-fly) 코드 분석 및 린팅을 제공하는 Delphi IDE 패키지입니다.
Fix Insight ©️ — 정적 코드 분석을 위한 무료 IDE 플러그인입니다. Pro 에디션에는 자동화를 위한 명령줄 도구가 포함되어 있습니다.
Pascal Analyzer ©️ — 다양한 보고서를 제공하는 정적 코드 분석 도구입니다. 제한된 보고 기능을 갖춘 무료 Lite 버전도 제공됩니다.
Pascal Expert ©️ — 코드 분석용 IDE 플러그인입니다. Pascal Analyzer 보고 기능의 하위 집합을 포함하며 Delphi 2007 이상 버전에서 사용할 수 있습니다.
SonarDelphi — SonarQube 코드 품질 플랫폼용 Delphi 정적 분석기입니다.
credo — 코드 일관성과 교육에 중점을 둔 정적 코드 분석 도구입니다.
dialyxir — Elixir 프로젝트에서 Dialyzer 사용을 간소화하는 Mix 태스크입니다.
sobelow — Phoenix Framework를 위한 보안 중심 정적 분석.
elm-analyse ⚠️ — Elm 코드를 분석하고 결함을 식별하며 모범 사례를 적용할 수 있는 도구입니다.
elm-review — 전체 Elm 프로젝트를 분석하며, Elm 컴파일러가 제공하지 않는 보장을 추가하는 Elm로 작성된 공유 가능한 사용자 정의 규칙에 중점을 둡니다.
dialyzer — DIALYZER는 Erlang 프로그램용 DIscrepancy AnaLYZER(불일치 분석기)입니다. Dialyzer는 개별 Erlang 모듈 또는 전체 (집합) 애플리케이션에서 명확한 유형 오류, 프로그래밍 오류로 인해 죽었거나 도달할 수 없는 코드, 불필요한 테스트와 같은 소프트웨어 불일치를 식별하는 정적 분석 도구입니다. Dialyzer는 디버그 컴파일된 BEAM 바이트코드 또는 Erlang 소스 코드에서 분석을 시작합니다. 불일치에 대한 내용과 함께 파일 및 줄 번호가 보고됩니다. Dialyzer는 성공 유형(success typings) 개념을 기반으로 분석하여 건전한 경고(오탐 없음)를 제공합니다.
elvis — Erlang 스타일 검토자.
Primitive Erlang Security Tool (PEST) ⚠️ — Erlang 소스 코드를 기본적으로 스캔하고 Erlang 소스 코드를 안전하지 않게 만들 수 있는 함수 호출을 보고하는 도구입니다.
fantomas — F# 소스 코드 포맷터.
FSharpLint — F#용 린트 도구.
ionide-analyzers — FSharp.Analyzers.SDK로 구축된 F# 분석기 모음입니다.
Fortitude — Ruff에서 영감을 받아(그리고 이를 기반으로) 구축되었으며 커뮤니티 모범 사례를 기반으로 하는 Fortran 린터입니다. 최신 Fortran(2023) 표준을 지원합니다.
fprettify — Python으로 작성된 최신 Fortran 소스 코드용 자동 포맷터입니다. Fprettify는 코드에서 일관된 공백, 들여쓰기, 구분 기호 정렬을 제공하는 도구로, 문자 대소문자 변경 및 전처리기 지시문 처리 기능을 포함하며, 개정 내역을 보존하고 편집기 통합을 위해 테스트되었습니다.
i-Code CNES for Fortran ⚠️ — Fortran 77, Fortran 90 및 Shell을 위한 오픈소스 정적 코드 분석 도구입니다.
aligncheck — 비효율적으로 패킹된 구조체를 찾습니다.
bodyclose — HTTP 응답 본문이 닫혔는지 확인합니다.
deadcode — 사용되지 않는 코드를 찾습니다.
dingo-hunter ⚠️ — Go에서 교착 상태(deadlock)를 찾기 위한 정적 분석기.
dogsled — 너무 많은 빈 식별자가 있는 할당/선언을 찾습니다.
dupl — 잠재적으로 중복된 코드를 보고합니다.
errcheck — 오류 반환 값이 사용되는지 확인합니다.
errwrap ⚠️ — 새로운 %w 동사 지시문으로 Go 오류를 래핑하고 수정합니다. 이 도구는 fmt.Errorf() 호출을 분석하고 Go v1.13에서 도입된 새로운 %w 동사 지시문과 다른 동사 지시문을 포함하는 호출을 보고합니다. 또한 새 %w 랩 동사 지시문을 사용하도록 호출을 다시 작성할 수도 있습니다.
flen — Go 패키지의 함수 길이 정보를 가져옵니다.
Go Meta Linter ⚠️ — Go 린트 도구를 동시에 실행하고 출력을 정규화합니다. 새 프로젝트에는 golangci-lint를 사용하세요.
go tool vet --shadow — 의도하지 않게 섀도잉되었을 수 있는 변수를 보고합니다.
go vet — Go 소스 코드를 검사하고 의심스러운 점을 보고합니다.
go-consistent ⚠️ — Go 프로그램을 보다 일관성 있게 만드는 데 도움이 되는 분석기입니다.
go-critic — 다른 린터에서 현재 구현되지 않은 검사를 유지 관리하는 Go 소스 코드 린터입니다.
go/ast — ast 패키지는 Go 패키지의 구문 트리를 나타내는 데 사용되는 타입을 선언합니다.
goast — Rego를 사용하는 Go AST(추상 구문 트리) 기반 정적 분석 도구입니다.
gochecknoglobals ⚠️ — 전역 변수가 없는지 확인합니다.
brittany ⚠️ — Haskell 소스 코드 포맷터.
HLint — HLint는 Haskell 코드에 대한 가능한 개선 사항을 제안하는 도구입니다.
Liquid Haskell — Liquid Haskell는 Haskell 프로그램용 정제 타입 검사기(refinement type checker)입니다.
Stan — Stan은 Haskell 프로젝트를 분석하고 발견된 취약점을 감지된 문제에 대한 가능한 해결책과 함께 유용한 방식으로 출력하는 명령줄 도구입니다.
Weeder — Haskell 코드에서 죽은(사용되지 않는) export 또는 패키지 임포트를 감지하는 도구입니다.
Checker Framework — Java용 플러그형 타입 검사입니다. 단순한 버그 파인더가 아니라 정확성 보장을 제공하는 검증 도구입니다. 27개의 사전 구축된 타입 시스템이 포함되어 있으며, 사용자가 자신만의 타입 시스템을 정의할 수 있습니다. 매뉴얼에는 30개 이상의 사용자 기여 타입 시스템이 나열되어 있습니다.
checkstyle — Java 소스 코드가 코드 표준 또는 검증 규칙(모범 사례) 세트를 준수하는지 확인합니다.
ck — Java 소스 파일을 처리하여 Chidamber와 Kemerer 객체지향 메트릭을 계산합니다.
ckjm — 컴파일된 Java 파일의 바이트코드를 처리하여 Chidamber와 Kemerer 객체지향 메트릭을 계산합니다.
CogniCrypt ⚠️ — Java 소스 및 바이트코드에서 암호화 API의 잘못된 사용을 검사합니다.
Dataflow Framework — Java용 산업용 강도의 데이터 흐름 프레임워크입니다. Dataflow Framework는 Checker Framework, Google의 Error Prone, Uber의 NullAway, Meta의 Nullsafe 및 기타 컨텍스트에서 사용됩니다. Checker Framework와 함께 배포됩니다.
DesigniteJava ©️ — DesigniteJava는 다양한 아키텍처, 설계, 구현 스멜(smell) 탐지와 다양한 코드 품질 메트릭 계산을 지원합니다.
Diffblue ©️ — Diffblue는 소프트웨어 개발 팀에 AI 기반 코드 분석 및 테스트 솔루션을 제공하는 소프트웨어 회사입니다. 이 회사의 기술은 개발자가 테스트를 자동화하고 버그를 찾으며 소프트웨어 개발 프로세스에서 수작업을 줄이는 데 도움이 됩니다. 회사의 주요 제품인 Diffblue Cover는 AI를 사용하여 Java 코드에 대한 단위 테스트를 생성하고 실행함으로써 오류를 발견하고 코드 품질을 개선하는 데 도움을 줍니다.
Doop — Doop는 포인터 분석 알고리즘을 중심으로 한 Java/Android 프로그램 정적 분석용 선언적 프레임워크입니다. Doop는 다양한 분석과 함께 분석을 종단간 실행하기 위한 주변 스캐폴딩(사실 생성, 처리, 통계 등)을 제공합니다.
ENRE-java ⚠️ — ENRE(ENtity Relationship Extractor)는 소스 코드에서 코드 엔터티 종속성 또는 관계를 추출하는 도구입니다. ENRE-java는 @Eclipse JDT/parser 기반 Java 프로젝트용 엔터티 관계 추출기입니다.
Error Prone — 일반적인 Java 실수를 컴파일 타임 오류로 포착합니다.
fb-contrib — 추가 버그 탐지기가 포함된 FindBugs 플러그인입니다.
forbidden-apis — 특정 메서드/클래스/필드의 호출(예: 문자셋 없이 텍스트 스트림 읽기)을 감지하고 금지합니다. Maven/Gradle/Ant 호환.
— Google Java Style을 준수하도록 Java 소스 코드를 다시 포맷합니다.
aether ⚠️ — Node 또는 브라우저에서 사용자 JavaScript를 린트, 분석, 정규화, 변환, 샌드박스 실행, 실행, 단계별 실행 및 시각화합니다.
Closure Compiler — JavaScript 파일의 효율성을 높이고 크기를 줄이며 코드 경고를 제공하는 컴파일러 도구입니다.
ClosureLinter ⚠️ — 프로젝트의 모든 JavaScript 코드가 Google JavaScript 스타일 가이드의 지침을 따르도록 보장합니다. 또한 많은 일반적인 오류를 자동으로 수정할 수 있습니다.
complexity-report ⚠️ — JavaScript 프로젝트를 위한 소프트웨어 복잡도 분석.
DeepScan ©️ — 코딩 규칙보다는 런타임 오류와 품질 문제를 대상으로 하는 JavaScript 분석기입니다.
es6-plato ⚠️ — JavaScript(ES6) 소스 복잡도를 시각화합니다.
escomplex — JavaScript 계열 추상 구문 트리의 소프트웨어 복잡도 분석.
Esprima ⚠️ — 다목적 분석을 위한 ECMAScript 파싱 인프라.
flow — JavaScript용 정적 타입 검사기.
hegel ⚠️ — 타입 추론과 강력한 타입 시스템에 중점을 둔 JavaScript 정적 타입 검사기.
jshint ℹ️ — JavaScript 코드의 오류와 잠재적 문제를 감지하고 팀의 코딩 규칙을 적용합니다.
JSPrime ⚠️ — 정적 보안 분석 도구.
NodeJSScan ⚠️ — libsast와 semgrep으로 구동되며 njsscan CLI 도구를 기반으로 하는 Node.js 애플리케이션용 정적 보안 코드 스캐너입니다. 애플리케이션의 보안 상태에 대한 다양한 대시보드를 제공하는 UI를 갖추고 있습니다.
plato ⚠️ — JavaScript 소스 복잡도를 시각화합니다.
Polymer-analyzer — Web Components를 위한 정적 분석 프레임워크.
retire.js — 알려진 취약점이 있는 JavaScript 라이브러리 사용을 감지하는 스캐너.
JET — 버그와 타입 불안정성을 감지하는 정적 타입 추론 시스템.
StaticLint — Julia용 정적 코드 분석
detekt — Kotlin 코드용 정적 코드 분석.
diktat ⚠️ — Kotlin을 위한 엄격한 코딩 표준이자 코드 스멜을 감지하고 자동 수정하는 린터.
ktfmt — Kotlin 코드 규칙에 대한 공통 커뮤니티 표준을 준수하도록 Kotlin 소스 코드를 다시 포맷하는 프로그램입니다. ktfmt IntelliJ 플러그인은 플러그인 저장소에서 사용할 수 있습니다. 설치하려면 IDE 설정으로 이동하여 플러그인 범주를 선택하세요. Marketplace 탭을 클릭하고 ktfmt 플러그인을 검색한 다음 Install 버튼을 클릭하세요.
ktlint — 내장 포맷터가 포함된, 사소한 논쟁을 방지하는 Kotlin 린터.
luacheck — Lua 코드 린팅 및 정적 분석 도구.
lualint — lualint는 Lua 소스 코드에서 전역 변수 사용에 대한 luac 기반 정적 분석을 수행합니다.
Luanalysis ⚠️ — 정적 타입 Lua 개발을 위한 IDE.
MISS_HIT ⚠️ — MISS_HIT은 MATLAB, Simulink 및 Octave를 위한 무료 오픈소스 코드 품질 도구 모음입니다. MH Style(스타일 검사기 및 포맷터), MH Metrics(복잡도 메트릭), MH Lint(정적 분석), MH Trace(요구사항 추적성), MH Copyright(저작권 관리)를 포함합니다. MATLAB/Octave 설치 없이 독립적으로 작동하도록 설계되었습니다.
mlint ©️ — MATLAB 코드 파일에서 가능한 문제를 확인합니다.
DrNim — DrNim은 Nim 프론트엔드와 Z3 증명 엔진을 결합하여 Nim으로 작성된 소프트웨어를 검증/확인할 수 있게 합니다.
nimfmt ⚠️ — Nim 코드 포맷터 / 린터 / 스타일 검사기
Sys — (브라우저) 코드에서 버그를 찾기 위한 정적/기호 도구. LLVM AST를 사용하여 초기화되지 않은 메모리 액세스와 같은 버그를 찾습니다.
VeriFast — 분리 논리로 작성된 전제 조건과 사후 조건이 주석으로 달린 단일 스레드 및 다중 스레드 C 및 Java 프로그램의 정확성 속성에 대한 모듈식 형식 검증 도구입니다. 풍부한 명세를 표현하기 위해 프로그래머는 귀납적 데이터 타입, 이러한 데이터 타입에 대한 원시 재귀 순수 함수, 추상 분리 논리 술어를 정의할 수 있습니다.
CakeFuzzer — CakePHP 기반 웹 애플리케이션을 위한 웹 애플리케이션 보안 테스트 도구. CakeFuzzer는 실행 전에 무작위로 수정되는 사전 정의된 공격 세트를 사용합니다. CakePHP 프레임워크에 대한 깊은 이해를 활용하여 CakeFuzzer는 모든 잠재적 애플리케이션 진입점에 공격을 실행합니다.
churn-php — 리팩토링하기 좋은 후보를 발견하는 데 도움을 줍니다.
composer-dependency-analyser — 컴포저 의존성 문제를 빠르게 감지합니다.
dephpend — 의존성 분석 도구.
deprecation-detector — 더 이상 사용되지 않는(폐기된) (Symfony) 코드의 사용을 찾습니다.
deptrac — 소프트웨어 계층 간 의존성에 대한 규칙을 적용합니다.
DesignPatternDetector — PHP 코드에서 디자인 패턴을 감지합니다.
EasyCodingStandard — PHP_CodeSniffer와 PHP-CS-Fixer를 결합합니다.
Enlightn ⚠️ — Laravel 애플리케이션의 성능, 보안 및 코드 신뢰성을 개선하기 위한 권장 사항을 제공하는 Laravel용 정적 및 동적 분석 도구입니다. 120개의 자동 검사를 포함합니다.
exakat — PHP용 자동 코드 리뷰 엔진.
GrumPHP — 모든 커밋에서 코드를 검사합니다.
larastan — Laravel에 정적 분석을 추가하여 개발자 생산성과 코드 품질을 향상시킵니다. PHPStan을 기반으로 하는 래퍼입니다.
mago — Mago는 Rust로 작성된 PHP용 완전한 도구 체인으로, 최대 성능을 위해 처음부터 설계되었습니다.
✨ PER-CS에 따라 코드를 자동으로 포맷하여 스타일 논쟁을 영원히 끝내는 초고속 포맷터. - 🔎 문제가 되기 전에 스타일 문제, 불일치 및 코드 스멜을 잡아내는 지능형 린터. - 🔬 코드를 실행하지 않고도 타입 오류와 논리적 버그를 찾는 강력한 정적 분석기. - 🛡️ 의존성 규칙과 구조적 규칙을 적용하는 견고한 아키텍처 가드.
Mondrian ⚠️ — 그래프 이론을 사용하는 정적 분석 및 리팩토링 도구 모음.
parallel-lint — 이 도구는 직렬 검사보다 빠르게 PHP 파일의 구문을 확인하고 더 화려한 출력을 제공합니다.
Parse — 정적 보안 스캐너.
pdepend — PHP 코드에 대한 순환 복잡도와 같은 소프트웨어 메트릭을 계산합니다.
phan — etsy의 현대적인 정적 분석기.
Perl::Analyzer — Perl-Analyzer는 네임스페이스와 그 관계, 의존성, 상속, 패키지에서 구현·상속·재정의된 메서드, SUPER를 통한 부모 패키지의 메서드 호출에 대한 정보를 제공하여 사용자가 Perl 코드베이스를 분석하고 시각화할 수 있게 하는 프로그램 및 모듈 모음입니다.
Perl::Critic — 모범 사례를 위해 Perl 소스 코드를 비평합니다.
perltidy — Perltidy는 Perl 스크립트를 더 쉽게 읽을 수 있도록 들여쓰기하고 다시 포맷하는 Perl 스크립트입니다. 포맷은 명령줄 매개변수로 제어할 수 있습니다. 기본 매개변수 설정은 대략 Perl 스타일 가이드의 제안을 따릅니다. 스크립트 재포맷 외에도 Perltidy는 누락되거나 추가된 중괄호, 괄호, 대괄호로 인한 오류를 찾는 데 큰 도움이 됩니다. 오류 위치 파악에 매우 능숙하기 때문입니다.
zarn — 최신 Perl 앱을 위한 경량 정적 보안 분석 도구
autoflake — autoflake는 Python 코드에서 사용되지 않는 import와 사용되지 않는 변수를 제거합니다.
autopep8 — PEP 8 스타일 가이드를 준수하도록 Python 코드를 자동으로 포맷하는 도구입니다. pycodestyle 유틸리티를 사용하여 코드에서 포맷이 필요한 부분을 결정합니다.
bandit — Python 코드에서 일반적인 보안 문제를 찾는 도구.
bellybutton — 프로젝트별 맞춤 규칙을 지원하는 린팅 엔진.
Black — 타협 없는 Python 코드 포맷터.
Bowler — 현대 Python을 위한 안전한 코드 리팩토링. Bowler는 구문 트리 수준에서 Python을 조작하는 리팩토링 도구입니다. 결과 코드가 컴파일되고 실행됨을 보장하면서 안전하고 대규모의 코드 수정을 가능하게 합니다. 코드에서 복잡한 코드 수정을 생성하기 위한 간단한 명령줄 인터페이스와 유창한 Python API를 모두 제공합니다.
ciocheck ⚠️ — 린터, 포맷터 및 테스트 스위트 헬퍼. 린터로서 pep8, pydocstyle, flake8, pylint를 기반으로 하는 래퍼입니다.
cohesion ⚠️ — Python 클래스 응집도를 측정하는 도구.
deal — Python을 위한 계약에 의한 설계(Design by contract). 버그 없는 코드를 작성하세요. 코드에 몇 개의 데코레이터를 추가하기만 하면 테스트, 정적 분석, 형식 검증 등을 무료로 얻을 수 있습니다.
Dlint — Python 코드의 보안을 보장하는 도구.
Dodgy — Dodgy는 "수상해 보이는" 값을 검색하기 위해 코드베이스에 대해 실행하는 매우 기본적인 도구입니다. 우발적인 SCM diff 체크인이나 파일에 하드코딩된 비밀번호 또는 비밀 키와 같은 것을 감지하도록 설계된 일련의 간단한 정규 표현식입니다.
ENRE-py ⚠️ — ENRE(ENtity Relationship Extractor)는 소스 코드에서 코드 엔티티 의존성 또는 관계를 추출하는 도구입니다. ENRE-py는 표준 라이브러리의 Python Language Services를 기반으로 하는 Python용 엔티티 관계 추출기입니다.
CodeDepends — R용 정적 코드 분석.
cyclocomp — R 함수/표현식의 순환 복잡도를 정량화합니다.
flowR — R 프로그래밍 언어를 위한 프로그램 슬라이서 및 데이터 흐름 분석기입니다. 이 슬라이서를 사용하면 복잡한 프로그램을 특정 작업(예: 단일 또는 여러 플롯 생성, 유의성 검정 등)과 관련된 부분만으로 줄일 수 있습니다. 데이터 흐름 분석은 R 코드의 의미론에 대한 상세한 보기를 제공하여 다른 분석을 크게 개선할 수 있습니다. _flowR_을 사용하려면 Visual Studio Code 확장, RStudio 애드인, Docker 이미지 또는 R 패키지를 확인하세요.
goodpractice — R 패키지의 소스 코드를 분석하고 모범 사례 권장 사항을 제공합니다.
lintr — R용 정적 코드 분석.
R Language Server — R에 코드 완성, 리팩터링, 폴딩, 진단(lintr 사용) 및 더 많은 기능을 제공합니다.
rco — R 코드용 성능 최적화 도구(GUI 포함).
styler — R 소스 코드 파일의 서식 지정 및 R 코드의 보기 좋은 출력(pretty-printing).
Active Record Doctor — 데이터베이스 문제가 프로덕션에 영향을 미치기 전에 식별합니다.
brakeman — Ruby on Rails 애플리케이션용 정적 분석 보안 취약점 스캐너입니다.
Bullet — N+1 쿼리와 사용하지 않는 즉시 로딩(eager loading)을 제거하는 데 도움을 줍니다.
bundler-audit — Ruby Advisory Database에 보고된 보안 취약점이 있는 gem을 Gemfile.lock에서 감사합니다.
cane ⚠️ — 빌드의 일부로 코드 품질 임계값을 검사합니다.
Churn ⚠️ — 특정 체크인 시점에 프로젝트의 변경(churn) 파일, 클래스, 메서드를 제공하는 프로젝트입니다. 시간이 지남에 따라 이 도구는 변경 내역을 누적하여 프로젝트 수명 동안 파일, 클래스 또는 메서드가 변경된 횟수를 제공합니다.
DatabaseConsistency — 데이터베이스 스키마와 애플리케이션 모델 간의 불일치 및 비효율로 인한 다양한 문제를 방지하는 도구입니다.
dawnscanner — Ruby로 작성된 웹 애플리케이션용 정적 분석 보안 스캐너입니다. Sinatra, Padrino, Ruby on Rails 프레임워크를 지원합니다.
ERB Lint — ERB 또는 HTML 파일을 린트합니다.
ERB::Formatter — ERB 파일을 빠르고 정밀하게 포맷합니다.
Fasterer — 일반적인 Ruby 관용구 검사기입니다.
flay — Flay는 구조적 유사성이 있는 코드를 분석합니다.
flog — Flog는 읽기 쉬운 고통 보고서에서 가장 고통스러운 코드를 보고합니다. 점수가 높을수록 코드가 더 고통스러운 상태입니다.
Fukuzatsu — Ruby 클래스 파일의 코드 복잡도를 측정하는 도구입니다. 이 분석은 추가적인 "의견" 없이 순환 복잡도 알고리즘에 기반한 점수를 생성합니다.
htmlbeautifier — 내장 Ruby도 이해하는 HTML 정규화/미화 도구입니다. Rails 템플릿을 정리하는 데 이상적입니다.
laser ⚠️ — Ruby 코드용 정적 분석 및 스타일 린터입니다.
C2Rust — C2Rust는 C99 호환 코드를 Rust로 마이그레이션하는 데 도움을 줍니다. 이 변환기(또는 트랜스파일러)는 입력 C 코드를 밀접하게 반영하는 unsafe Rust 코드를 생성합니다.
cargo udeps — Cargo.toml에서 사용되지 않는 의존성을 찾습니다. 크레이트를 나열하는 "unused crates" 줄을 출력하거나, 사용되지 않은 크레이트가 없다는 줄을 출력합니다.
cargo-audit — RustSec Advisory Database에 보고된 보안 취약점이 있는 크레이트를 Cargo.lock에서 감사합니다.
cargo-bloat ⚠️ — 실행 파일에서 가장 많은 공간을 차지하는 것이 무엇인지 찾아냅니다. ELF(Linux, BSD), Mach-O(macOS) 및 PE(Windows) 바이너리를 지원합니다.
cargo-breaking — cargo-breaking은 두 브랜치 간 크레이트의 공개 API를 비교하고 변경된 내용을 표시하며 semver에 따라 다음 버전을 제안합니다.
cargo-call-stack — 전체 프로그램 정적 스택 분석입니다. 이 도구는 프로그램의 전체 호출 그래프를 dot 파일로 생성합니다.
cargo-deny — 의존성을 린트하기 위한 cargo 플러그인입니다. 명령줄 도구, Rust 크레이트 또는 CI용 GitHub Action으로 사용할 수 있습니다. 유효한 라이선스 정보, 중복 크레이트, 보안 취약점 등을 검사합니다.
cargo-expand — 현재 크레이트에 적용된 매크로 확장 및 #[derive] 확장 결과를 보여주는 Cargo 하위 명령입니다. 더 자세한 컴파일러 명령의 래퍼입니다.
cargo-geiger — unsafe Rust 코드 사용을 분석하기 위한 cargo 플러그인입니다. 보안 감사를 돕기 위한 통계 출력을 제공합니다.
cargo-inspect ⚠️ — 문법적 설탕(syntactic sugar) 없이 Rust 코드를 검사하여 컴파일러가 내부적으로 수행하는 작업을 확인합니다.
cargo-semver-checks — Rust 크레이트 릴리스에서 semver 위반을 스캔합니다. CLI를 직접 사용하거나, CI에서 GitHub Action으로, 또는 release-plz와 같은 릴리스 관리 도구를 통해 사용할 수 있습니다. crates.io에서 다운로드 상위 1000개 크레이트 중 6개 중 1개 이상에서 semver 위반을 발견했습니다.
cargo-show-asm — Rust 코드에 대해 생성된 어셈블리, LLVM-IR 및 MIR을 보여주는 cargo 하위 명령입니다.
linter-rust ⚠️ — rustc와 cargo를 사용하여 Atom에서 Rust 파일을 린트합니다.
lockbud — Rust 교착 상태(deadlock) 버그를 정적으로 탐지합니다. 현재 두 가지 일반적인 교착 상태 버그, 즉 이중 잠금(doublelock)과 충돌하는 순서의 잠금을 탐지합니다. 각 버그의 소스 코드 위치와 설명과 함께 JSON 형식으로 버그를 출력합니다.
MIRAI ⚠️ — Rust의 중간 수준 중간 언어에서 작동하는 추상 인터프리터로, 오염 분석(taint analysis)에 기반한 경고를 제공합니다.
prae ⚠️ — 지정한 임의의 불변 조건(invariant)을 항상 유지하도록 보장하는 타입 래퍼를 생성할 수 있는 편리한 매크로를 제공합니다.
Prusti ⚠️ — Viper 검증 인프라를 기반으로 하는 Rust용 정적 검증기입니다. 기본적으로 Prusti는 unreachable!() 및 panic!()과 같은 문이 도달할 수 없음을 증명하여 패닉이 없음을 검증합니다.
Rudra — Rust 메모리 안전성 및 정의되지 않은 동작 탐지 도구입니다. 단일 Rust 패키지와 crates.io의 모든 패키지를 분석할 수 있습니다.
Rust Language Server ⚠️ — '정의로 이동(goto definition)', 기호 검색, 재포맷, 코드 완성과 같은 기능을 지원하며 이름 바꾸기 및 리팩터링을 가능하게 합니다.
rust-analyzer — '정의로 이동(goto definition)', 타입 추론, 기호 검색, 재포맷, 코드 완성과 같은 기능을 지원하며 이름 바꾸기 및 리팩터링을 가능하게 합니다.
rust-audit — 알려진 버그 또는 보안 취약점이 있는 Rust 바이너리를 감사합니다. 이는 의존성 트리(Cargo.lock)에 대한 JSON 형식 데이터를 컴파일된 실행 파일의 전용 링커 섹션에 임베딩하여 작동합니다.
rustfix — rustc(및 clippy와 같은 타사 린트)가 제안하는 내용을 읽고 적용합니다.
rustfmt — 스타일 가이드라인에 따라 Rust 코드를 포맷하는 도구입니다.
RustViz — RustViz는 사용자가 Rust의 수명(Lifetime)과 대여(Borrowing) 메커니즘을 더 잘 이해할 수 있도록 간단한 Rust 프로그램에서 시각화를 생성하는 도구입니다. mdbook과 통합되는 그래픽 표시기가 포함된 SVG 파일을 생성하여 Rust 프로그램의 데이터 흐름 시각화를 렌더링합니다.
TangleGuard ©️ — 확장 가능한 소프트웨어 아키텍처를 이해하고 유지 관리하는 데 도움을 줍니다. 이를 위해 소스 코드에서 대화형의 중첩된 의존성 그래프를 생성합니다. 세부 수준을 선택하고 원하는 코드베이스 부분을 얻을 수 있습니다.
warnalyzer ⚠️ — 여러 크레이트로 구성된 Rust 프로젝트에서 사용되지 않는 코드를 표시합니다.
dbcritic — dbcritic은 테이블의 기본 키 제약 조건 누락과 같은 데이터베이스 스키마 문제를 찾습니다.
holistic — SQL 쿼리를 분석하는 1,300개 이상의 규칙을 제공합니다. SQL 스키마 정의와 쿼리 소스 코드를 입력받아 개선 권장 사항을 생성합니다. 코드 스멜, 사용되지 않는 인덱스, 사용되지 않는 테이블, 뷰, 구체화된 뷰 등을 감지합니다.
pgspot — PostgreSQL 확장 스크립트에서 취약점을 발견합니다. PostgreSQL 확장 스크립트 또는 기타 PostgreSQL SQL 코드에서 안전하지 않은 search_path 사용과 안전하지 않은 객체 생성을 찾습니다.
sleek — Sleek은 SQL 서식 지정용 CLI 도구입니다. SQL 코드 전반에 걸쳐 일관된 스타일을 유지하여 가독성과 생산성을 높이는 데 도움을 줍니다. 대부분의 작업은 sqlformat 크레이트가 처리합니다.
sqlcheck ⚠️ — SQL 쿼리에서 안티패턴을 자동으로 식별합니다.
SQLFluff — 여러 방언을 지원하는 SQL 린터 및 포맷터입니다.
sqlint — 간단한 SQL 린터입니다.- squawk — PostgreSQL용 린터로, 마이그레이션에 중점을 둡니다. 데이터베이스 마이그레이션으로 인한 예기치 않은 다운타임을 방지하고 Postgres 스키마 및 SQL에 대한 모범 사례를 장려합니다.
tsqllint ⚠️ — T-SQL 전용 린터입니다.
TSqlRules ⚠️ — SQL Server용 TSQL 정적 코드 분석 규칙입니다.
Visual Expert ©️ — PowerBuilder, Oracle 및 SQL Server용 코드 분석 도구입니다. 코드를 탐색, 분석 및 문서화합니다.
linter ⚠️ — Linter는 다양한 잠재적 버그, 비효율성, 스타일 문제에 대한 컴파일 타임 검사를 추가하는 Scala 정적 분석 컴파일러 플러그인입니다.
Scalastyle — Scalastyle는 Scala 코드를 검사하여 잠재적인 문제를 알려줍니다.
scapegoat — 정적 코드 분석을 위한 Scala 컴파일러 플러그인입니다.
WartRemover — 유연한 Scala 코드 린팅 도구입니다.
bashate — bash 프로그램을 위한 코드 스타일 강제 도구입니다. 출력 형식은 pycodestyle(pep8) 기본 출력 형식을 따르는 것을 목표로 합니다.
i-Code CNES for Shell ⚠️ — Shell 및 Fortran(77과 90)을 위한 오픈소스 정적 코드 분석 도구입니다.
kmdr — 터미널에서 명령어를 학습하기 위한 CLI 도구입니다. kmdr는 모든 속성을 설명과 함께 명령어를 분해하여 제공합니다.
sh — bash를 지원하는 셸 파서, 포맷터, 인터프리터입니다. shfmt를 포함합니다.
shellcheck — ShellCheck는 bash/sh 셸 스크립트에 대한 경고와 제안을 제공하는 정적 분석 도구입니다.
shellharden — 구문 하이라이터이자 스크립트를 ShellCheck 규정에 맞게 재작성하는 작업을 반자동화하는 도구로, 주로 따옴표 처리에 중점을 둡니다.
SwiftFormat — Swift 코드를 재포맷하기 위한 라이브러리 및 명령줄 포맷팅 도구입니다.
SwiftLint — Swift 스타일과 규칙을 강제하는 도구입니다.
Tailor ⚠️ — Apple의 Swift 프로그래밍 언어로 작성된 소스 코드를 위한 정적 분석 및 린트 도구입니다.
Frink — Tcl 포맷팅 및 정적 검사 프로그램입니다(프로그램을 예쁘게 정리하거나, 최소화하거나, 난독화하거나, 단순히 정합성 검사를 수행할 수 있습니다).
Nagelfar — Tcl용 정적 구문 검사기입니다.
tclchecker — 정적 구문 분석 모듈입니다(TDK의 일부).
Angular ESLint — Angular 프로젝트용 린터
Codelyzer ⚠️ — Angular 2 TypeScript 프로젝트의 정적 코드 분석을 위한 tslint 규칙 모음입니다.
ENRE-ts ⚠️ — ENRE(ENtity Relationship Extractor)는 소스 코드에서 코드 엔티티 의존성 또는 관계를 추출하는 도구입니다. ENRE-ts는 @babel/parser 기반의 ECMAScript 및 TypeScript용 엔티티 관계 추출기입니다.
fta — TypeScript 프로젝트를 위한 Rust 기반 정적 분석 도구
stc ⚠️ — Rust로 작성된 빠른 TypeScript 타입 검사기
tslint ⚠️ — TSLint는 2019년부터 더 이상 사용되지 않습니다(deprecated). 자세한 내용은 이 이슈를 참조하세요. 이제 TypeScript 린팅을 위한 최선의 선택은 typescript-eslint입니다.
TSLint는 TypeScript 코드의 가독성, 유지보수성 및 기능 오류를 검사하는 확장 가능한 정적 분석 도구입니다. 최신 에디터와 빌드 시스템에서 널리 지원되며, 고유한 린트 규칙, 구성 및 포맷터로 사용자 지정할 수 있습니다.
tslint-clean-code — Clean Code 핸드북에서 영감을 받은 TSLint 규칙 모음입니다.
tslint-microsoft-contrib ⚠️ — Microsoft가 유지 관리하는 TypeScript 프로젝트의 정적 코드 분석을 위한 tslint 규칙 모음입니다.
TypeScript Call Graph — TypeScript 파일에서 함수와 호출의 대화형 그래프를 생성하는 CLI 도구
TypeScript ESLint — eslint용 TypeScript 언어 확장입니다.
zod — 정적 타입 추론을 갖춘 TypeScript 우선 스키마 검증 라이브러리입니다. 중복 타입 선언을 없애는 것이 목표입니다. Zod를 사용하면 검증기를 한 번만 선언하면 Zod가 정적 TypeScript 타입을 자동으로 추론합니다. 더 단순한 타입을 복잡한 데이터 구조로 구성하기 쉽습니다.
Icarus Verilog ⚠️ — IEEE-1364 Verilog로 작성된 소스 코드를 특정 대상 형식으로 컴파일하여 동작하는 Verilog 시뮬레이션 및 합성 도구입니다.
svls — 린트 기능을 포함한 Verilog 및 SystemVerilog용 Language Server Protocol 구현입니다.
verible-linter-action ⚠️ — Verible을 활용하여 GitHub Actions에서 SystemVerilog 린팅을 자동으로 수행합니다. Verilog 및 SystemVerilog 소스 파일을 린트하고 Pull Request에서 오류가 있는 코드 줄에 자동으로 주석을 답니다.
Verilator — Verilog를 C++ 또는 SystemC의 사이클 정확한 동작 모델로 변환하는 도구입니다. 린트 코드 품질 검사를 수행합니다.
vscode-verilog-hdl-support — VS Code용 Verilog HDL/SystemVerilog/Bluespec SystemVerilog 지원입니다. Icarus Verilog, Vivado Logical Simulation, Modelsim 및 Verilator의 구문 강조 및 린팅 지원을 제공합니다.
Twiggy — 바이너리의 호출 그래프를 분석하여 코드 크기를 프로파일링합니다. 목표는 wasm 바이너리 크기를 줄이는 것입니다.
wasm-language-tools — WebAssembly Language Tools는 WebAssembly Text Format의 편집 경험을 제공하고 개선하는 것을 목표로 합니다. 또한 WebAssembly Text Format용 즉시 사용 가능한 포맷터(일명 pretty printer)를 제공합니다.
ale — 많은 언어를 지원하는 Vim 및 NeoVim용 비동기 린트 엔진입니다.
Android Studio — IntelliJ IDEA를 기반으로 하며, Android Lint를 포함한 Android용 도구가 번들로 제공됩니다.
AppChecker ©️ — C/C++/C#, PHP 및 Java용 정적 분석 도구입니다.
Application Inspector ©️ — 취약점을 검증하기 위한 익스플로잇을 생성하는 상용 정적 코드 분석 도구입니다.
ApplicationInspector — 기능 탐지를 위한 400개 이상의 규칙 패턴에 대한 보고서를 생성합니다(예: 앱에서 암호화 또는 버전 관리 사용).
ArchUnit — Java 또는 Kotlin 아키텍처를 단위 테스트합니다.
ast-grep — ast-grep는 추상 구문 트리(AST)를 사용하여 대규모 코드를 관리하도록 설계된 강력한 도구입니다. grep, eslint, codemod의 하이브리드라고 생각하면 됩니다. 일반 텍스트가 아닌 코드 구조를 기반으로 검색, 린트, 재작성이 가능합니다. 여러 언어를 지원하며 확장 가능하도록 설계되어 사용자 정의 언어를 등록할 수 있습니다.
Atom-Beautify ⚠️ — Atom 에디터에서 HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#, Objective-C, CoffeeScript, TypeScript, Coldfusion, SQL 등을 beautify합니다.
autocorrect — CJK(중국어, 일본어, 한국어) 간의 띄어쓰기, 단어, 구두점을 교정하여 카피라이팅을 개선하는 데 도움을 주는 린터 및 포맷터입니다.
Axivion Bauhaus Suite ©️ — C/C++, C#/.NET, Java 및 Ada 83/Ada 95에 대해 오류가 발생하기 쉬운 코드 위치, 스타일 위반, 복제 또는 죽은 코드, 순환 의존성 등을 추적합니다.
Bearer — 민감한 데이터 노출(PII, PHI, PD)로 이어지는 보안 위험과 취약점을 발견, 필터링, 우선순위화하는 오픈소스 정적 코드 분석 도구입니다. 보안 및 엔지니어링 팀을 위해 구축되었으며, 구성이 용이하고 쉽게 확장할 수 있습니다.
Better Code Hub ©️ — Better Code Hub는 소프트웨어 품질 분야의 권위자인 Software Improvement Group이 만든 10가지 엔지니어링 지침에 따라 GitHub 코드베이스를 검사합니다.
Betterscan CE ⚠️ — 코드와 인프라(다양한 Git 저장소 지원, 클라우드 스택, CLI, 웹 인터페이스 플랫폼, 통합 기능 제공)에서 보안 및 품질 문제를 검사합니다. 여러 도구/스캐너를 사용한 코드 스캐닝/SAST/린팅을 One Report로 중복 제거합니다(AI 선택 사항).
biome — 웹 프로젝트 유지 관리를 위한 기능을 제공하는 것을 목표로 하는 툴체인입니다. Biome은 코드를 순식간에 포맷하고 린트합니다. Rome의 후속 제품입니다. 궁극적으로 Babel, ESLint, webpack, Prettier, Jest 등을 대체하도록 설계되었습니다.
Frama-C — C 코드를 위한 건전하고 확장 가능한 정적 분석기.
GCC — GCC 컴파일러는 버전 10부터 정적 분석 기능을 제공합니다. 이 옵션은 GCC가 분석기 지원을 활성화한 상태로 구성된 경우에만 사용할 수 있습니다. 또한 진단 결과를 SARIF 형식의 JSON 파일로 출력할 수 있습니다(v13부터).
Goblint — 다중 스레드 C 프로그램 분석을 위한 정적 분석기입니다. 주로 데이터 레이스 탐지에 중점을 두지만, 버퍼 오버플로 및 널 포인터 역참조와 같은 다른 런타임 오류도 보고합니다.
Helix QAC ©️ — 임베디드 소프트웨어를 위한 엔터프라이즈급 정적 분석. MISRA, CERT 및 AUTOSAR 코딩 표준을 지원합니다.
IKOS — LLVM 기반의 C/C++ 코드용 건전한 정적 분석기.
KLEE — LLVM 컴파일러 인프라 위에 구축된 동적 기호 실행 엔진입니다. 테스트 케이스가 가능한 한 많은 프로그램 부분을 실행할 수 있도록 테스트 케이스를 자동 생성할 수 있습니다.
LDRA ©️ — MISRA C & C++, JSF++ AV, CWE, CERT C, CERT C++ 및 사용자 정의 규칙을 포함한 다양한 표준에 대한 정적 분석(TBVISION)을 포함하는 도구 모음입니다.
MATE ⚠️ — C 및 C++ 코드의 버그 사냥에 중점을 둔 대화형 프로그램 분석 도구 모음입니다. MATE는 코드 속성 그래프(CPG)를 사용하여 애플리케이션별 및 저수준 취약점 분석을 통합함으로써, 대상 C/C++ 프로그램의 구현 세부 사항과 고수준 의미론 모두에 의존하는 매우 애플리케이션 특화된 취약점을 발견할 수 있게 합니다.
PC-lint ©️ — C/C++용 정적 분석. Windows/Linux/MacOS에서 기본적으로 실행됩니다. C11/C18 및 C++17을 지원하며 사실상 모든 플랫폼의 코드를 분석합니다.
Phasar — 테인트 및 타입 상태 분석을 제공하는 LLVM 기반 정적 분석 프레임워크.
Polyspace Bug Finder ©️ — C 및 C++ 임베디드 소프트웨어에서 런타임 오류, 동시성 문제, 보안 취약점 및 기타 결함을 식별합니다.
Polyspace Code Prover ©️ — C 및 C++ 소스 코드에서 오버플로, 0으로 나누기, 배열 범위를 벗어난 접근 및 기타 특정 런타임 오류가 없음을 증명하는 코드 검증을 제공합니다.
scan-build — 일반 빌드를 통해 Clang에 내장된 Clang 정적 분석기를 구동하는 프론트엔드.
splint — 어노테이션 지원 정적 프로그램 검사기.
SVF — C 및 C++ 프로그램에 대해 확장 가능하고 정밀한 프로시저 간 의존성 분석을 가능하게 하는 정적 도구.
TrustInSoft Analyzer ©️ — 코딩 오류 및 관련 보안 취약점의 철저한 탐지. 건전한 정의되지 않은 동작 탐지(버퍼 오버플로, 배열 범위를 벗어난 접근, 널 포인터 역참조, use-after-free, 0으로 나누기, 초기화되지 않은 메모리 접근, 부호 있는 오버플로, 잘못된 포인터 산술 등), 데이터 흐름 및 제어 흐름 검증, 그리고 정형 명세의 완전한 기능 검증을 포함합니다. C18까지의 모든 C 버전과 C++20까지의 C++ 버전을 지원합니다. TrustInSoft Analyzer는 2023년 2분기에 ISO 26262 인증(TCL3)을 획득할 예정입니다. MISRA C 검사기도 함께 제공됩니다.
vera++ ⚠️ — Vera++는 C++ 소스 코드의 검증, 분석 및 변환을 위한 프로그래밍 가능한 도구입니다.
Helix QAC ©️ — 임베디드 소프트웨어를 위한 엔터프라이즈급 정적 분석. MISRA, CERT 및 AUTOSAR 코딩 표준을 지원합니다.
IKOS — LLVM 기반의 C/C++ 코드용 건전한 정적 분석기.
KLEE — LLVM 컴파일러 인프라 위에 구축된 동적 기호 실행 엔진입니다. 테스트 케이스가 가능한 한 많은 프로그램 부분을 실행할 수 있도록 테스트 케이스를 자동 생성할 수 있습니다.
LDRA ©️ — MISRA C & C++, JSF++ AV, CWE, CERT C, CERT C++ 및 사용자 정의 규칙을 포함한 다양한 표준에 대한 정적 분석(TBVISION)을 포함하는 도구 모음입니다.
MATE ⚠️ — C 및 C++ 코드의 버그 사냥에 중점을 둔 대화형 프로그램 분석 도구 모음입니다. MATE는 코드 속성 그래프(CPG)를 사용하여 애플리케이션별 및 저수준 취약점 분석을 통합함으로써, 대상 C/C++ 프로그램의 구현 세부 사항과 고수준 의미론 모두에 의존하는 매우 애플리케이션 특화된 취약점을 발견할 수 있게 합니다.
PC-lint ©️ — C/C++용 정적 분석. Windows/Linux/MacOS에서 기본적으로 실행됩니다. C11/C18 및 C++17을 지원하며 사실상 모든 플랫폼의 코드를 분석합니다.
Phasar — 테인트 및 타입 상태 분석을 제공하는 LLVM 기반 정적 분석 프레임워크.
Polyspace Bug Finder ©️ — C 및 C++ 임베디드 소프트웨어에서 런타임 오류, 동시성 문제, 보안 취약점 및 기타 결함을 식별합니다.
Polyspace Code Prover ©️ — C 및 C++ 소스 코드에서 오버플로, 0으로 나누기, 배열 범위를 벗어난 접근 및 기타 특정 런타임 오류가 없음을 증명하는 코드 검증을 제공합니다.- scan-build — 일반 빌드를 통해 Clang에 내장된 Clang Static Analyzer를 구동하는 프런트엔드입니다.
splint — 주석 지원 정적 프로그램 검사기.
SVF — C 및 C++ 프로그램에 대해 확장 가능하고 정밀한 프로시저 간 의존성 분석을 가능하게 하는 정적 도구.
TrustInSoft Analyzer ©️ — 코딩 오류 및 관련 보안 취약점의 철저한 탐지. 이는 건전한(sound) 미정의 동작 탐지(버퍼 오버플로, 배열 범위 밖 접근, 널 포인터 역참조, use-after-free, 0으로 나누기, 초기화되지 않은 메모리 접근, 부호 있는 오버플로, 잘못된 포인터 연산 등), 데이터 흐름 및 제어 흐름 검증, 그리고 공식 명세의 완전한 기능 검증을 포함합니다. C18까지의 모든 C 버전과 C++20까지의 모든 C++ 버전이 지원됩니다. TrustInSoft Analyzer는 2023년 2분기에 ISO 26262 인증(TCL3)을 획득할 예정입니다. MISRA C 검사기도 함께 번들로 제공됩니다.
vera++ ⚠️ — Vera++는 C++ 소스 코드의 검증, 분석 및 변환을 위한 프로그래밍 가능한 도구입니다.
goconst — 상수로 대체할 수 있는 반복 문자열을 찾습니다.
gocyclo — Go 소스 코드에서 함수의 순환 복잡도를 계산합니다.
gofmt -s — 코드가 올바르게 포맷되었고 더 이상 단순화할 수 없는지 확인합니다.
gofumpt — gofmt보다 더 엄격한 형식을 강제하면서도 이전 버전과 호환됩니다. 즉, gofumpt는 gofmt가 허용하는 형식의 하위 집합을 만족합니다.
이 도구는 Go 1.19 기준 gofmt의 포크이며 Go 1.18 이상이 필요합니다. Go 코드 형식을 지정하는 drop-in 대체 도구로 사용할 수 있으며, gofumpt 후 gofmt를 실행해도 변경 사항이 없어야 합니다.
gofumpt는 gofmt 형식과 충돌하는 규칙을 추가하지 않습니다. 따라서 gofmt와 경쟁하기보다는 확장합니다.
goimports — 누락되었거나 참조되지 않은 패키지 임포트를 확인합니다.
gokart — 오탐(false positive) 최소화에 중점을 둔 Golang 보안 분석입니다. 변수 및 함수 인수의 출처를 추적하여 입력 소스가 안전한지 여부를 판단할 수 있습니다.
GolangCI-Lint — Go용 빠른 린터 러너입니다. 여러 Go 린터를 집계하고 통합된 구성, 캐싱, 출력 형식을 제공합니다. Go Meta Linter의 대안입니다.
golint — Go 소스 코드의 코딩 스타일 실수를 출력합니다.
goreporter — 많은 린터를 동시에 실행하고 출력을 보고서로 정규화합니다.
goroutine-inspect — Golang 고루틴 덤프를 분석하는 대화형 도구입니다.
gosec (gas) — Go AST를 스캔하여 소스 코드에서 보안 문제를 검사합니다.
gotype — Go 컴파일러와 유사한 구문 및 의미 분석.
govulncheck — Govulncheck는 Go 코드에 영향을 미치는 알려진 취약점을 보고합니다. 소스 코드 또는 바이너리의 심볼 테이블에 대한 정적 분석을 사용하여 애플리케이션에 영향을 줄 수 있는 보고만 좁힙니다. 기본적으로 govulncheck는 https://vuln.go.dev의 Go 취약점 데이터베이스에 요청을 보냅니다. 취약점 데이터베이스에 대한 요청에는 코드나 프로그램의 다른 속성이 아닌 모듈 경로만 포함됩니다.
ineffassign — Go 코드에서 무효한 할당을 감지합니다.
interfacer ⚠️ — 사용할 수 있는 더 좁은 인터페이스를 제안합니다.
lll — 긴 줄을 보고합니다.
maligned ⚠️ — 필드를 정렬하면 메모리를 덜 차지하는 구조체를 감지합니다.
misspell — 흔히 철자가 틀린 영어 단어를 찾습니다.
nakedret ⚠️ — 네이키드 리턴(명시적 값 없이 반환)을 찾습니다.
nargs — 함수 선언에서 사용되지 않는 인수를 찾습니다.
OSV-Scanner — Go로 작성된 취약점 스캐너로 OSV.dev가 제공하는 데이터를 사용합니다. Google이 개발했으며 여러 언어와 패키지 관리자의 종속성에서 알려진 취약점을 스캔합니다. 컨테이너 스캔, 라이선스 스캔, 안내된 수정(guided remediation)을 지원합니다. 잠금 파일, SBOM, 컨테이너 이미지를 사용하여 보안 문제를 식별합니다.
prealloc — 잠재적으로 사전 할당할 수 있는 슬라이스 선언을 찾습니다.
Reviewdog — 모든 코드 호스팅 서비스에서 모든 린터의 리뷰 댓글을 게시하는 도구입니다.
revive — Go용 빠르고 구성 가능하며 확장 가능하고 유연하며 아름다운 린터입니다. golint의 drop-in 대체 도구입니다.
safesql ⚠️ — SQL 인젝션으로부터 보호하는 Golang용 정적 분석 도구입니다.
shisho ⚠️ — 개발자와 보안 팀을 위해 설계된 경량 정적 코드 분석기입니다. sed와 유사하지만 코드를 위한 직관적인 DSL을 사용하여 소스 코드를 분석하고 변환할 수 있습니다.
staticcheck — 버그 찾기, 코드 단순화, 성능 개선에 특화된 Go 정적 분석 도구입니다.
structcheck — 사용되지 않는 구조체 필드를 찾습니다.
structslop — 최대 공간/할당 효율성을 위해 구조체 필드 재배열을 권장하는 Go용 정적 분석기입니다.
test — stdlib testing 모듈의 테스트 실패 위치를 표시합니다.
unconvert ⚠️ — 불필요한 타입 변환을 감지합니다.
unparam — 사용되지 않는 함수 매개변수를 찾습니다.
varcheck — 사용되지 않는 전역 변수와 상수를 찾습니다.
wsl — 올바른 위치에 빈 줄을 적용합니다.
HuntBugs ⚠️ — Procyon Compiler Tools 기반의 바이트코드 정적 분석 도구로, FindBugs를 대체하는 것을 목표로 합니다.
IntelliJ IDEA ©️ — Java 및 Kotlin에 대한 많은 검사가 번들로 제공되며 리팩토링, 포맷팅 등을 위한 도구가 포함되어 있습니다.
JArchitect ©️ — 코드를 측정, 쿼리, 시각화하고 예기치 않은 문제, 기술 부채, 복잡성을 방지합니다.
JBMC — Java(바이트코드)용 유계 모델 검사기로, 사용자 정의 어서션, 표준 어서션, 여러 커버리지 메트릭 분석을 검증합니다.
Mariana Trench — Android 및 Java 애플리케이션을 위한 보안 중심 정적 분석 도구입니다. Mariana Trench는 Dalvik 바이트코드를 분석하며 수천만 줄에 달하는 대규모 코드베이스에서 빠르게 실행되도록 설계되었습니다. 코드 변경 시, 저장소에 반영되기 전에 취약점을 찾을 수 있습니다.
NullAway — 낮은 빌드 시간 오버헤드를 가진 타입 기반 널 포인터 검사기이며, Error Prone 플러그인입니다.
OWASP Dependency Check ⚠️ — 공개적으로 알려진 취약점이 있는지 종속성을 확인합니다.
qulice — 몇 가지 (사전 구성된) 정적 분석 도구(checkstyle, PMD, Findbugs, ...)를 결합합니다.
RefactorFirst — Java 코드베이스에서 먼저 리팩토링해야 하는 God Class 및 고결합(Highly Coupled) 클래스를 식별하고 우선순위를 지정합니다.
Soot — Java 및 Android 애플리케이션을 분석하고 변환하기 위한 프레임워크입니다.
Spoon — Spoon은 Java 소스 코드(Java 9, 10, 11, 12, 13, 14 포함)를 분석하고 변환하는 메타프로그래밍 라이브러리입니다. 소스 파일을 파싱하여 강력한 분석 및 변환 API를 갖춘 잘 설계된 AST를 구축합니다. Maven 및 Gradle에 통합할 수 있습니다.
SpotBugs — SpotBugs는 FindBugs의 후속 제품입니다. Java 코드에서 버그를 찾기 위한 정적 분석 도구입니다.- steady ⚠️ — 알려진 취약점이 있는 오픈소스 의존성을 찾기 위해 Java 애플리케이션을 분석합니다. 정적 분석과 테스트를 함께 사용하여 코드 컨텍스트와 사용 방식을 파악함으로써 더 높은 정확도를 제공합니다.
Violations Lib — 정적 코드 분석의 보고서 파일을 파싱하기 위한 Java 라이브러리입니다. 여러 Jenkins, Maven 및 Gradle 플러그인에서 사용됩니다.
RSLint ⚠️ — 가능한 한 빠르고, 사용자 정의가 가능하며, 사용하기 쉽도록 설계된 Rust로 작성된 (작업 중) JavaScript 린터.
standard — JavaScript 스타일 가이드 문제를 검사하는 npm 모듈.
tern — 깊이 있는 크로스 에디터 언어 지원을 위한 JavaScript 코드 분석기.
TypL ⚠️ — TypL을 사용하면 완전히 표준적인 JS를 작성하기만 하면 도구가 강력한 추론을 통해 타입을 파악합니다.
xo — 많은 유용한 기능이 포함된, 의견이 반영되었지만 구성 가능한 ESLint 래퍼입니다. 엄격하고 읽기 쉬운 코드를 강제합니다.
yardstick ⚠️ — JavaScript 코드 메트릭.
PHP Architecture Tester — 사용하기 쉬운 PHP용 아키텍처 테스트 도구.
PHP Assumptions — 취약한 가정을 검사합니다.
PHP Coding Standards Fixer — PSR-1, PSR-2 및 Symfony 표준과 같은 표준에 따라 코드를 수정합니다.
PHP Insights — 콘솔에서 즉시 PHP 품질 검사를 수행합니다. 코드 품질과 코딩 스타일 분석은 물론 코드 아키텍처와 그 복잡성에 대한 개요를 제공합니다.
Php Inspections (EA Extended) — PHP용 정적 코드 분석기.
PHP Refactoring Browser — 리팩토링 헬퍼.
PHP Semantic Versioning Checker — 시맨틱 버저닝에 따른 다음 버전을 제안합니다.
PHP-Parser — PHP로 작성된 PHP 파서.
php-speller — PHP 맞춤법 검사 라이브러리.
PHP-Token-Reflection ⚠️ — PHP 내부 리플렉션을 에뮬레이션하는 라이브러리.
php7cc ⚠️ — PHP 7 호환성 검사기.
php7mar ⚠️ — 개발자가 코드를 PHP 7로 빠르게 포팅하도록 지원합니다.
PHP_CodeSniffer ⚠️ — 정의된 코딩 표준 집합의 위반을 감지합니다.
PHPArkitect — PHPArkitect는 워크플로에 아키텍처 제약 검사를 추가할 수 있게 하여 PHP 코드베이스의 일관성과 견고성을 유지하도록 도와줍니다. 적용하려는 제약 조건을 간단하고 읽기 쉬운 PHP 코드로 표현할 수 있습니다.
phpca ⚠️ — 내장되지 않은 확장 기능의 사용을 찾습니다.
phpcpd ⚠️ — PHP 코드용 복사/붙여넣기 감지기.
phpdcd ⚠️ — PHP 코드용 데드 코드 감지기(DCD).
PhpDependencyAnalysis ⚠️ — 프로젝트의 의존성 그래프를 구축합니다.
PhpDeprecationDetector ⚠️ — 최신 인터프리터 버전에서 더 이상 사용되지 않는 기능과 관련된 문제를 검색하는 PHP 코드 분석기입니다. 제거된 객체(함수, 변수, 상수 및 ini 지시문), 더 이상 사용되지 않는 함수 기능, 금지된 이름이나 트릭(예: 최신 버전의 예약 식별자)의 사용을 찾습니다.
phpdoc-to-typehint ⚠️ — PHPDoc 주석을 사용하여 기존 PHP 프로젝트에 스칼라 타입 힌트와 반환 타입을 추가합니다.
phpDocumentor — 문서를 생성하기 위해 PHP 소스 코드를 분석합니다.
phploc ⚠️ — PHP 프로젝트의 크기를 빠르게 측정하고 구조를 분석하는 도구.
PHPMD — 코드에서 가능한 버그를 찾습니다.
PhpMetrics — 다양한 코드 품질 메트릭을 계산하고 시각화합니다.
phpmnd — 매직 넘버를 감지하는 데 도움을 줍니다.
PHPQA — QA 도구(phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics)를 실행하기 위한 도구.
phpqa - jakzal — 하나의 컨테이너에 PHP 정적 분석을 위한 많은 도구.
phpqa - jmolivas — PHPQA 올인원 분석기 CLI 도구.
phpsa ⚠️ — PHP용 정적 분석 도구.
PHPStan — PHP 정적 분석 도구 - 코드를 실행하지 않고 버그를 발견하세요!
Progpilot — 보안 목적의 정적 분석 도구.
Psalm — PHP 애플리케이션에서 타입 오류를 찾기 위한 정적 분석 도구.
Qafoo Quality Analyzer ⚠️ — 메트릭과 소스 코드를 시각화합니다.
rector — 모든 PHP 5.3+ 코드의 즉시 업그레이드 및 자동 리팩토링. 코드를 PHP 7.4, 8.0 이상으로 업그레이드합니다. Rector는 좁게 정의된 AST(추상 구문 트리) 패턴을 찾기 때문에 낮은 오탐률을 보장합니다. 주요 사용 사례는 레거시 코드의 기술 부채를 해결하고 데드 코드를 제거하는 것입니다. Rector는 Symfony, Doctrine, PHPUnit 등을 위한 특수 규칙 세트를 제공합니다.
Reflection — PHP 프로젝트의 정적 분석을 위한 리플렉션 라이브러리
Symfony Insight ©️ — PHP 프로젝트의 보안 위험을 감지하고, 버그를 찾으며, 실행 가능한 메트릭을 제공합니다.
Tuli — 정적 분석 엔진.
twig-lint — twig-lint는 twig 파일을 위한 린트 도구입니다.
WAP — PHP(4.0 이상) 웹 애플리케이션의 입력 검증 취약점을 감지하고 수정하는 도구로, 정적 분석과 데이터 마이닝을 결합하여 오탐을 예측합니다.
fixit — 소스 코드에 대한 린트 규칙과 해당 자동 수정을 만들기 위한 프레임워크.
flake8 — pyflakes, pycodestyle, mccabe를 기반으로 하는 래퍼.
flakeheaven — flakeheaven은 상속 가능하고 복잡한 toml 구성을 지원하기 위해 flake8을 기반으로 구축된 Python 린터입니다.
Griffe — 전체 Python 프로그램의 시그니처. 프로젝트의 구조, 프레임, 골격을 추출하여 API 문서를 생성하거나 API의 호환성이 깨지는 변경 사항을 찾습니다.
InspectorTiger ⚠️ — IT, Inspector Tiger는 현대적인 Python 코드 리뷰 도구/프레임워크입니다. 개선 사항과 가능한 버그에 대해 경고하는 사전 정의된 여러 핸들러가 포함되어 있습니다. 이러한 핸들러 외에도 직접 작성하거나 커뮤니티 핸들러를 사용할 수 있습니다.
jedi — Python용 자동 완성/정적 분석 라이브러리.
linty fresh — 린트 오류를 파싱하여 풀 리퀘스트의 코멘트로 GitHub에 보고합니다.
mbake — mbake는 Makefile 포맷터이자 린터입니다. 만드는 데 50년이 걸렸습니다!
mccabe ⚠️ — McCabe 복잡도를 검사합니다.
multilint ⚠️ — flake8, isort, modernize를 기반으로 하는 래퍼.
mypy — 덕 타이핑과 정적 타이핑의 이점을 결합하는 것을 목표로 하는 정적 타입 검사기로, MonkeyType과 함께 자주 사용됩니다.
pip-audit — 알려진 취약점이 있는 Python 패키지를 스캔하는 도구. Python Packaging Authority(PyPA)가 개발하고 Trail of Bits와 Google이 지원합니다. Python 환경과 requirements 파일을 스캔하여 취약한 패키지를 식별하고 수정 방법을 제안합니다. GitHub Actions, pre-commit 훅 및 여러 취약점 서비스 통합을 지원합니다.
prospector — pylint, pep8, mccabe 등을 기반으로 하는 래퍼.- py-find-injection ⚠️ — Python 코드에서 SQL 인젝션 취약점을 찾습니다.
pyanalyze — Python 코드에서 정의되지 않은 변수 참조나 타입 오류와 같은 일반적인 실수를 프로그래밍 방식으로 감지하는 도구입니다. 추가 규칙을 확장하거나 특정 함수에 특화된 검사를 수행하도록 확장할 수 있습니다.
pycodestyle — (이전 명칭 pep8) PEP 8의 일부 스타일 규칙에 따라 Python 코드를 검사합니다.
pydocstyle ⚠️ — Python docstring 규칙 준수 여부를 검사합니다.
pyflakes — Python 소스 파일에서 오류를 검사합니다.
pylint — 프로그래밍 오류를 찾아내고 코딩 표준 적용을 도우며 일부 코드 스멜을 감지합니다. 또한 pyreverse(UML 다이어그램 생성기)와 symilar(유사도 검사기)를 포함합니다.
pylyzers ⚠️ — Rust로 작성된 Python용 정적 코드 분석기이자 언어 서버로, 타입 검사와 읽기 쉬운 출력에 중점을 둡니다.
Pyra — Pyra는 Python으로 작성된 데이터 사이언스 애플리케이션을 위한 고수준 린터 정적 분석기로, Lyra의 확장으로서 개발자가 Python으로 작성된 데이터 사이언스 코드에서 잠재적 문제를 식별하도록 돕습니다.
pyre-check ⚠️ — 대규모 Python 코드베이스를 위한 빠르고 확장 가능한 타입 검사기입니다. Pyre-check는 차기 버전인 Pyrefly로 대체되었습니다.
pyrefly — Python용 빠른 증분 타입 검사기이자 언어 서버로, 코드 탐색, 의미론적 하이라이팅, 코드 완성과 같은 IDE 기능을 제공합니다.
pyright — Python용 정적 타입 검사기로, mypy와 같은 기존 도구의 부족한 점을 해결하기 위해 만들어졌습니다.
pyroma — Python 프로젝트가 Python 패키징 생태계의 모범 사례를 얼마나 잘 준수하는지 평가하고 개선할 수 있는 문제를 나열합니다.
Pysa — Facebook의 pyre-check 기반 도구로, 오염 분석(taint analysis)을 통해 Python 코드에서 잠재적 보안 문제를 식별합니다.
PyT - Python Taint ⚠️ — Python 웹 애플리케이션에서 보안 취약점을 탐지하기 위한 정적 분석 도구입니다.
pytype — Python 코드용 정적 타입 분석기입니다.
pyupgrade — 언어의 최신 버전에 맞게 구문을 자동으로 업그레이드하는 도구(및 pre-commit 훅)입니다.
QuantifiedCode ⚠️ — 자동화된 코드 리뷰 및 수리 도구입니다. 소프트웨어 프로젝트의 이슈와 메트릭을 추적하는 데 도움을 주며, 새로운 유형의 분석을 지원하도록 쉽게 확장할 수 있습니다.
radon ⚠️ — 소스 코드에서 다양한 메트릭을 계산하는 Python 도구입니다.
refurb — Python 코드베이스를 개선하고 현대화하는 도구입니다. Refurb는 Rust의 내장 린터인 clippy에서 많은 영감을 받았습니다.
ruff — Rust로 작성된 빠른 Python 린터입니다. 기존 린터보다 10~100배 빠릅니다. Python 3.10과 호환되며 파일 감시자를 지원합니다.
Safety — 알려진 취약점이 있는 패키지를 탐지하여 소프트웨어 공급망 보안을 강화하도록 설계된 Python 의존성 취약점 스캐너입니다. 알려진 보안 취약점 데이터베이스와 Python 의존성을 대조하여 상세한 보고서를 제공합니다. CI/CD 통합과 여러 출력 형식을 지원합니다.
ty — Rust로 작성된 매우 빠른 Python 타입 검사기입니다.
unimport — 사용되지 않는 import 문을 찾아 제거하는 린터이자 포맷터입니다.
vulture — Python 코드에서 사용되지 않는 클래스, 함수, 변수를 찾습니다.
wemake-python-styleguide — 지금까지 가장 엄격하고 독단적인 Python 린터입니다.
wily — Python 소스 코드의 복잡도를 보관, 탐색, 그래프로 시각화하는 명령줄 도구입니다.
xenon ⚠️ — radon을 사용하여 코드 복잡도를 모니터링합니다.
yapf ⚠️ — Google이 만든 Python 파일용 포맷터입니다. YAPF는 Daniel Jasper가 만든 'clang-format' 도구에서 비롯된 독특한 방법론을 따릅니다. 기본적으로 이 프로그램은 원래 코드가 이미 스타일 가이드를 따르고 있더라도 스타일 가이드를 준수하는 가장 적합한 형식으로 코드를 재구성합니다. 이 개념은 Go 프로그래밍 언어의 'gofmt' 도구와 유사합니다. 변경이 있을 때마다 프로젝트의 전체 코드베이스를 YAPF로 처리하여 코드 리뷰 때마다 스타일에 대해 논쟁할 필요를 없애고 프로젝트 전반에 걸쳐 일관된 스타일을 유지하는 것을 목표로 합니다.
MetricFu ⚠️ — MetricFu는 코드에서 추가 작업이 필요할 수 있는 부분을 보여주는 보고서를 제공하는 도구 모음입니다.
pelusa — 객체지향 Ruby 코드를 개선하기 위한 정적 분석 린트 유형 도구입니다.
quality ⚠️ — 커뮤니티 도구를 사용하여 코드 품질 검사를 실행하고 시간이 지나도 수치가 악화되지 않도록 보장합니다.
Querly ⚠️ — Ruby용 패턴 기반 검사 도구입니다.
Railroader ⚠️ — Ruby on Rails 애플리케이션용 오픈소스 정적 분석 보안 취약점 스캐너입니다.
rails_best_practices — Rails 프로젝트용 코드 메트릭 도구입니다.
reek — Ruby용 코드 스멜 탐지기입니다.
Roodi — Roodi는 Ruby Object Oriented Design Inferometer의 약자입니다. Ruby 코드를 파싱하고 구성된 검사에 따라 설계 문제에 대해 경고합니다.
RuboCop — 커뮤니티 Ruby 스타일 가이드를 기반으로 하는 Ruby 정적 코드 분석기입니다.
Rubrowser — Ruby 클래스의 대화형 의존성 그래프 생성기입니다.
ruby-lint ⚠️ — Ruby용 정적 코드 분석입니다.
rubycritic — Ruby 코드 품질 리포터입니다.
rufo — 독단적인(opinionated) Ruby 포맷터로, 명령줄이나 텍스트 편집기 플러그인으로 사용하여 저장 시 또는 필요할 때 파일을 자동 포맷하기 위한 도구입니다.
Saikuro ⚠️ — Ruby 순환 복잡도 분석기입니다.
SandiMeter ⚠️ — Ruby 코드가 Sandi Metz의 규칙을 따르는지 검사하는 정적 분석 도구입니다.
Skunk — Ruby 코드용 SkunkScore 계산기입니다. -- 테스트 커버리지가 없는 가장 복잡한 코드를 찾아보세요!
Sorbet — Ruby를 위해 설계된 빠르고 강력한 타입 검사기입니다.
Standard Ruby — 린터 및 자동 코드 수정 기능을 갖춘 Ruby 스타일 가이드입니다.
Steep — Ruby용 점진적 타이핑(Gradual Typing)입니다.
Traceroute ⚠️ — Rails 3+ 앱에서 사용되지 않는 라우트와 컨트롤러 액션을 찾는 데 도움을 주는 Rake 태스크 gem입니다.
cargo-spellcheck — hunspell(준비 완료) 및 languagetool(미리 보기)을 사용하여 모든 문서에서 철자 및 문법 오류를 검사합니다.
cargo-unused-features ⚠️ — 잠재적으로 사용되지 않는 활성화된 feature 플래그를 찾아 제거합니다. json에서 간단한 HTML 보고서를 생성하여 결과를 더 쉽게 검사할 수 있습니다. 의존성의 feature를 제거한 다음 프로젝트를 컴파일하여 여전히 컴파일되는지 확인합니다. 컴파일된다면 feature 플래그를 제거할 수 있지만, 오탐(false-positive)일 수도 있습니다.
clippy — 일반적인 실수를 잡아내고 Rust 코드를 개선하기 위한 코드 린터입니다.
diff.rs — Rust 크레이트 버전 간의 diff를 렌더링하는 웹 애플리케이션(WASM)입니다.
dylint — 동적 라이브러리에서 Rust 린트를 실행하는 도구입니다. Dylint를 사용하면 개발자가 자신만의 개인 린트 모음을 유지 관리하기 쉽습니다.
electrolysis ⚠️ — Rust 프로그램을 Lean 정리 증명기의 정의로 트랜스파일하여 공식적으로 검증하는 도구입니다.
herbie ⚠️ — 수치적으로 불안정한 부동소수점 표현식을 사용할 때 크레이트에 경고 또는 오류를 추가합니다.
kani — Kani Rust Verifier는 Rust를 위한 비트 정밀 모델 체커입니다. Kani는 컴파일러가 검사하지 않는 "unsafe 슈퍼파워"가 적용되는 Rust의 unsafe 코드 블록을 검증하는 데 특히 유용합니다. Kani는 다음을 검증합니다:
BlockWatch — 코드, 문서, 구성을 동기화 상태로 유지하고 엄격한 포맷팅 및 검증 규칙을 적용하는 언어에 구애받지 않는 린터입니다.
BugProve ⚠️ ©️ — BugProve는 바이너리 코드에서 메모리 손상, 명령어 주입 및 기타 클래스 또는 일반적인 약점을 발견하기 위해 정적 및 동적 분석 기술을 모두 갖춘 펌웨어 분석 플랫폼입니다. 또한 취약한 의존성, 취약한 암호화 매개변수, 잘못된 구성 등을 탐지합니다.
callGraph — 정적으로 호출 그래프 이미지를 생성하여 화면에 표시합니다.
CAST Highlight ©️ — 로컬에서 실행되지만 결과 표시를 위해 클라우드에 업로드하는 상용 정적 코드 분석 도구입니다.
Checkmarx CxSAST ©️ — 사전 컴파일이 필요 없는 상용 정적 코드 분석 도구입니다.
ClassGraph — 클래스 메타데이터 또는 클래스 연관성을 쿼리하거나 시각화하기 위한 클래스패스 및 모듈 경로 스캐너입니다.
Clayton ©️ — Salesforce를 위한 AI 기반 코드 리뷰 도구입니다. 개발 보안을 강화하고 모범 사례를 적용하며 기술 부채를 실시간으로 관리할 수 있습니다.
coala ⚠️ — 코드 분석 생성을 위한 언어 독립적 프레임워크로, 기본적으로 60개 이상의 언어를 지원합니다.
Cobra ©️ — NASA 제트 추진 연구소(Jet Propulsion Laboratory)의 구조적 소스 코드 분석기입니다.
Codacy ©️ — 더 나은 코드를 더 빠르게 출시하기 위한 코드 분석 도구입니다.
Code Intelligence ©️ — 버그를 찾고 코드 커버리지를 시각화하기 위한 업계 최고 수준의 퍼징 엔진을 결합한 CI/CD 독립적인 DevSecOps 플랫폼입니다.
Code Pathfinder — 파일 간 데이터 흐름 오염(taint) 분석을 갖춘 보안 팀용 오픈소스 정적 코드 분석 도구입니다. 취약점 탐지, 고급 구조 검색, 인사이트 도출을 위해 구축되었으며 MCP 서버를 지원합니다.
Code-Graph-RAG — Tree-sitter AST 파싱을 사용하여 다중 언어 코드베이스에서 지식 그래프를 구축하고 Memgraph에 저장합니다. 통합 그래프 스키마로 11개의 프로그래밍 언어를 지원하며 코드 구조와 관계에 대한 자연어 쿼리 및 편집을 가능하게 합니다. AI 어시스턴트 통합을 위한 MCP 서버로 작동합니다.
Codeac ©️ — GitHub, Bitbucket 및 GitLab(자체 호스팅 포함)과 통합되는 자동화된 코드 리뷰 도구입니다. JavaScript, TypeScript, Python, Ruby, Go, PHP, Java, Docker 등을 지원합니다. (오픈소스 무료)
codeburner — 발견한 이슈를 분류하고 조치할 수 있는 통합 인터페이스를 제공합니다.
codechecker — 웹 GUI를 갖춘 Clang Static Analyzer용 결함 데이터베이스 및 뷰어 확장입니다.
CodeFactor ©️ — GitHub 또는 BitBucket의 저장소를 위한 자동화된 코드 분석 도구입니다.
CodeFlow ©️ — 기술 부채를 처리하기 위한 자동화된 코드 분석 도구입니다. Bitbucket 및 Gitlab과 통합됩니다. (오픈소스 프로젝트에는 무료)
Codemodder — Codemodder는 표현력이 풍부한 codemod를 구축하기 위한 플러그형 프레임워크입니다. 린터나 코드 포맷팅 도구 이상이 필요할 때 Codemodder를 사용하세요. 단순하지 않은 보안 이슈와 기타 코드 품질 문제를 해결하는 데 사용합니다.
codeql — 심층 코드 분석 도구로, 여러 언어에 대한 의미론적 쿼리와 데이터 흐름 분석을 제공하며 VSCode 플러그인을 지원합니다.
CodeQue — JavaScript 및 TypeScript 코드의 구조적 매칭을 위한 생태계입니다. 코드 구조를 이해하는 검색 도구를 제공합니다. CLI 도구 및 Visual Studio Code 확장으로 사용할 수 있습니다. 코드를 더 빠르고 정확하게 검색하여 워크플로우를 더 효율적으로 만들어 줍니다. 곧 코드베이스 품질 보증을 위해 몇 분 만에 자체 규칙을 만들 수 있는 ESLint 플러그인을 제공할 예정입니다.
CodeRush ©️ — Visual Studio 2015 이상에서 Roslyn 엔진을 사용하는 코드 생성, 디버깅, 탐색, 리팩토링, 분석 및 시각화 도구입니다.
CodeScan ©️ — Salesforce 개발자를 위한 코드 품질 및 보안 도구입니다. Salesforce 플랫폼 전용으로 제작된 CodeScan의 코드 분석 솔루션은 코드 상태에 대한 완전한 가시성을 제공합니다.
CodeScene ©️ — CodeScene은 소프트웨어를 위한 품질 시각화 도구입니다. 기술 부채의 우선순위를 정하고, 전달 위험을 탐지하며, 조직적 측면을 측정합니다. 완전 자동화되어 있습니다.
CodeSee ©️ — CodeSee는 앱의 서비스, 디렉터리, 파일 의존성 및 코드 변경 사항을 매핑하고 자동화합니다. 코드를 위한 Google Map과 같습니다.
CodeSonar from GrammaTech ©️ — C, C++, Java 및 C#에 대한 고급, 전체 프로그램, 심층 경로 정적 분석을 제공하며 이해하기 쉬운 설명과 코드 및 경로 시각화를 포함합니다.
Codety ⚠️ ©️ — Codety Scanner는 20개 이상의 프로그래밍 언어와 IaC 도구의 코드 이슈를 탐지하는 것을 목표로 하는 5000개 이상의 정적 코드 분석 규칙을 내장한 포괄적인 소스 코드 스캐너입니다.
Codiga ©️ — 12개 이상의 언어를 지원하는 자동화된 코드 리뷰 및 기술 부채 관리 플랫폼입니다.
Corgea ©️ — Corgea는 개발자가 안전하지 않은 코드를 찾고 수정할 수 있도록 도와주는 AI 기반 SAST 스캐너입니다. 낮은 오탐률로 비즈니스 로직 결함, 손상된 인증, API 취약점 등을 찾아냅니다. 또한 승인을 위해 보안 수정 사항을 자동으로 작성합니다. Corgea는 GitHub, GitLab, Azure DevOps, IDE 및 CLI와 통합됩니다. 무료로 사용해 볼 수 있습니다.
Corrode ⚠️ — C에서 Rust로의 반자동 번역 도구입니다. Rust 컴파일러 경고와 오류를 표시하여 원래 구현의 버그를 드러낼 수 있습니다. C2Rust로 대체되었습니다.
Coverity ©️ — Synopsys Coverity는 Ruby on Rails, Scala, PHP, Python, JavaScript, TypeScript, Java, Fortran, C, C++, C#, VB.NET을 포함하여 20개 언어와 70개 이상의 프레임워크를 지원합니다.
cpp-linter-action — clang-tidy와 clang-format을 통합하여 스레드 댓글 및/또는 주석 형태의 피드백을 수집하는 C/C++ 코드 린팅용 GitHub Action입니다.
cqc ⚠️ — js, jsx, vue, css, less, scss, sass 및 styl 파일의 코드 품질을 검사합니다.
DeepCode ⚠️ ©️ — DeepCode는 Snyk에 인수되어 현재 Snyk Code입니다.
DeepSource ©️ — 버그 위험, 보안, 안티패턴, 성능, 문서화 및 스타일 영역에서 이슈를 찾기 위한 심층 정적 분석 도구입니다. GitHub, GitLab 및 Bitbucket과 기본 통합됩니다. 오탐률 5% 미만입니다.
deleaker ©️ — Deleaker는 C++, .NET 및 Delphi용 메모리 누수 탐지 도구로, Visual Studio, Qt Creator, RAD Studio와 통합되거나 독립 실행형 애플리케이션으로 실행됩니다. 개발자가 메모리, GDI 및 핸들 누수를 효율적으로 찾고 수정할 수 있도록 도와줍니다.
Depends — Java, C/C++, Ruby의 코드 요소에 대한 포괄적인 의존성을 분석합니다.
DerScanner ©️ — 하드코딩된 비밀값, 취약한 암호화, 백도어, SQL 인젝션, 안전하지 않은 구성 등 중요한 취약점을 탐지하는 다중 언어 SAST(Static Application Security Testing) 플랫폼입니다.
DevSkim — Visual Studio, VS Code 및 Sublime Text용 정규식 기반 정적 분석 도구로, C/C++, C#, PHP, ASP, Python, Ruby, Java 등을 지원합니다.
diesel-guard — Diesel 및 SQLx의 위험한 Postgres 마이그레이션 패턴을 위한 린터입니다. 안전하지 않은 스키마 변경으로 인한 다운타임을 방지합니다.
dotnet-format — .NET용 코드 포맷터입니다. 기본 설정은 .editorconfig 파일이 있으면 해당 파일에서 읽어오고, 없으면 기본 설정 세트가 사용됩니다. 현재 dotnet-format은 지원되는 .editorconfig 옵션의 일부를 사용하여 C# 및 Visual Basic 프로젝트를 포맷할 수 있습니다.
Embold ©️ — 설계 이슈, 코드 이슈, 중복 및 메트릭을 식별하는 지능형 소프트웨어 분석 플랫폼입니다. Java, C, C++, C#, JavaScript, TypeScript, Python, Go, Kotlin 등을 지원합니다.
emerge ⚠️ — Emerge는 소프트웨어 프로젝트의 소스 코드 구조, 메트릭, 의존성 및 복잡성에 대한 인사이트를 수집하는 데 사용할 수 있는 소스 코드 및 의존성 시각화 도구입니다. 프로젝트의 소스 코드를 스캔한 후 그래프 구조를 사용하여 프로젝트를 탐색하고 분석할 수 있는 대화형 웹 인터페이스를 제공합니다.
Enforster AI ©️ — Enforster AI는 LLM과 인공지능을 활용하여 Contextual Code Security SAST를 수행하며, 논리 결함, 비밀값, 데이터 유출, 공급망 및 기술 취약점의 탐지를 개선하고 강화합니다.
ESLint — ECMAScript 표준을 따르는 확장 가능한 JS 린터입니다.
ezno — 정적 분석과 런타임 성능에 중점을 둔 Rust로 작성된 JavaScript 컴파일러 및 TypeScript 검사기입니다. Ezno의 타입 검사기는 처음부터 직접 구축되었습니다. 이 검사기는 TypeScript 타입 주석과 완전히 호환되며 타입 주석 없이도 작동할 수 있습니다.
Find Security Bugs — Java 웹 애플리케이션 및 Android 애플리케이션의 보안 감사를 위한 SpotBugs 플러그인입니다. (Kotlin, Groovy 및 Scala 프로젝트에서도 작동합니다)- Fortify ©️ — C/C++, C#, VB.NET, VB6, ABAP/BSP, ActionScript, Apex, ASP.NET, Classic ASP, VB Script, Cobol, ColdFusion, HTML, Java, JS, JSP, MXML/Flex, Objective-C, PHP, PL/SQL, T-SQL, Python (2.6, 2.7), Ruby (1.9.3), Swift, Scala, VB 및 XML 스캔을 지원하는 상용 정적 분석 플랫폼입니다.
Freeplane Code Explorer — Freeplane의 Code Explorer 모드는 JVM 클래스 파일로 컴파일된 코드의 구조와 의존성을 분석하도록 설계되었습니다. 또한 Freeplane이 실행 중이고 테스트 중 ArchUnit이 규칙 위반을 감지하는 경우 ArchUnit 테스트 결과를 Freeplane에 직접 표시할 수 있습니다.
Goodcheck — 정규식 기반의 사용자 정의 가능한 린터입니다.
goone ⚠️ — go 코드에서 N+1 쿼리(for 루프 내의 SQL 호출)를 찾습니다
graudit — Grep rough audit - 소스 코드 감사 도구입니다.
HCL AppScan Source ©️ — 상용 정적 코드 분석.
Hopper ⚠️ — JVM에서 실행되는 언어를 위한 Scala로 작성된 정적 분석 도구.
Hound CI — GitHub 풀 리퀘스트의 스타일 위반에 대해 코멘트를 답니다. Coffeescript, Go, HAML, JavaScript, Ruby, SCSS 및 Swift를 지원합니다.
imhotep ⚠️ — 저장소에 들어오는 커밋에 코멘트를 달고 구문 오류 및 일반적인 린트 경고를 확인합니다.
include-gardener ⚠️ — 주어진 파일 집합의 모든 #include 관계를 보여주는 그래프(dot 또는 graphml 형식)를 생성하는 C/C++/Obj-C/Python/Ruby용 다중 언어 정적 분석기.
Infer — Java, C 및 Objective-C용 정적 분석기
Joern — Joern은 소스 코드, 바이트코드 및 바이너리 실행 파일을 분석하기 위한 플랫폼입니다. 코드 속성 그래프(CPG)를 생성하는데, 이는 교차 언어 코드 분석을 위한 코드의 그래프 표현입니다. 코드 속성 그래프는 맞춤형 그래프 데이터베이스에 저장됩니다. 이를 통해 Scala 기반 도메인 특화 쿼리 언어로 작성된 검색 쿼리를 사용하여 코드를 마이닝할 수 있습니다. Joern은 취약점 탐지와 정적 프로그램 분석 연구에 유용한 도구를 제공하는 것을 목표로 개발되었습니다.
jQAssistant — jQAssistant는 플러그인 기반 소프트웨어 분석 플랫폼으로, 저장소의 코드 구조와 메타데이터를 Neo4j 그래프 데이터베이스로 스캔할 수 있게 해줍니다. 수집된 데이터는 쿼리를 사용한 임시 탐색, 시각화 또는 지속적인 아키텍처 검증을 위한 규칙 정의에 사용할 수 있습니다.
keploy — Keploy는 개발자가 테스트 프로세스를 자동화하고 간소화할 수 있도록 돕는 오픈소스 테스트 플랫폼입니다. 실제로 동작하는 API용 테스트와 목(mock)/스텁(stub)을 생성하는 API 및 통합 테스트 에이전트를 제공합니다. 또한 Keploy는 GitHub PR과 VSCode에서 직접 안정적이고 유용한 단위 테스트를 생성하여 오류를 잡고 코드 품질을 개선하는 데 도움이 되는 AI 기반 단위 테스트 에이전트를 제공합니다.
Kiuwan ©️ — SDLC에 완벽하게 통합되는 매우 빠른 협업 환경에서 사이버 위협을 식별하고 해결합니다. Python, C\C++, Java, C#, PHP 등을 지원합니다.
Klocwork ©️ — C/C++, Java 및 C#을 위한 품질 및 보안 정적 분석.
LangLint — 20개 이상의 파일 유형에서 코드 주석과 docstring을 위한 자동 번역 플랫폼입니다. 국제 소프트웨어 협업의 언어 장벽을 제거합니다. 구문 보호와 함께 100개 이상의 언어 쌍을 지원합니다. Ruff와 같은 CI/CD 파이프라인에 통합됩니다. 동시 처리를 통해 10~20배 더 빠릅니다.
LGTM ©️ — 소스 코드에 대한 CodeQL 쿼리를 사용하여 보안 취약점, 변종 및 중요한 코드 품질 문제를 찾습니다. 자동 PR 코드 리뷰; 오픈소스에는 무료입니다. 이전 이름은 semmle. Bitbucket Cloud, GitHub.com, GitLab.com에 호스팅된 공개 Git 저장소를 지원합니다.
lizard — Lizard는 C/C++(모든 헤더 파일이나 Java import를 요구하지 않음)을 포함한 많은 프로그래밍 언어를 위한 확장 가능한 순환 복잡도(Cyclomatic Complexity) 분석기입니다. 또한 복사-붙여넣기 감지(코드 클론 감지/코드 중복 감지) 및 다양한 형태의 정적 코드 분석을 수행합니다. 주석 없는 코드 라인 수, CCN(순환 복잡도 수), 함수의 토큰 수, 함수의 매개변수 수를 계산합니다.
Mega-Linter — Mega-Linter는 70개 이상의 내장 린터와 고급 리포팅 덕분에 모든 유형의 프로젝트를 처리할 수 있으며, 모든 CI 시스템 또는 로컬에서 실행할 수 있고, 지원되는 설치 및 구성을 통해 포맷팅과 수정을 적용할 수 있습니다.
Mobb ©️ — Mobb는 애플리케이션을 보호하고 보안 백로그를 줄이며 개발자가 혁신에 집중할 수 있게 해주는 신뢰할 수 있는 자동 취약점 수정 도구입니다. Mobb는 오픈소스 프로젝트에 무료입니다.
MOPSA — C 및 Python과 같이 크게 다른 언어 간에 추상 도메인을 쉽게 재사용하도록 설계된 정적 분석기.
Neurolint-CLI — AST 파싱과 규칙 기반 변환을 사용하는 결정적 코드 변환 도구입니다. 접근성 위반, 하이드레이션 오류, React 19/Next.js 16 마이그레이션 및 구성 업데이트를 포함한 50개 이상의 문제를 자동으로 수정합니다. 중단 변경이 없음을 보장하는 5단계 페일세이프 오케스트레이션을 제공합니다. React, Next.js 및 TypeScript 프로젝트에 특화되어 있습니다.
oclint — C, C++ 및 Objective-C의 품질을 개선하고 결함을 줄이기 위한 정적 소스 코드 분석 도구.
Offensive 360 ©️ — 소스 코드 빌드나 사전 컴파일이 필요 없는 상용 정적 코드 분석 시스템.
OpenRewrite — OpenRewrite는 Maven 및 Gradle 플러그인 또는 Moderne CLI를 사용하여 Sonar 및 기타 도구를 통해 보고된 일반적인 정적 분석 문제를 수정합니다.
OpenStaticAnalyzer — OpenStaticAnalyzer는 복잡한 시스템의 소스 코드에 대해 심층 정적 분석을 수행할 수 있는 소스 코드 분석 도구입니다.
oxc — Oxidation Compiler는 Rust로 다시 작성된 JavaScript/TypeScript 언어를 위한 고성능 도구 모음을 만들고 있습니다.
parasoft ©️ — 단위, API 및 웹 UI 테스트를 위한 자동화된 소프트웨어 테스트 솔루션. MISRA, OWASP 및 기타 표준을 준수합니다.
pfff — 다양한 언어를 위한 코드 분석, 시각화 또는 스타일을 보존하는 소스 변환을 위한 Facebook의 도구 모음.
Pixee ©️ — Pixeebot은 코드에서 보안 및 코드 품질 문제를 찾아 권장 수정 사항이 포함된 병합 가능한 풀 리퀘스트를 생성합니다.
PMD — Java, Salesforce Apex, Javascript, PLSQL, XML, XSL 및 기타 언어를 위한 소스 코드 분석기.
pre-commit — 다중 언어 pre-commit 훅을 관리하고 유지하기 위한 프레임워크.
Precaution — Precaution은 프로덕션 배포 전에 소스 코드에서 잠재적으로 중요한 취약점을 찾도록 설계된 정적 분석 보안 도구(SAST)입니다. CLI, GitHub Action 및 GitHub App으로 사용할 수 있습니다.
Prettier — 자체적인 스타일 규칙을 적용하는 코드 포맷터.
Pronto — 변경 사항에 대한 빠른 자동 코드 리뷰. Clang, Elixir, JavaScript, PHP, Ruby 등을 포함한 다양한 언어를 위한 40개 이상의 러너를 지원합니다.
PT.PM ⚠️ — Unified AST 또는 UST 기반의 소스 코드 패턴 검색 엔진. 현재 C#, Java, PHP, PL/SQL, T-SQL 및 JavaScript를 지원합니다. 패턴은 코드 내에서 또는 DSL을 사용하여 설명할 수 있습니다.
Putout — 내장 eslint 및 babel 플러그인 지원과 함께 js, jsx typescript, flow, markdown, yaml 및 json을 위한 플러그형 및 구성 가능한 코드 변환기.
PVS-Studio ©️ — C, C++, C# 및 Java 코드를 위한 (FOSS 및 개인 개발자에게는 조건부 무료) 정적 분석. 광고 목적으로 PVS 직원이 분석할 대규모 FOSS 프로젝트를 제안할 수 있습니다. CWE 매핑, OWASP ASVS, MISRA, AUTOSAR 및 SEI CERT 코딩 표준을 지원합니다.
pylama — Python 및 JavaScript용 코드 감사 도구. pycodestyle, pydocstyle, PyFlakes, Mccabe, Pylint 등을 래핑합니다
Qwiet AI ©️ — 취약점이 프로덕션에 도달하기 전에 코드 베이스에 고유한 취약점을 식별합니다. Code Property Graph(CPG)를 활용하여 단일 그래프 오브 그래프에서 분석을 동시에 실행합니다. 하드코딩된 시크릿 및 로직 폭탄과 같은 비즈니스 로직 결함을 개발 단계에서 자동으로 찾습니다
Refactoring Essentials — 코드 모범 사례 분석기를 포함한 C# 및 VB.NET 리팩토링을 위한 무료 Visual Studio 2015 확장.
relint — 정규식(RegEx)을 사용하여 사용자 정의 규칙을 작성할 수 있는 정적 파일 린터.
ReSharper ©️ — C#, VB.NET, ASP.NET, JavaScript, TypeScript 및 기타 기술에 대한 실시간 코드 검사를 제공하여 Visual Studio를 확장합니다.
Rev-dep — 최신 JavaScript 및 TypeScript 프로젝트를 위한 의존성 분석 및 최적화 툴킷. import를 추적하고, 순환 의존성을 식별하며, 사용되지 않는 코드를 찾고, node modules를 정리합니다.
RIPS ©️ — PHP 스크립트의 취약점을 찾기 위한 정적 소스 코드 분석기.
Roslyn Analyzers — FxCop 분석기의 Roslyn 기반 구현.
Roslyn Security Guard — SQL 인젝션, XSS(크로스 사이트 스크립팅), CSRF, 암호화 취약점, 하드코딩된 비밀번호 등 잠재적인 취약점 식별에 중점을 둔 프로젝트.
SafeQL — PostgreSQL의 원시 SQL 쿼리에서 TypeScript 타입을 검증하고 자동 생성합니다. SafeQL은 타입 안전한 방식으로 SQL 쿼리를 작성하기 위한 ESLint 플러그인입니다.
SAST Online ©️ — Android 소스 코드를 철저히 검사하여 잠재적인 보안 문제와 취약점을 발견하고 해결합니다. 온라인 정적 애플리케이션 보안 테스트(정적 코드 분석) 도구
Scrutinizer ⚠️ ©️ — GitHub와 통합할 수 있는 독점 코드 품질 검사 도구.
Security Code Scan — C# 및 VB.NET용 보안 코드 분석기. SQLi, XSS, CSRF, XXE, Open Redirect 등 다양한 보안 취약점 패턴을 감지합니다. Visual Studio 2015 이상에 통합됩니다. SQLi, XSS, CSRF, XXE, Open Redirect 등 다양한 보안 취약점 패턴을 감지합니다.
Semgrep — 편집기, 커밋 및 CI 시점에 버그를 찾고 코드 표준을 적용하기 위한 빠르고 오픈소스인 정적 분석 도구입니다. 규칙은 이미 작성한 코드처럼 보입니다. 추상 구문 트리나 정규식 씨름이 필요 없습니다. 17개 이상의 언어를 지원합니다.
Semgrep Supply Chain ©️ — 우선순위가 높은 보안 문제를 신속하게 찾아 해결합니다. Semgrep Supply Chain은 코드에서 도달 가능한 2%의 취약점에 우선순위를 둡니다.
Seqra — Java 및 Kotlin 웹 애플리케이션을 위한 보안 중심 정적 분석기. Semgrep 스타일 YAML 규칙과 CodeQL급 데이터플로우(일급 Spring 지원 포함)로 바이트코드를 분석하여 소스 전용 스캐너가 놓치는 취약점을 찾습니다.
ShiftLeft Scan ⚠️ — Scan은 소스 코드와 의존성에서 보안 문제를 감지하기 위한 무료 오픈소스 DevSecOps 플랫폼입니다. 광범위한 언어와 CI/CD 파이프라인을 지원합니다. 참고: ShiftLeft는 2023년에 Qwiet AI로 리브랜딩되었으며, 이후 2025년 9월 Harness에 인수되었습니다. 이 오픈소스 프로젝트는 더 이상 유지보수되지 않습니다.
shipshape ⚠️ — 공통 인터페이스를 통해 사용자 정의 분석기를 플러그인할 수 있는 정적 프로그램 분석 플랫폼.
Sigrid ©️ — Sigrid는 시스템의 코드 품질을 측정하여 소프트웨어를 개선하도록 돕고, 그 결과를 수천 개의 산업 시스템 벤치마크와 비교하여 개선할 수 있는 영역에 대한 구체적인 조언을 제공합니다.
Similarity Tester — 파일 간 또는 파일 내 유사성을 찾아 DRY 원칙 위반을 발견하도록 지원하는 도구.
Skylos — Python, TypeScript 및 Go를 위한 죽은 코드 감지, 보안 스캐닝, 시크릿 감지 및 코드 품질 분석. 98% 재현율의 프레임워크 인지 분석. CI/CD GitHub Action, VS Code 확장 및 AI 에이전트 통합용 MCP 서버를 포함합니다.
Snyk Code ©️ — Snyk Code는 AI 기반으로 보안 취약점을 찾습니다. 분석 속도가 매우 빨라 IDE에서 저장 버튼을 누르는 순간 코드를 실시간으로 분석하고 결과를 전달합니다. 지원 언어는 Java, JavaScript, Python, PHP, C#, Go 및 TypeScript입니다. GitHub, BitBucket 및 GitLab과 통합됩니다. 무료로 체험할 수 있으며 SCA, 컨테이너 및 IaC도 포괄하는 Snyk 플랫폼의 일부입니다.
SonarQube Cloud ©️ — SonarQube Cloud는 클라우드 DevOps 플랫폼에 쉽게 통합되고 CI/CD 워크플로우를 확장하는 코드 리뷰 도구를 통해 팀이 일관되고 효율적으로 깨끗한 코드를 제공할 수 있게 해줍니다. SonarQube Cloud는 무료 플랜을 제공합니다.
SonarQube for IDE — SonarQube for IDE(이전 명칭 SonarLint)는 IntelliJ, VS Code, Visual Studio 및 Eclipse에서 사용할 수 있는 무료 IDE 확장으로, 철자 검사기처럼 코드를 작성하는 동안 문제를 실시간으로 찾아 수정하고 표시합니다. 단순한 린터 그 이상으로, 문제가 발생한 이유를 이해하고 위험을 평가하며 해결 방법을 교육하는 풍부한 상황별 안내를 제공합니다.
SonarQube Server — SonarQube는 엔터프라이즈 환경에 깊이 통합되는 코드 품질 및 보안 솔루션을 개발 팀에 제공하여 일관되고 안정적으로 깨끗한 코드를 배포할 수 있게 해줍니다. SonarQube는 무료 오픈소스 Community Build를 제공합니다.
Sonatype ©️ — 일반적인 의존성의 알려진 취약점을 보고하고 중단 변경을 최소화하기 위해 업데이트된 패키지를 권장합니다