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

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

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

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

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

Категории

Все категории
Loading categories
exfil-scan — Сканируйте выводы LLM и контент, сгенерированный ИИ, на наличие сигналов эксфильтрации данных (EchoLeak, CVE-2025-32711), прежде чем они попадут к пользователям или в downstream-системы. | Kitploit
Инструменты/GitHubGitHub/vikasudasi/exfil-scan
Эксфильтрация данныхDevSecOpsОбнаружение СекретовБезопасность APIБезопасность ИИ
GitHubvikasudasi/exfil-scan

exfil-scan

Сканируйте выводы LLM и контент, сгенерированный ИИ, на наличие сигналов эксфильтрации данных (EchoLeak, CVE-2025-32711), прежде чем они попадут к пользователям или в downstream-системы.

Репозиторий
6227 дней назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

exfil-scan

Сканирование выводов LLM и AI-сгенерированного контента на предмет сигналов эксфильтрации данных до того, как они попадут к пользователям, в логи или в нижестоящие системы.


1) Зачем нужен exfil-scan

Современные LLM-приложения регулярно обрабатывают чувствительные промпты, внутренние документы, ответы API и пользовательские данные. Это создаёт новую границу безопасности: выходной слой.

Семейство атак EchoLeak (включая CVE-2025-32711) продемонстрировало, как скрытые или обфусцированные полезные нагрузки могут быть встроены в сгенерированный текст и использованы для эксфильтрации данных через инструменты, ссылки или цепочки разбора.

Традиционные сканеры фокусируются на файлах, зависимостях и сетевом трафике. Они не проверяют сгенерированный вывод модели специализированным образом.

exfil-scan предоставляет «антивирусный сканер для ответов LLM»:

  • проверяет обычный текст, JSON, Markdown и логи
  • выявляет шесть классов подозрительных эксфильтрационных паттернов
  • сообщает о находках с уровнем серьёзности и местоположением
  • легко интегрируется в CI/CD и локальные рабочие процессы разработчика

2) Что он обнаруживает

КатегорияСерьёзностьЧто обнаруживается
Скрытый текстHIGHНулевой ширины и невидимые Unicode-последовательности, используемые для сокрытия полезной нагрузки
Закодированные данныеHIGHBase64/hex/octal/unicode escape-последовательности, которые с высокой вероятностью содержат закодированный контент
Данные в URLMEDIUMПодозрительно длинные строки запроса и закодированные параметры в URL
Утечки метаданныхHIGHКлючи, похожие на учётные данные, и форматы токенов в структурированных/неструктурированных выводах
Юникодная стеганографияMEDIUMУправляющие символы двунаправленного текста и слова, похожие на гомоглифы из смешанных алфавитов
Структурные аномалииLOWЭкстремальные последовательности переводов строк/табуляций и артефакты кодирования с символами замены

3) Ключевые возможности

  • Три профиля чувствительности: low, medium, high
  • Поддержка переопределения конфигурации через YAML
  • Ввод из stdin, одного файла или каталога
  • Вывод в форматах text, json, markdown или html
  • Стабильные коды возврата для автоматизации
  • Чистый Python API для встраивания в другие инструменты

4) Установка

Установка из исходников

root@kitploit:~
git clone https://github.com/your-org/exfil-scan.git
cd exfil-scan
pip install -e .

Стандартная установка через pip (когда будет опубликовано)

root@kitploit:~
pip install exfil-scan

Установка для разработки

root@kitploit:~
pip install -e ".[dev]"
pytest

5) Быстрый старт

Сканирование вывода LLM через конвейер

root@kitploit:~
echo 'api_key: sk-ABCDEFGHIJKLMNOPQRSTUVWXYZ123456' | exfil-scan

Сканирование одного файла

root@kitploit:~
exfil-scan --input output.txt

Рекурсивное сканирование каталога

root@kitploit:~
exfil-scan --directory ./model-logs --recursive

6) Справочник параметров CLI

Примечания:

  • Используйте либо --input, либо --directory, но не оба одновременно.
  • Если путь не указан, инструмент читает из stdin.
  • Если найдены срабатывания, процесс завершается с кодом 1.

7) Примеры использования по форматам вывода

Обычный текстовый вывод

root@kitploit:~
exfil-scan --input suspicious.txt --format text

Ожидаемый вид:

root@kitploit:~
exfil-scan report
=================
Scanned targets: 1
Total findings: 2

1. [HIGH] metadata_leaks/known_token_format:openai_key
   Location: suspicious.txt:1:10
   Description: Matched known credential/token format (openai_key).

JSON-вывод

root@kitploit:~
exfil-scan --input suspicious.txt --format json

Ожидаемая структура:

root@kitploit:~
{
  "finding_count": 2,
  "scanned_targets": ["suspicious.txt"],
  "findings": [
    {
      "category": "metadata_leaks",
      "rule": "known_token_format:openai_key",
      "severity": "HIGH",
      "description": "Matched known credential/token format (openai_key).",
      "location": "suspicious.txt:1:10",
      "snippet": "..."
    }
  ]
}

HTML-вывод

root@kitploit:~
exfil-scan --directory ./outputs --recursive --format html --output report.html

Ожидаемое поведение:

  • Создаёт отдельную HTML-страницу с таблицей находок
  • Экранирует контент для безопасного отображения
  • Включает серьёзность, категорию, правило, местоположение, описание

Markdown-вывод

root@kitploit:~
exfil-scan --input suspicious.txt --format markdown --output report.md

Ожидаемый вид:

root@kitploit:~
# exfil-scan Report

- Scanned targets: 1
- Total findings: 2

8) Конфигурация и чувствительность

В репозитории поставляется файл default-config.yaml. Вы можете передать собственный файл с помощью --config.

Настройка чувствительности:

  • low: меньше ложных срабатываний, больше пороговые значения
  • medium: сбалансированные настройки по умолчанию
  • high: обнаруживает более тонкие паттерны

Переопределение чувствительности через CLI:

root@kitploit:~
exfil-scan --input out.txt --sensitivity high

9) Собственные паттерны и настройка политик

Вы можете добавить собственные форматы токенов и ключи метаданных:

root@kitploit:~
sensitivity: medium
rules:
  metadata_keys:
    - api_key
    - db_password
    - internal_token
  token_patterns:
    custom_jwt: "\\beyJ[A-Za-z0-9_\\-]{10,}\\.[A-Za-z0-9_\\-]{10,}\\.[A-Za-z0-9_\\-]{10,}\\b"
    corp_secret: "\\bcorp_[A-Za-z0-9]{24,}\\b"

Затем выполните:

root@kitploit:~
exfil-scan --input response.log --config ./my-config.yaml

10) Обзор архитектуры

Обязанности модулей:

  • exfil_scan/cli.py: разбор аргументов, выбор источника ввода, рендеринг вывода, обработка кодов завершения
  • exfil_scan/config.py: значения по умолчанию, загрузка YAML, рекурсивное слияние, нормализация профилей
  • exfil_scan/scanner.py: шесть движков обнаружения, dataclasses находок, форматирование отчётов
  • tests/test_scan.py: регрессионные тесты обнаружения и форматов вывода

Порядок выполнения:

  1. CLI разбирает аргументы.
  2. Конфигурация загружает значения по умолчанию + необязательные переопределения.
  3. Сканер читает текст из stdin/файла/каталога.
  4. Каждая включённая категория запускается независимо.
  5. Находки сортируются по серьёзности и выводятся.
  6. Код завершения сообщает об успехе/срабатывании/ошибке для автоматизации.

11) Коды завершения

КодЗначение
0Срабатываний не найдено (чисто)
1Обнаружены срабатывания
2Ошибка выполнения или аргументов

Это упрощает интеграцию с CI:

root@kitploit:~
exfil-scan --directory ./artifacts --recursive --format json --output exfil-report.json

Если обнаружено хоть одно срабатывание, ваша задача может остановиться по коду 1.


12) Тестирование

Запуск тестов:

root@kitploit:~
pytest

Покрытие включает:

  • все шесть категорий обнаружения
  • форматирование отчётов во всех четырёх режимах вывода
  • проверки на уровне правил для стабильного поведения

13) Замечания по безопасности

exfil-scan — эвристический сканер. Он предназначен для снижения риска и выявления подозрительного вывода, а не для доказательства безопасности контента.

Рекомендуемая схема развёртывания:

  1. запускайте сканер в CI на тестовых промптах и фикстурных выводах
  2. запускайте сканер в продакшн-гардрейлах на сгенерированных ответах
  3. направляйте находки на триаж аналитикам и в телеметрию
  4. постоянно настраивайте пороговые значения конфигурации на основе анализа ложных срабатываний

14) Лицензия

Этот проект распространяется под лицензией MIT. Полные условия см. в LICENSE.


15) Вклад в проект

Вклад приветствуется. При открытии PR обязательно включайте:

  • понятные шаги воспроизведения
  • ожидаемое и фактическое поведение
  • тесты для новой логики обнаружения
  • обновления документации при добавлении новых правил
Скачать инструмент
ПараметрТипПо умолчаниюОписание
-i, --inputpathнетСканировать один входной файл
-d, --directorypathнетСканировать все поддерживаемые файлы в каталоге
-r, --recursiveflagfalseРекурсивно обходить вложенные каталоги с --directory
-c, --configpathнетПуть к YAML-файлу конфигурации
-s, --sensitivitylow|medium|highconfig/defaultПереопределить профиль чувствительности
-f, --formattext|json|html|markdowntextФормат отчёта
-o, --outputpathstdoutЗаписать сформированный отчёт в файл
--versionflagn/aВывести версию CLI
-h, --helpflagn/aПоказать использование и аргументы