Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ranwhat — AIコーディングエージェント用のフライトレコーダー兼シークレットスキャナー。Claude Code、Codex、Gemini CLI ほか9つのツールが実行した内容を読み取り、危険な操作や漏洩したキーを検出します。ローカルで動作し、テレメトリなし、MIT。 | Kitploit
ツール/GitHubGitHub/matijamiki/ranwhat
防御ツールID管理スクリプトと自動化情報収集プライバシーユーティリティとフレームワークシークレット検出インシデントレスポンスAIセキュリティログ分析
GitHubmatijamiki/ranwhat

ranwhat

195時間3分前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

AIコーディングエージェント用のフライトレコーダー兼シークレットスキャナー。Claude Code、Codex、Gemini CLI ほか9つのツールが実行した内容を読み取り、危険な操作や漏洩したキーを検出します。ローカルで動作し、テレメトリなし、MIT。

リポジトリを見るウェブサイト

ranwhat

AIエージェントのためのフライトレコーダー、そしてエージェントが持つ権限のスキャナー。 Claude Code および他の11のコーディングエージェント向けのAIコーディングエージェントセキュリティ、あなた自身のマシン上で実行。 アカウント不要、テレメトリなし、依存関係なし。

ウェブサイトとドキュメント: https://ranwhat.com

あなたのコーディングエージェントはあなたのシェル、鍵、リポジトリを持っています。ranwhat はエージェントが実際に実行した内容を読み取り、知っておく価値のある数少ない不可逆的な操作を浮かび上がらせます。

$ ranwhat watch --days 90

  ranwhat watch  · local agent flight recorder
  ----------------------------------------------------------------------------
  Read Claude Code: 4 transcripts, last 90 days

  2 critical  2 high

  * Credential material accessed   2026-09-30 18:13:00  Bash
      cat ~/.ssh/id_rsa
      -> The agent read a file whose only purpose is to hold secrets. Whatever
         it read is now in a model context you do not control.

  * Bulk or recursive deletion   2026-09-28 14:42:00  Bash
      …rm -rf '@'
      -> Recursive deletion. Recoverable only if something else was backing it
         up.

  * Package or release published   2026-09-21 11:05:00  Bash
      npm publish
      -> Something was pushed to a registry other people may install from.
         Supply-chain reach, and usually irreversible.

  * Destructive git operation   2026-09-15 17:30:00  Bash
      git push --force origin main
      -> History rewriting or branch deletion. This is the class of action
         that destroys the record of what else happened.

  ----------------------------------------------------------------------------
  Read locally. Nothing was transmitted.

Claude Code は、あなたが cleanupPeriodDays より長く使用していないセッションのトランスクリプトを削除します。デフォルトでは30日です。したがって --days 90 は、あなたがこの値を引き上げていればより多くを見つけ、その期間内に再開したセッションにそれより古い操作が含まれていればそれも見つけ、また Claude Desktop や Cowork で開始または最後に継続されたセッションについても見つけます。これらは Claude Code v2.1.248 以降では デフォルトで年齢に関係なく保持されます。

インストール

何もインストールせずに一度だけ実行する:

uvx ranwhat check

またはパスに追加する:

pipx install ranwhat
pip install ranwhat

その後 ranwhat demo で、同梱のサンプルに対する権限スキャンを見ることができます。

Python 3.9+。依存関係はなく、あなたのマシン上でビルドされるものもありません。

コマンド

ranwhat check: 知っておくべきすべてを、1回の読み取り専用パスで

watch と clean をまとめて実行し、何も変更しません。

ターミナル上では、check、watch、clean は読み取り中に stderr に1行のステータス行を保ち、各パスを通じてトランスクリプトを数えます: indexing secrets(初回は (first run))、checking actions、looking for secrets。stderr がターミナルでない場合、または --json の場合は何も書き込まれません。

ranwhat watch: Claude Code と他のエージェントが実行した内容を監査する

Claude Code と他のコーディングエージェントがすでにディスクに書き込んだ内容を読み取ります。ラッパーもプロキシもなく、クリティカルパスに何も入れません。以下の各エージェントはデフォルトで読み取られ、それぞれが履歴を保持する場所から読み取られます(括弧内の変数は、エージェント自体を移動させるのと同じように、その場所を移動させます)。マシン上にないものはスキップされます。

ソース場所形式
Claude Code~/.claude/projects/*/*.jsonl および各セッションの subagents/**/agent-*.jsonl、または設定されている場合は $CLAUDE_CONFIG_DIR/projects 以下の同じものJSONL
Codex (CLI, IDE extension, desktop app)~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl および archived_sessions/ ($CODEX_HOME); history.jsonl、shell_snapshots/ およびその SQLite スレッドインデックスはシークレットを検索されるJSONL; SQLite は読み取り専用; .jsonl.zst は読み取り専用、Python 3.14 または zstd コマンドがある場合
Gemini CLI~/.gemini/tmp/<project>/chats/session-*.jsonl および古い session-*.json ($GEMINI_CLI_HOME)JSONL, JSON
GitHub Copilot CLI~/.copilot/session-state/<session>/events.jsonl ($COPILOT_HOME)JSONL
Qwen Code~/.qwen/projects/<project>/chats/*.jsonl および古い tmp/<hash>/chats/session-*.json ($QWEN_RUNTIME_DIR, $QWEN_HOME)JSONL, JSON
Grok Build~/.grok/sessions/<folder>/<session>/updates.jsonl ($GROK_HOME)JSONL
Droid~/.factory/sessions/*.jsonl、およびその下の -<cwd>/*.jsonl と btw/*.jsonl ($FACTORY_HOME_OVERRIDE)JSONL
Kimi Code~/.kimi-code/sessions/<folder>/<session>/agents/*/wire.jsonl ($KIMI_CODE_HOME)JSONL
Kimi CLI~/.kimi/sessions/<folder>/<session>/wire.jsonl および context*.jsonl ($KIMI_SHARE_DIR)JSONL
Pi~/.pi/agent/sessions/--<cwd>--/*.jsonl ($PI_CODING_AGENT_DIR)JSONL
Muse Code~/.local/share/muse/sessions/YYYY/MM/DD/<session>/session.jsonl ($XDG_DATA_HOME/muse)JSONL
OpenClaw$OPENCLAW_STATE_DIR/agents/*/agent/openclaw-agent.sqliteSQLite, 読み取り専用

Meta Muse は Meta のクラウドで実行され、あなたのマシンには何も保持しないため、読むものがありません。Meta のコーディング CLI である Muse Code はサポートされています。 Grok Bot は、あなたのマシン上で実行するコマンドについても、その履歴を xAI のクラウドに保持します。xAI のコーディング CLI である Grok Build はサポートされています。現在の Amp はスレッドを ampcode.com に保持します。Cursor は次です。その形式が一次情報源と照合され次第です。

9つのルール: 認証情報アクセス、ツール呼び出し内のシークレット形状の文字列、パッケージ公開、クラウドリソースの変更、金融API呼び出し、ログ改ざん、破壊的な git、再帰的削除、curl でアップロードされたローカルファイル。各エージェントのツール呼び出しは同じルールで判定され、すべての操作はどのエージェントが実行したかを示します。

ranwhat watch --days 30
ranwhat watch --source codex                # one agent (repeatable)
ranwhat watch --path codex=~/work/.codex    # an agent's history elsewhere
ranwhat watch --json
ranwhat sources                             # every agent, where it looked, what it found

--root と --state-dir は今でも動作します。--path claude-code= と --path openclaw= の名前としてです。

ranwhat clean: Claude Code と他のエージェントのトランスクリプト内のシークレットを見つける

エージェントが cat .env を実行すると、その出力がトランスクリプトに書き込まれます: あなたのデータベースパスワード、JWTシークレット、プロバイダトークンが、平文で、Claude Code がデフォルトで30日間保持するファイルの中に。

ranwhat clean               # report, then open a review session
ranwhat clean --apply       # mask everything without asking

clean はすべてのエージェントの履歴を検索し、エージェントが書き換えを許可するファイル内でのみ値をマスクします: 過去2分間に何も書き込まれていないプレーンな JSONL、JSON、またはテキストファイルです。データベース(Codex のスレッドインデックス、OpenClaw のエージェントデータベース)と圧縮ファイルは読み取り専用です: レポートは、シークレットを保持するそれぞれの名前と、エージェント内でそれを削除する方法を示します。

実際の履歴のスキャンには時間がかかるため、セッションは、あなたに再スキャンさせて対応させるのではなく、たった今見つけた内容に対して開かれたままになります:

ranwhat> list           the findings again
ranwhat> show 3         where it appears, and what to roll it at
ranwhat> mask 3         mask just that one
ranwhat> mask all       mask everything listed
ranwhat> keep 3         leave it alone
ranwhat> rotate         what to rotate, grouped by provider

各検出結果は、それがどのプロジェクトで見つかったか、そしてトランスクリプトがそれを名指ししている場合は、それが読み出されたファイルを示します。なぜなら、64文字の文字列は、どの .env から漏れたかを知らなければ役に立たないからです:

* Stripe live secret key   sk_…dc  32 chars  seen 8x
      read from api/.env
      in         /Users/you/Desktop/app

リダクションは修復ではありません。 ここで値をマスクしても、それが露出されなかったことにはなりません。それはすでにディスク上にあり、すでにあなたが制御しないモデルコンテキスト内にありました。ローテーションが修正であり、マスクはそれが二度目に漏れるのを止めるだけです。レポートは、安全であるとほのめかすのではなく、そう述べています。

値のそばのキーがそれをシークレットとして名指ししている場合、または値が認識可能な認証情報の形状を帯びている場合にのみ、値をマスクします。プレースホルダー、テンプレートファイル、通常の設定はそのままにされ、公開されたドキュメントの例(AWS の AKIAIOSFODNN7EXAMPLE)や、AKIA1234567890ABCDEF のような明らかなテストフィクスチャも同様です。バックアップは ~/.ranwhat/backups に置かれ、書き換えられたファイルは元のファイルを置き換える前にパースし直されます。

コマンドに入力されたパスワードで、そばにキーがないものは、コマンドがそれを受け取る場所で見つかります: mysql -pPASSWORD(および mysqldump、mysqladmin、mariadb)、sshpass -p、redis-cli -a、docker login -p、curl -u user:password、--password、そして sqlcmd、mongosh、ldapsearch、htpasswd、keytool、ConvertTo-SecureString -AsPlainText、smbclient の同じ場所です。そこにある変数、たとえば -p$MYSQL_PWD はそのままにされます。

シークレットインデックス

check と watch は、clean があなたの履歴のどこかで、すべてのエージェントの中で見つけたすべてのシークレットを隠します。--days と --source が何と言おうと、そのコピーがどこに現れようと: Codex セッションで読み取られたパスワードは、Claude Code がそれを入力した場所で隠されます。毎回すべてのトランスクリプトを読むことなくそれらを知るために、これらは ~/.ranwhat/known/(それが設定されている場合は $RANWHAT_HOME/known/)にインデックスを保持し、Claude Code のトランスクリプトディレクトリごとに1ファイルを持ち、ファイルのサイズまたは変更時刻が変わったときにのみそのファイルを再度読み取ります。初回実行はそれらすべてを読み取り、そう告げます。check は自身のシークレット検索からそれを埋めるので、シークレットのためにトランスクリプトが二度読まれることはありません。

インデックスはソルト付きフィンガープリントを保持し、シークレットそのものは決して保持しません: それぞれについて、その最初の6文字の鍵付き BLAKE2b ハッシュの16ビット(非常に多くの先頭が共有するタグであり、それらについての推測を16ビットを超えて絞り込むことはありません)、その長さ、そして値全体とそのマスクが保持するフィンガープリントの鍵付きハッシュです。鍵はランダムで、マシンごとに一度作られ、インデックスのそばに置かれます。両方のファイルはあなただけが読めます。clean はマスクする前に各シークレットを追加するので、見逃したコピーも、セッションがどう終わろうと隠されたままになります。

ツールをダウンロード