Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
brakeman — Ruby on Rails 애플리케이션을 위한 정적 분석 보안 취약점 스캐너 | Kitploit
도구/GitHubGitHub/presidentbeef/brakeman
Static AnalysisVulnerability ScannersCode AnalysisWeb SecurityDevSecOps
GitHubpresidentbeef/brakeman

brakeman

Ruby on Rails 애플리케이션을 위한 정적 분석 보안 취약점 스캐너

저장소 보기
7.3k773727일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
웹사이트
공유

Brakeman Logo

Build Status Code Coverage

Brakeman

Brakeman은 Ruby on Rails 애플리케이션의 보안 취약점을 검사하는 정적 분석 도구입니다.

설치

RubyGems 사용:

root@kitploit:~
gem install brakeman

Bundler 사용:

root@kitploit:~
group :development do
  gem 'brakeman', require: false
end

Docker 사용:

root@kitploit:~
docker pull presidentbeef/brakeman

소스에서 Docker 빌드:

root@kitploit:~
git clone https://github.com/presidentbeef/brakeman.git
cd brakeman
docker build . -t brakeman

사용법

로컬에서 실행

Rails 애플리케이션의 루트 디렉토리에서:

root@kitploit:~
brakeman

Rails 루트 외부에서:

root@kitploit:~
brakeman /path/to/rails/application

Docker로 실행

Rails 애플리케이션의 루트 디렉토리에서:

root@kitploit:~
docker run -v "$(pwd)":/code presidentbeef/brakeman

약간 더 나은 색상으로:

root@kitploit:~
docker run -v "$(pwd)":/code presidentbeef/brakeman --color

HTML 보고서를 위해:

root@kitploit:~
docker run -v "$(pwd)":/code presidentbeef/brakeman -o brakeman_results.html

Rails 루트 외부에서 (출력 파일은 path/to/rails/application 기준입니다):

root@kitploit:~
docker run -v 'path/to/rails/application':/code presidentbeef/brakeman -o brakeman_results.html

호환성

Brakeman은 Rails 2.3.x부터 8.x까지 모든 버전에서 작동해야 합니다.

Brakeman은 Ruby 2.0 이상 구문으로 작성된 코드를 분석할 수 있지만, 실행하려면 최소 Ruby 3.2.0이 필요합니다.

기본 옵션

전체 옵션 목록은 brakeman --help를 사용하거나 OPTIONS.md 파일을 참조하세요.

결과를 출력할 파일을 지정하려면:

root@kitploit:~
brakeman -o output_file

출력 형식은 파일 확장자 또는 -f 옵션으로 결정됩니다. 현재 옵션: text, html, tabs, json, junit, markdown, csv, codeclimate, github, sarif, sonar.

여러 출력 파일을 지정할 수 있습니다:

root@kitploit:~
brakeman -o output.html -o output.json

파일과 콘솔 모두에 색상으로 출력하려면:

root@kitploit:~
brakeman --color -o /dev/stdout -o output.json

정보 경고를 숨기고 보고서만 출력하려면:

root@kitploit:~
brakeman -q

참고: Brakeman의 모든 출력 중 보고서를 제외하고는 stderr로 전송되므로 stdout을 파일로 리디렉션하여 보고서만 쉽게 얻을 수 있습니다.

모든 종류의 디버깅 정보를 보려면:

root@kitploit:~
brakeman -d

원하는 경우 특정 검사를 건너뛸 수 있습니다. 이름은 올바른 대소문자여야 합니다. 예를 들어, 기본 경로(DefaultRoutes) 검사를 건너뛰려면:

root@kitploit:~
brakeman -x DefaultRoutes

여러 검사는 쉼표로 구분해야 합니다:

root@kitploit:~
brakeman -x DefaultRoutes,Redirect

반대로 특정 테스트만 실행하려면:

root@kitploit:~
brakeman -t SQL,ValidationRegex

Brakeman이 약간 느리게 실행된다면 다음을 시도하세요:

root@kitploit:~
brakeman --faster

이렇게 하면 일부 기능이 비활성화되지만 훨씬 빨라질 수 있습니다 (현재 --skip-libs --no-branching과 동일합니다). 경고: 이로 인해 Brakeman이 일부 취약점을 놓칠 수 있습니다.

기본적으로 Brakeman은 보안 경고가 발견되거나 스캔 오류가 발생하면 0이 아닌 종료 코드를 반환합니다. 이를 비활성화하려면:

root@kitploit:~
brakeman --no-exit-on-warn --no-exit-on-error

Brakeman이 구문 분석하는 데 문제가 있을 수 있는 특정 파일이나 디렉토리를 건너뛰려면 다음을 사용하세요:

root@kitploit:~
brakeman --skip-files file1,/path1/,path2/

이전 스캔 결과와 비교하려면 JSON 출력 옵션을 사용한 후 다음을 실행하세요:

root@kitploit:~
brakeman --compare old_report.json

이렇게 하면 두 개의 목록(수정된 경고 목록과 새로운 경고 목록)이 있는 JSON이 출력됩니다.

Brakeman은 구성된 경우 경고를 무시합니다. 기본적으로 config/brakeman.ignore에서 구성 파일을 찾습니다.

이 파일을 생성하고 관리하려면 다음을 사용하세요:

root@kitploit:~
brakeman -I

종료 코드에 영향을 주지 않고 무시한 경고를 일시적으로 보려면 다음을 사용하세요:

root@kitploit:~
brakeman --show-ignored

경고 정보

이 도구가 보고하는 경고에 대한 자세한 내용은 warning_types를 참조하세요.

경고 컨텍스트

HTML 출력 형식은 경고가 트리거된 원본 애플리케이션 소스의 발췌문을 제공합니다. 취약점을 찾는 동안 처리되는 과정 때문에 소스가 보고된 경고와 일치하지 않을 수 있으며 보고된 줄 번호가 약간 다를 수 있습니다. 그러나 컨텍스트는 여전히 경고를 발생시킨 코드를 빠르게 살펴볼 수 있게 해줍니다.

신뢰 수준

Brakeman은 각 경고에 신뢰 수준을 할당합니다. 이는 주어진 경고가 실제로 문제일 가능성에 대한 대략적인 추정치를 제공합니다. 당연히 이러한 평가는 절대적인 진실로 받아들여서는 안 됩니다.

세 가지 신뢰 수준이 있습니다:

  • 높음 - 간단한 경고(부울 값)이거나 사용자 입력이 안전하지 않은 방식으로 사용될 가능성이 매우 높습니다.
  • 중간 - 일반적으로 변수의 안전하지 않은 사용을 나타내지만, 변수가 사용자 입력일 수도 있고 아닐 수도 있습니다.
  • 낮음 - 일반적으로 사용자 입력이 잠재적으로 안전하지 않은 방식으로 간접적으로 사용되었음을 의미합니다.

특정 신뢰 수준 이상의 경고만 얻으려면:

root@kitploit:~
brakeman -w3

-w 스위치는 1에서 3까지의 숫자를 받으며, 1은 낮음(모든 경고), 3은 높음(가장 높은 신뢰도의 경고만)입니다.

구성 파일

Brakeman 옵션은 YAML 파일에 저장하고 읽을 수 있습니다.

구성 파일 작성 과정을 단순화하기 위해 -C 옵션은 현재 설정된 옵션을 출력합니다:

root@kitploit:~
$ brakeman -C --skip-files plugins/
---
:skip_files:
- plugins/

명령줄에서 전달된 옵션이 구성 파일보다 우선합니다.

기본 구성 파일 위치는 ./config/brakeman.yml, ~/.brakeman/config.yml, /etc/brakeman/config.yml입니다.

-c 옵션을 사용하여 사용할 구성 파일을 지정할 수 있습니다.

지속적 통합

Jenkins/Hudson용 플러그인이 있습니다.

더욱 지속적인 테스트를 위해 Guard 플러그인을 사용해 보세요.

몇 가지 GitHub Actions을 사용할 수 있습니다.

빌드

root@kitploit:~
git clone git://github.com/presidentbeef/brakeman.git
cd brakeman
gem build brakeman.gemspec
gem install brakeman*.gem

Brakeman을 사용하는 곳

  • Code Climate
  • GitHub
  • Groupon
  • New Relic
  • Twitter

..그 외 더!

홈페이지/뉴스

Website: http://brakemanscanner.org/

Twitter: https://twitter.com/brakeman

Chat: https://gitter.im/presidentbeef/brakeman

라이선스

Brakeman은 비상업적 용도로 무료입니다.

자세한 내용은 COPYING을 참조하세요.

도구 다운로드