Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ranwhat — Бортовой самописец и сканер секретов для ИИ-агентов программирования. Читает, что запускали Claude Code, Codex, Gemini CLI и ещё 9 инструментов, и отмечает рискованные действия и утёкшие ключи. Работает локально, без телеметрии, MIT. | Kitploit
Инструменты/GitHubGitHub/matijamiki/ranwhat
Оборонительные ИнструментыУправление идентификациейСкриптинг и автоматизацияСбор информацииКонфиденциальностьУтилиты и фреймворкиОбнаружение СекретовРеагирование на ИнцидентыБезопасность ИИАнализ Журналов
GitHub
1115 ч 47 мин назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
matijamiki/ranwhat

ranwhat

Бортовой самописец и сканер секретов для ИИ-агентов программирования. Читает, что запускали Claude Code, Codex, Gemini CLI и ещё 9 инструментов, и отмечает рискованные действия и утёкшие ключи. Работает локально, без телеметрии, MIT.

РепозиторийСайт
Поделиться

ranwhat

Бортовой самописец для ИИ-агентов и сканер их полномочий. Безопасность ИИ-агентов для программирования: Claude Code и ещё одиннадцати агентов, работающих на вашей машине. Без аккаунта, без телеметрии, без зависимостей.

Сайт и документация: 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

Или добавьте в PATH:

pipx install ranwhat
pip install ranwhat

Затем ranwhat demo показывает сканирование полномочий на встроенном примере.

Python 3.9+. Без зависимостей, и ничего не собирается на вашей машине.

Команды

ranwhat check: всё, что стоит знать, за один проход только для чтения

Запускает watch и clean вместе и ничего не меняет.

В терминале check, watch и clean держат одну строку состояния в stderr, пока они читают, подсчитывая расшифровки на каждом проходе: 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, десктопное приложение)~/.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 и ничего не хранит на вашей машине, поэтому читать нечего; Muse Code, CLI для программирования от Meta, поддерживается. Grok Bot хранит свою историю в облаке xAI, даже для команд, которые он выполняет на вашей машине; Grok Build, CLI для программирования от xAI, поддерживается. Текущий Amp хранит свои потоки на ampcode.com. Cursor — следующий, как только его формат будет проверен по первоисточнику.

Девять правил: доступ к учётным данным, строки, похожие на секреты, в вызовах инструментов, публикация пакетов, изменения облачных ресурсов, вызовы финансовых 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 ищет по истории каждого агента и маскирует значение только в файле, который агент позволяет ему перезаписать: обычный 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 она утекла:

Скачать инструмент