
bearer v2.1.0
보안 및 개인정보 위험을 발견, 필터링 및 우선순위를 지정하는 코드 보안 스캐닝 도구(SAST)
소스 코드를 최고의 보안 및 개인정보 위험에 대해 스캔하세요.
Bearer는 정적 애플리케이션 보안 테스트(SAST) 도구로, 소스 코드를 스캔하고 데이터 흐름을 분석하여 보안 및 개인정보 위험을 식별, 필터링 및 우선순위를 지정하도록 설계되었습니다.
Bearer는 무료 오픈 솔루션인 Bearer CLI와 Cycode를 통해 제공되는 상업용 솔루션인 Bearer Pro를 제공합니다.
[![GitHub Release][release-img]][release]
[![Test][test-img]][test]
언어 지원
Bearer CLI (오픈 소스): Go • Java • JavaScript • TypeScript • PHP • Python • Ruby
Cycode의 Bearer Pro: 모든 Bearer CLI 언어에 추가:
- 고급 파일 간 분석: Java • Python • C# (알파)
- 추가 언어: C# • Kotlin • Elixir • VB.Net
보안 및 개인정보를 위한 개발자 친화적인 정적 코드 분석
https://user-images.githubusercontent.com/1649672/230438696-9bb0fd35-2aa9-4273-9970-733189d01ff1.mp4
Bearer CLI는 소스 코드에서 다음을 스캔합니다:
-
보안 위험 및 취약점 — 내장 규칙을 사용하여 OWASP Top 10 및 CWE Top 25를 포함하며, 예를 들면:
- A01: 접근 제어 (예: 경로 탐색, 열린 리디렉션, 민감 정보 노출)
- A02: 암호화 오류 (예: 약한 알고리즘, 안전하지 않은 통신)
- A03: 주입 (예: SQL 주입, 입력 검증, XSS, XPath)
- A04: 설계 (예: 민감 데이터 암호화 누락, 민감 정보를 포함하는 영구 쿠키)
- A05: 보안 구성 오류 (예: 쿠키 또는 JWT에 민감 정보를 평문 저장)
- A07: 식별 및 인증 실패 (예: 하드코딩된 비밀번호 사용, 부적절한 인증서 검증)
- A08: 데이터 무결성 오류 (예: 신뢰할 수 없는 데이터의 역직렬화)
- A09: 보안 로깅 및 모니터링 실패 (예: 로그 파일에 민감 정보 삽입)
- A10: 서버 측 요청 위조 (SSRF)
참고: 모든 규칙과 코드 패턴은 문서를 통해 확인할 수 있습니다.
-
개인정보 위험 — 앱 내 PII, PHI 사용과 같은 민감 데이터 흐름 및 민감 데이터를 처리하는 구성 요소 (예: pgSQL 같은 데이터베이스, OpenAI, Sentry 등 타사 API)를 감지합니다. 이는 다음과 같은 개인정보 보고서 생성에 유용합니다:
- 개인정보 영향 평가(PIA)
- 데이터 보호 영향 평가(DPIA)
- GDPR 규정 준수 보고를 위한 처리 활동 기록(RoPA) 입력
🚀 시작하기
몇 분 안에 가장 중요한 보안 위험과 취약점을 발견하세요. 이 가이드에서는 Bearer CLI를 설치하고, 로컬 프로젝트에서 보안 스캔을 실행하며, 결과를 확인합니다. 시작해 봅시다!
Bearer CLI 설치
Bearer CLI를 설치하는 가장 빠른 방법은 설치 스크립트를 사용하는 것입니다. 아키텍처에 가장 적합한 빌드를 자동으로 선택합니다. 기본적으로 ./bin에 설치되며, 최신 릴리스 버전이 사용됩니다:
curl -sfL https://raw.githubusercontent.com/Bearer/bearer/main/contrib/install.sh | sh
다른 설치 옵션
Homebrew
brew install bearer/tap/bearer
기존 설치를 업데이트하려면:
brew update && brew upgrade bearer/tap/bearer
Debian/Ubuntu
sudo apt-get update && sudo apt-get install ca-certificates -y && sudo update-ca-certificates
sudo apt-get install apt-transport-https
echo -e "Types: deb\nURIs: https://apt.fury.io/bearer/\nSuites: /\nTrusted: yes" | sudo tee /etc/apt/sources.list.d/fury.sources
sudo apt-get update
sudo apt-get install bearer
기존 설치를 업데이트하려면:
sudo apt-get update
sudo apt-get install bearer
RHEL/CentOS
저장소 설정 추가:
$ sudo vim /etc/yum.repos.d/fury.repo
[fury]
name=Gemfury Private Repo
baseurl=https://yum.fury.io/bearer/
enabled=1
gpgcheck=0
그런 다음 yum으로 설치:
sudo yum -y update
sudo yum -y install bearer
기존 설치를 업데이트하려면:
sudo yum -y update bearer
Docker
Bearer CLI는 Docker Hub 및 ghcr.io에서 Docker 이미지로도 사용할 수 있습니다.
Docker가 설치된 상태에서, 예제 경로 대신 적절한 경로를 사용하여 다음 명령을 실행할 수 있습니다.
docker run --rm -v /path/to/repo:/tmp/scan bearer/bearer:latest-amd64 scan /tmp/scan
또한 docker compose를 사용할 수 있습니다. docker-compose.yml 파일에 다음을 추가하고 볼륨을 프로젝트의 적절한 경로로 바꾸세요:
version: "3"
services:
bearer:
platform: linux/amd64
image: bearer/bearer:latest-amd64
volumes:
- /path/to/repo:/tmp/scan
그런 다음 docker compose run 명령을 실행하여 Bearer CLI를 지정된 플래그와 함께 실행합니다:
docker compose run bearer scan /tmp/scan --debug
위의 Docker 설정은 항상 최신 릴리스를 사용합니다.
바이너리
운영 체제/아키텍처에 맞는 아카이브 파일을 여기에서 다운로드하세요.
아카이브를 풀고 바이너리를 $PATH의 위치(UNIX 계열 시스템에서는 /usr/local/bin 등)에 넣습니다. 실행 권한이 있는지 확인하세요.
바이너리를 사용할 때 Bearer CLI를 업데이트하려면 최신 릴리스를 다운로드하여 기존 설치 위치를 덮어쓰면 됩니다.
프로젝트 스캔
Bearer CLI를 시험해보는 가장 쉬운 방법은 OWASP Juice Shop 예제 프로젝트를 사용하는 것입니다. 이 프로젝트는 일반적인 보안 결함이 있는 실제 JavaScript 애플리케이션을 시뮬레이션합니다. 시작하려면 편리한 위치에 클론하거나 다운로드하세요.
git clone https://github.com/juice-shop/juice-shop.git
이제 프로젝트 디렉토리에서 bearer scan 명령을 실행합니다:
bearer scan juice-shop
진행 표시줄이 스캔 상태를 표시합니다.
스캔이 완료되면 Bearer CLI는 기본적으로 규칙 발견 항목의 세부 정보, 코드베이스에서 위반이 발생한 위치 및 이유가 포함된 보안 보고서를 출력합니다.
기본적으로 scan 명령은 SAST 스캐너를 사용하며, 다른 스캐너 유형도 사용할 수 있습니다.
보고서 분석
보안 보고서는 Bearer CLI가 감지한 보안 문제를 쉽게 이해할 수 있도록 보여줍니다. 보고서는 다음으로 구성됩니다:
- 코드에 대해 실행된 규칙 목록
- 규칙 발견을 트리거한 파일 위치와 줄 번호를 포함한 각 감지된 발견 항목
- 규칙 검사, 발견 항목 및 경고 요약이 포함된 통계 섹션
OWASP Juice Shop 예제 애플리케이션은 규칙 발견을 트리거하여 전체 보고서를 출력합니다. 출력의 일부는 다음과 같습니다:
...
HIGH: Sensitive data stored in HTML local storage detected. [CWE-312]
https://docs.bearer.com/reference/rules/javascript_lang_session
To skip this rule, use the flag --skip-rule=javascript_lang_session
File: juice-shop/frontend/src/app/login/login.component.ts:102
102 localStorage.setItem('email', this.user.email)
=====================================
59 checks, 40 findings
CRITICAL: 0
HIGH: 16 (CWE-22, CWE-312, CWE-798, CWE-89)
MEDIUM: 24 (CWE-327, CWE-548, CWE-79)
LOW: 0
WARNING: 0
보안 보고서 외에도 개인정보 보고서를 실행할 수 있습니다.
다음 단계를 준비하셨나요? scan 명령 사용 및 구성에 대한 추가 옵션은 scan 명령 구성에서 확인할 수 있습니다.
더 많은 가이드와 사용 팁은 문서를 참조하세요.
❓ FAQs
Bearer CLI가 다른 SAST 도구와 다른 점은 무엇인가요?
SAST 도구는 수백 가지의 이슈를 거의 맥락 없이 보안팀과 개발자에게 전달하고 우선순위를 제공하지 않아, 종종 보안 분석가가 수동으로 이슈를 분류해야 하는 것으로 악명 높습니다.
오늘날 가장 취약한 자산은 민감 데이터이므로, 우리는 거기서부터 시작하여 민감 데이터 흐름을 평가하여 우선순위를 지정하고 무엇이 더 중요한지, 무엇이 아닌지를 강조합니다. 이 독특한 기능 덕분에 개인정보 스캐너도 함께 제공할 수 있습니다.
우리는 보안 이슈를 명확한 비즈니스 영향 및 데이터 침해 또는 데이터 유출 위험과 연결함으로써 추가 비용 없이 더 나은, 더 견고한 소프트웨어를 구축할 수 있다고 믿습니다.
또한, 무료 오픈 소스이며 설계상 확장 가능하고 개발자에게 좋은 사용자 경험을 염두에 두고 제작되었기 때문에, 직접 차이를 느끼실 수 있을 것입니다.
개인정보 스캐너란 무엇인가요?
코드의 보안 결함을 감지하는 것 외에도, Bearer CLI는 규정 준수 팀을 위한 개인정보 보고서를 생성하는 데 필요한 증거 수집 과정을 자동화할 수 있습니다.