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

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

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

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

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

Категории

Все категории
Loading categories
iron-proxy — Межсетевой экран исходящего трафика для недоверенных рабочих нагрузок. | Kitploit
Инструменты/GitHubGitHub/paradigmxyz/iron-proxy
Безопасность контейнеровВеб-прокси и перехватЭксфильтрация данныхВеб-безопасностьСетевая безопасностьБезопасность облачных средDevSecOpsБезопасность Баз Данных
GitHubparadigmxyz/iron-proxy

iron-proxy

Межсетевой экран исходящего трафика для недоверенных рабочих нагрузок.

Репозиторий
682481137 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

iron-proxy

Docs Latest Release Docker Pulls

Проблема

Задачи CI, агенты программирования на базе ИИ и изолированные контейнеры могут выполнять произвольные исходящие запросы. Скомпрометированная зависимость, внедрение через промпт или вредоносный шаг сборки могут привести к утечке секретов, обращению к внешним серверам или открытию обратной оболочки. Большинство команд не имеют никакой видимости того, что покидает их рабочие нагрузки, не говоря уже о способах это остановить.

Что делает iron-proxy

iron-proxy — это MITM-прокси для исходящего трафика со встроенным DNS-сервером, который располагается между вашей недоверенной рабочей нагрузкой и интернетом. Он применяет политику запрета по умолчанию на сетевой границе, поэтому рабочая нагрузка может обращаться только к доменам, которые вы явно разрешили. Настоящие секреты никогда не попадают в песочницу. Рабочие нагрузки используют прокси-токены, а iron-proxy подставляет реальные учётные данные на выходе, что означает, что скомпрометированная рабочая нагрузка может похитить токен, бесполезный за пределами прокси.

Единый бинарный файл. Единый конфиг YAML.

  • Запрет исходящего трафика по умолчанию. Каждый исходящий запрос блокируется, если назначение не соответствует вашему списку разрешённых. Перечислите ваши домены и CIDR, всё остальное получает 403.
  • Список запрещённых IP вышестоящих узлов. Даже когда хост разрешён, прокси отказывается подключаться к нему, если его разрешённый адрес попадает в запрещённый CIDR — закрывая брешь SSRF/DNS-rebinding, когда разрешённое имя хоста указывает на IMDS или loopback. Конечные точки облачных метаданных (169.254.169.254, fd00:ec2::254 и fd20:ce::254) и loopback запрещены по умолчанию; переопределяется через proxy.upstream_deny_cidrs или IRON_PROXY_UPSTREAM_DENY_CIDRS.
  • Внедрение секретов на уровне границы. Рабочие нагрузки отправляют прокси-токены; iron-proxy заменяет их реальными секретами до того, как запрос уйдёт. Если песочница скомпрометирована, атакующий получает токены, бесполезные за пределами прокси.
  • Журнал аудита по каждому запросу. Каждый запрос логируется в виде структурированного JSON с полным результатом конвейера преобразований: какие секреты были заменены, какие правила совпали, что было заблокировано и почему.
  • Поддержка потоковой передачи. Обновления WebSocket и Server-Sent Events проксируются нативно. Никакой специальной конфигурации для рабочих нагрузок агентов, поддерживающих длительные соединения.
  • Явная поддержка прокси. Опциональный слушатель туннеля для инструментов, которые нативно поддерживают конфигурацию прокси через HTTP_PROXY, HTTPS_PROXY или настройки SOCKS5.
  • MITM-прокси PostgreSQL. Опциональный слушатель, который аутентифицирует клиентов по управляемым прокси учётным данным, внедряет SET ROLE в вышестоящую сессию и отклоняет попытки клиента изменить роль (SET ROLE, set_config('role', ...), DO-блоки и т. д.) через обход SQL AST. В паре с row-level security PostgreSQL обеспечивает изоляцию данных по арендаторам, когда приложение подключается как общий пользователь сервисной учётной записи. Требует, чтобы PgBouncer (если используется) работал в pool_mode = session — режимы пула transaction или statement молча перепривязывают бэкенды между запросами и свели бы политику на нет. Подробности см. на docs.iron.sh.

Создан для конвейеров CI, GitHub Actions, ИИ-агентов (Claude Code, Cursor, Codex) и любой среды, где вы запускаете код, которому не полностью доверяете.

Блокировка эксфильтрации + перезапись секретов в действии:

Установка

Образы Docker доступны на Docker Hub, а готовые бинарные файлы для Linux/macOS (amd64/arm64) — на GitHub Releases.

Или соберите из исходного кода:```bash go build -o iron-proxy ./cmd/iron-proxy

## Быстрый старт```bash
cd examples/docker-compose
docker compose up

Запускаются iron-proxy и демонстрационный клиент, который отправляет пять запросов через прокси. Проверьте логи, чтобы увидеть разрешённые, заблокированные запросы и запросы с перезаписанными секретами:```bash docker compose logs proxy

Каждый запрос создаёт структурированную запись аудита в формате JSON:```json
{
  "host": "httpbin.org",
  "method": "GET",
  "path": "/headers",
  "action": "allow",
  "status_code": 200,
  "duration_ms": 142,
  "request_transforms": [
    { "name": "allowlist", "action": "continue" },
    {
      "name": "secrets",
      "action": "continue",
      "annotations": { "swapped": [{ "secret": "OPENAI_API_KEY", "locations": ["header:Authorization"] }] }
    }
  ]
}

Отклонённые запросы включают поле rejected_by и записываются в журнал на уровне WARN. Полную схему см. в разделе Формат журнала аудита.

Использование в production

1. Создание CA

iron-proxy завершает TLS, генерируя листовые сертификаты на лету, подписанные CA, который вы предоставляете. Клиентские контейнеры должны доверять этому CA.```bash mkdir -p certs openssl genrsa -out certs/ca.key 4096 openssl req -x509 -new -nodes
-key certs/ca.key
-sha256 -days 3650
-subj "/CN=iron-proxy CA"
-addext "basicConstraints=critical,CA:TRUE"
-addext "keyUsage=critical,keyCertSign"
-out certs/ca.crt

### 2. Создайте сеть Docker

iron-proxy нужен фиксированный IP, чтобы контейнеры могли направлять свой DNS на него:```bash
docker network create --subnet=172.20.0.0/24 iron-proxy

3. Запуск iron-proxy

Создайте env-файл с вашими секретами (не добавляйте его в систему контроля версий):```bash echo "OPENAI_API_KEY=sk-real-key" > .env

| `--no-color` | Отключить цветной вывод |
| `--debug` | Включить режим отладки |
| `--verbose` | Включить подробный вывод |
| `--silent` | Подавить весь вывод, кроме ошибок |
| `--json` | Выводить результаты в формате JSON |
| `--csv` | Выводить результаты в формате CSV |
| `--html` | Выводить результаты в формате HTML |
| `--markdown` | Выводить результаты в формате Markdown |
| `--output FILE` | Записать вывод в FILE |
| `--config FILE` | Использовать файл конфигурации FILE |
| `--threads N` | Использовать N потоков |
| `--timeout SEC` | Установить тайм-аут в секундах |
| `--retry N` | Повторить неудачные запросы N раз |
| `--proxy URL` | Использовать прокси-сервер по указанному URL |
| `--user-agent STRING` | Установить пользовательский User-Agent |
| `--cookie STRING` | Установить пользовательские cookie |
| `--header STRING` | Установить пользовательский заголовок |
| `--rate-limit N` | Ограничить запросы до N в секунду |
| `--random-agent` | Использовать случайный User-Agent |
| `--tor` | Маршрутизировать трафик через Tor |
| `--check-tor` | Проверить, используется ли Tor |
| `--update` | Обновить инструмент до последней версии |
| `--version` | Показать информацию о версии |
| `--help` | Показать справочное сообщение |

### Примеры

```bash
# Basic usage
python3 tool.py -u https://example.com

# Scan multiple targets
python3 tool.py -f targets.txt

# Use custom threads and timeout
python3 tool.py -u https://example.com -t 20 --timeout 30

# Output results to JSON
python3 tool.py -u https://example.com --json --output results.json

# Use a proxy
python3 tool.py -u https://example.com --proxy http://127.0.0.1:8080
Скачать инструмент