Bearer - 민감한 데이터 흐름 및 SAST 치트시트
Bearer는 distinctive한 각도를 가진 오픈소스 정적 애플리케이션 보안 테스팅 도구입니다. 민감한 데이터 흐름 주변으로 구축되었습니다. Bearer는 취약한 코드 패턴만 매칭하는 대신, PII, PHI 및 기타 민감한 데이터가 코드베이스에 어디에 있는지 발견하고, 해당 데이터가 어디로 이동하는지 매핑한 후 로그, 제3자 서비스 또는 안전하지 않은 통신으로 유출될 때를 표시합니다. 이를 통해 기존 보안 스캐닝과 함께 개인정보 및 규정 준수 작업 (GDPR, HIPAA, PCI)에 특히 적합합니다.
설치
스캐닝
| 명령 | 설명 |
|---|
bearer scan . | 전체 보안 + 개인정보 스캔 |
bearer scan . --scanner secrets | 시크릿 감지만 |
bearer scan . --scanner sast | SAST 규칙만 |
bearer scan . --report dataflow | 민감한 데이터 흐름 표시 |
bearer scan . --report privacy | 개인정보/규정 준수 보고서 |
bearer scan . --format json -o out.json | JSON 출력 |
보고서 유형
| 보고서 | 표시 |
|---|
security (기본값) | 심각도별 규칙 위반 |
dataflow | 민감한 데이터가 감지되고 어디로 가는지 |
privacy | 제3자 구성요소당 데이터 주체/유형 |
stats | 코드베이스 구성 요약 |
# 어떤 제3자가 개인 데이터를 받습니까?
bearer scan . --report privacy --format json
민감한 데이터 감지
| 범주 | 예시 |
|---|
| 개인정보 | 이름, 이메일, 전화번호, 주소 |
| 금융 | 카드 번호, 은행 계좌 |
| 건강 (PHI) | 진단, 의료 식별자 |
| 자격 증명 | 비밀번호, 토큰, 키 |
| 기기/추적 | IP, 기기 ID |
Bearer는 데이터를 유형 및 주체 (고객, 직원, 사용자)로 분류하므로 개인정보 보고서가 의미 있습니다.
일반적인 발견 사항
| 발견 사항 | 위험 |
|---|
| 로그에 작성된 PII | 로그 수집으로의 데이터 유출 |
| 제3자에 대한 민감한 데이터 | 검증되지 않은 처리자 / GDPR 문제 |
| 암호화되지 않은 전송 | HTTP를 통한 데이터 |
| 약한 암호화 | 민감한 필드의 안전하지 않은 알고리즘 |
| 소스의 시크릿 | 하드코드된 자격 증명 |
심각도 및 필터링
| 플래그 | 효과 |
|---|
--severity critical,high | 이 수준만 보고 |
--skip-path "tests/**,vendor/**" | 경로 제외 |
--only-rule RULE_ID | 단일 규칙 실행 |
--skip-rule RULE_ID | 규칙 억제 |
--exit-code 1 | 발견 사항에 대해 CI 실패 |
구성
# bearer.yml
scan:
skip-path:
- "**/tests/**"
- "**/node_modules/**"
severity:
- critical
- high
report:
format: json
CI 통합
# 높은 심각도 데이터플로우 문제에 PR 게이팅
bearer scan . --severity critical,high --exit-code 1
# GitHub 코드 스캐닝을 위한 SARIF 생성
bearer scan . --format sarif -o bearer.sarif
사용자 정의 규칙
Bearer 규칙은 YAML이며 새로운 민감한 패턴이나 감지를 정의할 수 있습니다.
| 필드 | 목적 |
|---|
patterns | 매칭할 코드 형태 |
languages | 적용 가능한 언어 |
severity | 발견 사항 심각도 |
metadata.cwe_id | CWE에 매핑 |
Bearer vs 다른 SAST
| 측면 | Bearer | Semgrep/Opengrep | TruffleHog |
|---|
| 핵심 아이디어 | 민감한 데이터 흐름 | 패턴/테인트 규칙 | 시크릿 스캐닝 |
| 개인정보 보고 | 1순위 | 없음 | 없음 |
| 규정 준수 매핑 | GDPR/HIPAA/PCI | 수동 | 없음 |
| 최적 용도 | 데이터 위험 + 개인정보 검토 | 일반 SAST 폭 | 유출된 자격 증명 |
일반 SAST를 위해 Semgrep/Opengrep과 시크릿을 위해 TruffleHog를 보완합니다. Bearer의 장점은 어떤 데이터가 위험한지 아는 것입니다.
리소스