Bearer - 機密データフロー & SAST チートシート
Bearerはオープンソースの静的アプリケーションセキュリティテストツールで、独特なアプローチを持っている:機密データフローを中心に構築されている。脆弱なコードパターンのみをマッチングするのではなく、BearerはPII、PHI、その他の機密データがコードベースに存在する場所を発見し、そのデータがどのように移動するかをマッピングし、ログ、第三者サービス、安全でない通信にリークする場合にフラグを立てる。これはプライバシーとコンプライアンス (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 | 第三者コンポーネント別のデータサブジェクト/タイプ |
stats | コードベース構成の概要 |
# 個人データを受け取る第三者はどれか?
bearer scan . --report privacy --format json
機密データ検出
| カテゴリ | 例 |
|---|
| 個人 | 名前、メール、電話、住所 |
| 金融 | カード番号、銀行口座 |
| 健康 (PHI) | 診断、医療識別子 |
| 認証情報 | パスワード、トークン、キー |
| デバイス/追跡 | IP、デバイスID |
Bearerはタイプとサブジェクト (顧客、従業員、ユーザー)でデータを分類し、プライバシーレポートを意味のあるものにする。
一般的な結果
| 結果 | リスク |
|---|
| ログに書かれたPII | ログ集約へのデータリーク |
| 機密データを第三者に | 未検証のプロセッサ / 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 |
|---|
| コアアイデア | 機密データフロー | パターン/taintルール | シークレット走査 |
| プライバシーレポート | ファーストクラス | いいえ | いいえ |
| コンプライアンスマッピング | GDPR/HIPAA/PCI | 手動 | いいえ |
| 最適用途 | データリスク+プライバシーレビュー | 一般SAST範囲 | リークした認証情報 |
一般SASTのSemgrep/Opengrepを補完し、シークレットのためにTruffleHogと補完 — Bearerのエッジはどのデータがリスクにあるかを知ること。
リソース