
Находите и редактируйте секреты в истории AI-агентов кодирования (Claude Code и другие).

Находит и редактирует секреты в локальной истории вашего ИИ-агента. Полностью офлайн.
Профилактика: не вставляйте ключи API в облачных ИИ-агентов — ключ проходит через серверы провайдера, прежде чем попасть на ваш диск.
Если уже вставили: agentsweep устраняет оставшийся локальный вектор атаки — вредоносное ПО в цепочке поставок и скомпрометированные пакеты, которые сканируют ваш диск на наличие учётных данных. Ваши файлы никогда не покидают вашу машину.
Поддерживается 29 агентов: Claude Code · Codex · OpenCode · Cursor · Windsurf · Aider · Cline · Kilo Code · Roo Code · PearAI · Trae · Void · Gemini CLI · Qwen Code · Continue · Open Interpreter · GitHub Copilot Chat · OpenClaw · Hermes · Goose · Warp · Grok CLI · Kiro CLI · Zed · Codebuff · Plandex · Junie · Mentat · JetBrains AI
Экспериментальные источники (Warp, Grok CLI, Kiro CLI, Zed, Codebuff, Plandex, Qwen Code, PearAI, Trae, Void, Junie, Mentat, JetBrains AI) — пути/форматы хранения получены из исследований, но ещё не подтверждены на реальной установке. Сканирование безопасно — ошибочный путь просто ничего не найдёт, — но пока они могут выдавать неполные отчёты. В списке выбора они помечены
(experimental)и выводят предупреждение при сканировании.
191 правило обнаружения — AWS, GitHub, Stripe, OpenAI, Anthropic, Google, Slack, Discord, HuggingFace, JWT, ключи PEM, URL баз данных, BIP-39 seed-фразы и многое другое
Альфа — каждое деструктивное действие защищено шлюзами, резервными копиями и обратимо одной командой
Claude Code (как и любой другой ИИ-агент для командной строки) хранит полную историю ваших диалогов в виде обычного текста в JSONL-файлах на диске — для Claude Code в ~/.claude/projects/, для OpenAI Codex в ~/.codex/sessions/. Всё, что вы вставили — ключ AWS, .env-файл, URL базы данных — остаётся в открытом виде на неопределённый срок. У обычного разработчика за несколько месяцев в истории накапливаются десятки секретов, часто незаметно.
agentsweep сканирует эту историю, сообщает, что утекло, и может заменить секретные значения по месту, сохраняя структуру JSONL побайтово. Также он подсказывает, какие ключи нужно отозвать, с правильной ссылкой для отзыва для каждого провайдера.
Область защиты: сам agentsweep полностью локальный и офлайн — он читает и записывает только файлы на вашей машине и не совершает ни одного сетевого вызова. Он устраняет один вектор атаки: секреты, лежащие в локальных файлах истории. Он не влияет на то, что уже получил ваш ИИ-провайдер: когда вы вставляете ключ в Claude Code, Cursor или любого другого облачного агента, этот ключ уже прошёл через серверы провайдера, прежде чем попасть на диск. Если вас это беспокоит, рассмотрите локально размещённые модели (Ollama, LM Studio, OpenCode), где ничего не покидает вашу машину — agentsweep особенно хорошо сочетается с локальными настройками.
Атаки на цепочку поставок ускоряются. В 2024–2025 годах волна вредоносных npm и PyPI пакетов — sha256-universal, shailulid, сотни тайпсквотов — были замечены в одном: экспортировании учётных данных разработчика с машины, на которую установлены. Они нацелены на переменные окружения, .env-файлы, историю команд, SSH-ключи, а теперь и на файлы истории ИИ-агентов.
ИИ-помощники для кодинга создали новую категорию утечки учётных данных, которой не существовало два года назад:
~/.claude/projects/*/conversations/*.jsonl навсегдаpostinstall → сканирует стандартные пути → находит ваши JSONL-файлы → экспортирует 50 ключей API за один запрос.env, который вы просили ИИ помочь, каждый URL базы данных, переданный для отладки, каждый токен, вставленный для одной командыИстория ИИ-агента — это новый .bash_history, только с полным контекстом, а не просто команды. Инструменты атакующих это уже знают. agentsweep существует, чтобы навести порядок до того, как это будет использовано.
pip install uv # установить uv (пропустите, если уже есть)
uv tool install agentsweep # установка — добавляет `agentsweep` и `asweep` в PATH
asweep # запуск — интерактивное меню проведёт вас через всё
Всё. Не нужно активировать виртуальное окружение, настраивать PATH — uv tool install даёт команде собственную изолированную среду.
agentsweep выполняет фиксированный конвейер из 5 этапов. scan останавливается после этапа 3; fix продолжает до замены.
flowchart LR
A("🔍 ОБНАРУЖЕНИЕ\nобход каталогов истории\nпотоковый список файлов") --> B("⚡ СКАНИРОВАНИЕ\nAho-Corasick предфильтр\n191 regex-правило + BIP-39")
B --> C{"секреты\nнайдены?"}
C -- "нет" --> D("✅ ЧИСТО\nвыход 0")
C -- "найдены" --> E("📋 РЕЗУЛЬТАТЫ\nпоказать отчёт\nвыход 1")
E -. "только сканирование" .-> F("⚠️ ОТОЗВАТЬ\nключи ещё активны")
E -- "введите REDACT" --> G("✏️ ЗАМЕНА\nатомная запись · резервная копия .bak\nпроверка JSON после записи")
G --> H("🔑 ОТОЗВАТЬ\nссылки для отзыва\nпо каждому провайдеру")
style A fill:#1e3a5f,color:#fff,stroke:#2d5986
style B fill:#1e3a5f,color:#fff,stroke:#2d5986
style C fill:#4a3728,color:#fff,stroke:#7a5c3f
style D fill:#1a4731,color:#fff,stroke:#2d7a52
style E fill:#4a3a1e,color:#fff,stroke:#7a6030
style F fill:#4a2020,color:#fff,stroke:#8b3a3a
style G fill:#1e3a5f,color:#fff,stroke:#2d5986
style H fill:#2d1e4a,color:#fff,stroke:#5a3a8b
Каждая запись защищена 8 гарантиями безопасности — атомарная замена, обязательная резервная копия .bak, отклонение символических ссылок, шлюзы по времени изменения/процессам и проверка JSONL после записи. agentsweep undo восстанавливает из резервных копий.
Рекомендуется — изолированно, без конфликтов venv:
uv tool install agentsweep # однократная установка
uv tool upgrade agentsweep # обновление до последней версии
Попробовать без установки (всегда последняя версия):
uvx agentsweep@latest
Классический pip:
pip install agentsweep
pip install --upgrade agentsweep
Нет
uv?pip install uvили см. astral.sh/uv. Требуется Python 3.11+.
Выполните без аргументов в терминале, и вы получите полный опыт — баннер,
нумерованное меню, подтверждение вводом перед любыми деструктивными действиями
и отмену одной клавишей (восстанавливает резервные копии .bak). Любое
интерактивное сканирование, обнаружившее секреты, заканчивается предложением
заменить их на месте (введите REDACT для подтверждения):
agentsweep