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

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

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

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

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

Категории

Все категории
Loading categories
alignment-cage-challenge-2 — Среда CybORG CAGE 2 обновлена для статьи "Alignment of Autonomous Cyber Defense Agents via Adaptive Policy Shaping" | Kitploit
Инструменты/GitHubGitHub/itm-kitware/alignment-cage-challenge-2
Оборонительные ИнструментыСетевая безопасностьТестирование на ПроникновениеМашинное ОбучениеСтатьи и ИсследованияОбучение и ОбразованиеRed TeamingБезопасность ИИЛаборатории и Практика

Популярное

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

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

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

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

Смотреть все инструменты →
GitHubitm-kitware/alignment-cage-challenge-2

alignment-cage-challenge-2

Среда CybORG CAGE 2 обновлена для статьи "Alignment of Autonomous Cyber Defense Agents via Adaptive Policy Shaping"

Репозиторий
118 дней назадЕщё не проверено
Поделиться

Согласование автономных агентов киберзащиты посредством адаптивного формирования политики

Код для нашей статьи Alignment of Autonomous Cyber Defense Agents via Adaptive Policy Shaping. Этот репозиторий расширяет CybORG CAGE Challenge 2 для изучения того, как автономных защитников можно направлять к операционным приоритетам, сохраняя при этом их способность защищать сеть.

Отличия от оригинального CybORG CAGE Challenge 2

Оригинальный CAGE 2 challenge оценивает синих защитников против встроенных красных агентов с использованием награды CAGE. Эта модифицированная версия добавляет операционные цели, изменённые политики атакующих и методы согласования для синих защитников. Симулятор и скрипты экспериментов остаются в структуре CybORG/. Оригинальное руководство CAGE 2 сохраняет исходное описание challenge.

Модифицированный сценарий и метрики устойчивости

Модифицированная сеть включает серверы аутентификации (Auth), базы данных (Database) и фронтенда (Front) в дополнение к хостам пользователей, предприятия, операционным и защитника. Эти серверы представляют операционные приоритеты, выраженные через конфиденциальность (C), целостность (I) и доступность (A):

Тип сервераОперационные приоритеты
Аутентификация (Auth)Конфиденциальность, целостность, доступность
База данных (Database)Конфиденциальность, доступность
Фронтенд (Front)Целостность, доступность

Оценка устойчивости адаптирована из работы Cadet et al. Quantitative Resilience Modeling for Autonomous Cyber Defense. Реализация основана на соответствующем коде CyberResilience.

Наша метрика устойчивости фиксирует падения CIA на каждом шаге и объединяет их в нормализованное падение устойчивости со значениями весов по умолчанию 0.6 для конфиденциальности, 0.2 для целостности и 0.2 для доступности. Она также оценивает кандидатные действия синих для анализа политики на основе атрибутов и анализа согласования. Сгенерированные сценарии присваивают CIA-критичным серверам нулевые значения обычной награды хоста CAGE, что позволяет отдельно оценивать операционное согласование и общую производительность защиты сети.

Дополнительные внутренние изменения, внесённые в кодовую базу CAGE 2, подробно описаны в README экспериментов.

Модификации красного агента CAGE 2

Оригинальные атакующие Meander и B-line расширены для нацеливания на добавленные операционные серверы и поддержки имён хостов в пределах сгенерированных размеров сети. В оценке используются пять противников:

Противник из статьиКласс PythonЦели воздействия
M-CIARedMeanderAgent_Combination_CIACIA-критичные серверы Auth, Database и Front
M-CAGERedMeanderAgent_Combination_CAGEДругие подходящие скомпрометированные хосты, влияющие на производительность CAGE
Bline-CB_lineAgent_Resilience_CСерверы Auth или Database
Bline-IB_lineAgent_Resilience_IСерверы Auth или Front
Bline-AB_lineAgent_Resilience_AСерверы Auth, Database или Front

В обучении используется RedMeanderAgent_Combination, который выбирает между целями воздействия CIA и CAGE с равной вероятностью при каждом решении о выборе цели воздействия. Варианты B-line выбирают тип целевого сервера один раз за эпизод и определяют соответствующие хосты по наблюдениям. См. Meander_Resilience.py и B_line_resilience.py.

Установка

Используйте Python 3.10 или новее и установите uv. Из корня репозитория:

uv sync
cd CybORG

uv sync создаёт окружение проекта и устанавливает CybORG и его зависимости. Запускайте скрипты через uv run ..., а shell-лаунчеры — через uv run bash ...; ручная активация окружения не требуется.

Скрипты экспериментов репозитория

РасположениеСодержимое
CybORG/CybORG/Симулятор, агенты, награды, метрики, сценарии и вышестоящие тесты
CybORG/experiment_configs/Конфигурации оценки на этапе тестирования, на этапе обучения, адаптивной, масштабирования и оценки red-агента
CybORG/train_agents.pyОбучение базовых или reward-shaped синих агентов
CybORG/test_experiment.pyОценка базовых, фиксированных и адаптивных политик
CybORG/test_experiment_training_time.pyОценка агентов, выровненных во время обучения
CybORG/alignment_analysis.pyВычисление оценок выравнивания и анализ компромиссов по наградам
CybORG/CybORG/Shared/Scenarios/scenario_generation.pyГенерация сценариев с настраиваемыми популяциями хостов и параметрами наград

Обучение

Используйте train_agents.py для обучения PPO-защитника против смешанного блуждающего атакующего. PPOAgent обучает базовую модель; AlignedPPOAgent добавляет член награды для выбранного атрибута CIA. Бонус на этапе обучения называется lambda в статье и alpha только в CLI; он отделён от веса интерполяции на этапе тестирования.

Чтобы обучить один базовый чекпоинт для base:

uv run python train_agents.py \
  --scenario scalability_experiments/base \
  --agent_type PPOAgent \
  --red_agent RedMeanderAgent_Combination \
  --alpha 0 --seed 0 --game_steps 200 --training_iter 500000 \
  --agent_export checkpoints/PPO_base_0_seed0

Чтобы обучить защитника, ориентированного на конфиденциальность, с бонусом 1.5:

uv run python train_agents.py \
  --scenario scalability_experiments/base \
  --agent_type AlignedPPOAgent \
  --red_agent RedMeanderAgent_Combination \
  --alignment_attribute C --alpha 1.5 \
  --seed 0 --game_steps 200 --training_iter 500000 \
  --agent_export checkpoints/PPO_base_1.5_C_seed0

Для полных серий обучения:

uv run bash experiment_configs/train_agents/train_base.sh
uv run bash experiment_configs/train_agents/train_trainingtime_alignment.sh

Эти лаунчеры охватывают base, hosts_2, hosts_3 и hosts_4 с seed'ами обучения 0 1 2 3 4. Чекпоинты сохраняются в CybORG/checkpoints/ как PPO_{scenario}_0_seed{seed}.zip для базовых линий и PPO_{scenario}_{bonus}_{attribute}_seed{seed}.zip для агентов с формированием награды. После сохранения чекпоинта train_agents.py также запускает короткую оценку. Логирование по умолчанию отключено; добавьте --wandb к команде обучения на Python, чтобы включить его.

Оценка и анализ

Скрипты оценки загружают обученные чекпоинты и запускают агентов против настроенного красного противника. Предоставленные конфигурации используют 100 эпизодов, seed оценки, начинающийся с 42, и пять seed'ов обучения. Горизонты эпизодов составляют 200, 300, 400 и 500 шагов для base, hosts_2, hosts_3 и hosts_4 соответственно.

test_experiment.py оценивает базовые линии Blue Monitor и PPO наряду с фиксированным или адаптивным выравниванием во время тестирования:

# Baselines and fixed test-time interpolation
uv run python test_experiment.py --config experiment_configs/base.yaml
uv run python alignment_analysis.py --config experiment_configs/base.yaml
Скачать инструмент