
Набор инструментов с открытым исходным кодом для тестирования безопасности мобильных устройств на iOS и Android. Ранее — Passionfruit.
Набор инструментов для инструментирования мобильных приложений во время выполнения на основе Frida. Инспектируйте, перехватывайте и модифицируйте мобильные приложения через веб-интерфейс.
Теперь поддерживаются как iOS, так и Android!
Требуется запущенный сервер Frida на вашем устройстве. Сначала следуйте официальным руководствам по настройке (Android).
npm (рекомендуется, требуется Node.js 22.18+)
npm install -g igf
igf
Или запуск без установки (требуется Node.js 22.18+)
npx igf
Готовые бинарные файлы для macOS, Linux и Windows доступны в GitHub Releases. Как исходный код для разработки, так и готовые исполняемые файлы используют Node.js; см. руководство по разработке для рабочего процесса с npm.
igf [options] Запустить сервер (по умолчанию)
Параметры:
--frida <16 | 17> Версия Frida для использования (по умолчанию: 17)
--host <host> Адрес для привязки (по умолчанию: 127.0.0.1)
--port <port> Порт для привязки (по умолчанию: 31337)
--project <path> Каталог проекта для данных/кэша/журналов (по умолчанию: .igf в текущем каталоге)
--no-open Не открывать браузер при запуске
--help, -h Показать справку
| Переменная | Описание | По умолчанию |
|---|---|---|
HOST | Адрес привязки сервера | 127.0.0.1 |
PORT | Порт сервера | 31337 |
FRIDA_VERSION | Основная версия Frida (16 или 17) | 17 |
FRIDA_TIMEOUT | Таймаут операций Frida (мс) | 1000 |
PROJECT_DIR | Каталог проекта для данных/кэша/журналов | .igf в текущем каталоге |
LLM_PROVIDER | ИИ-провайдер (anthropic, openai, gemini, openrouter) | |
LLM_API_KEY | API-ключ для LLM-провайдера | |
LLM_MODEL | Название модели (например, claude-sonnet-4-20250514) | |
LLM_BASE_URL | Пользовательская конечная точка (переопределяет адрес провайдера по умолчанию) |
Параметры командной строки имеют приоритет над переменными окружения, если заданы оба.
Этот проект не включает встроенные обходы защит от модификации:
Обоснование: Решения RASP (Runtime Application Self-Protection) постоянно развиваются, чтобы обнаруживать фреймворки инструментирования. Поддержание эффективных обходов требует постоянных усилий для отслеживания новых методов обнаружения, что создаёт значительную нагрузку на сопровождение и потенциальные проблемы со стабильностью. Эти обходы также сильно зависят от конкретного приложения, что делает универсальные решения хрупкими.
Вместо поставки хрупких встроенных обходов Grapefruit фокусируется на возможностях инструментирования и инспекции, которые хорошо сочетаются со специализированными инструментами обхода.
Рекомендуемые подходы для авторизованных оценок, когда требуется обход RASP:
Frida Syscall Tracer — Используйте frida-strace (Frida 17.8.0+) для трассировки системных вызовов в целевом процессе. Это помогает выявить артефакты обнаружения и определить, какие патчи необходимы перед подключением Grapefruit:
frida-strace -U -f com.example.app