gitログからシークレットの露出期間を追跡し、ローテーション済みか現在も漏洩中かを判別するCLIツールです。
中辛 の解説
RotationLedgerはPython 3.11以上で動作するCLIツールで、サードパーティ依存がありません。git log -pで書き出したログファイルをオフラインで解析し、4つのサブコマンド(scan・lifetime・report・version)を提供します。AWS Access Key・Bearer Token・接続文字列・PEMヘッダーなどの構造的なルールと、Shannonエントロピーを使ったヒューリスティック検出を組み合わせています。reportの出力はソート済みの決定論的なテキストなので、2つの出力をdiffするだけで新規露出を検出できます。終了コードでパイプラインのゲートとして使うことも可能です。
こんなリポジトリです
こんなときに便利です
- リポジトリに誤ってコミットされた認証情報の露出期間を調査したいとき
- CI/CDパイプラインでシークレットの新規露出を自動検出してビルドを止めたいとき
- セキュリティインシデント対応時に、漏洩したシークレットがいつから存在していたか証跡を残したいとき
主な機能
ほかとの違い
truffleHogやgitleaksが「シークレットの存在」を検出するのに対し、RotationLedgerはコミット全体を横断した「露出日数」を主要指標とし、クローズドなインシデントとオープンなインシデントを分けて報告します。
このリポジトリの作り方
はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。
準備するもの
- Python 3.11以上
すぐに始める
- ソースツリーをクローンします
git clone https://github.com/VanTaS15/RotationLedger.git
cd RotationLedger
- パッケージをインストールします(サードパーティ依存なし)
pip install -e .
- サンプルのgitログでレポートを実行します
rotationledger report samples/history.gitlog
- インストールせずにソースツリーから直接実行する場合
set PYTHONPATH=src
python -m rotationledger report samples/history.gitlog
ギット飯トライで味見
入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。
ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。
npx gitbap-try VanTaS15/RotationLedger
Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →
スター推移 · 7日
確認日時
使いやすさ · まねしやすいか
- ゆるいライセンス
- テストあり
- サンプル集
- 最近の更新
- AGENTS.md
- llms.txt
- テンプレート
最近の更新あり · 2026 年に作成
「セキュリティ」 こういうリポジトリを毎週受け取りませんか?
毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。
自分のリポジトリですか? README にギット飯バッジを貼る
[](https://www.gitbap.com/r/VanTaS15/RotationLedger)Claude からそのまま使う — ギット飯のつなぎ方
ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。
Claude の設定 → コネクタにこのアドレスを貼り付け。
https://www.gitbap.com/api/mcpプラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。
/plugin marketplace add jakeparkcolde/gitbap-cowork/plugin install gitbap-cowork@gitbapAI が README をもとに要約しました · 原文を見る