Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
alignment-cage-challenge-2 — Ambiente CybORG CAGE 2 atualizado para o artigo "Alignment of Autonomous Cyber Defense Agents via Adaptive Policy Shaping" | Kitploit
Ferramentas/GitHubGitHub/itm-kitware/alignment-cage-challenge-2
Ferramentas DefensivasSegurança de RedeTestes de PenetraçãoAprendizado de MáquinaPapers e PesquisaAprendizado e EducaçãoRed TeamingSegurança de IALabs e Prática

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
GitHubitm-kitware/alignment-cage-challenge-2

alignment-cage-challenge-2

Ambiente CybORG CAGE 2 atualizado para o artigo "Alignment of Autonomous Cyber Defense Agents via Adaptive Policy Shaping"

Ver Repositório
19há 9 diasAinda não revisado
Compartilhar

Alinhamento de Agentes Autônomos de Ciberdefesa via Modelagem Adaptativa de Políticas

Código do nosso artigo Alignment of Autonomous Cyber Defense Agents via Adaptive Policy Shaping. Este repositório estende o CybORG CAGE Challenge 2 para estudar como defensores autônomos podem ser direcionados para prioridades operacionais, mantendo sua capacidade de defender a rede.

Diferenças em relação ao CybORG CAGE Challenge 2 original

O desafio CAGE 2 original avalia defensores azuis contra agentes vermelhos integrados usando a recompensa CAGE. Esta versão modificada adiciona objetivos operacionais, políticas de atacante modificadas e métodos de alinhamento para defensores azuis. O simulador e os scripts de experimento permanecem na estrutura CybORG/. O guia original do CAGE 2 mantém a descrição original do desafio.

Cenário modificado e métricas de resiliência

A rede modificada inclui servidores de autenticação (Auth), banco de dados (Database) e front-end (Front), além dos hosts de usuário, empresarial, operacional e defensor. Esses servidores representam prioridades operacionais expressas por meio de confidencialidade (C), integridade (I) e disponibilidade (A):

Tipo de servidorPrioridades operacionais
Autenticação (Auth)Confidencialidade, integridade, disponibilidade
Banco de dados (Database)Confidencialidade, disponibilidade
Front-end (Front)Integridade, disponibilidade

A pontuação de resiliência é adaptada de Cadet et al. Quantitative Resilience Modeling for Autonomous Cyber Defense. A implementação baseia-se no código CyberResilience associado.

Nossa métrica de resiliência registra as quedas de CIA em cada etapa e as combina em uma queda de resiliência normalizada, com pesos padrão de 0,6 para confidencialidade, 0,2 para integridade e 0,2 para disponibilidade. Ela também pontua ações azuis candidatas para a política baseada em atributos e a análise de alinhamento. Os cenários gerados atribuem aos servidores críticos para CIA valores de recompensa de host CAGE comuns iguais a zero, permitindo que o alinhamento operacional e o desempenho geral de defesa da rede sejam avaliados separadamente.

Alterações internas adicionais feitas na base de código do CAGE 2 estão detalhadas no README do experimento.

Modificações do agente vermelho do CAGE 2

Os atacantes originais Meander e B-line são estendidos para atingir os servidores operacionais adicionados e oferecer suporte a nomes de host em todos os tamanhos de rede gerados. A avaliação usa cinco adversários:

Adversário do artigoClasse PythonAlvos de impacto
M-CIARedMeanderAgent_Combination_CIAServidores Auth, Database e Front críticos para CIA
M-CAGERedMeanderAgent_Combination_CAGEOutros hosts comprometidos elegíveis que contribuem para o desempenho CAGE
Bline-CB_lineAgent_Resilience_CServidores Auth ou Database
Bline-IB_lineAgent_Resilience_IServidores Auth ou Front
Bline-AB_lineAgent_Resilience_AServidores Auth, Database ou Front

O treinamento usa RedMeanderAgent_Combination, que seleciona entre alvos de impacto CIA e CAGE com igual probabilidade em cada decisão de seleção de impacto. As variantes B-line selecionam um tipo de servidor alvo uma vez por episódio e resolvem os hosts correspondentes a partir das observações. Consulte Meander_Resilience.py e B_line_resilience.py.

Instalação

Use Python 3.10 ou mais recente e instale o uv. A partir da raiz do repositório:

uv sync
cd CybORG

uv sync cria o ambiente do projeto e instala o CybORG e as suas dependências. Execute scripts com uv run ... e lançadores de shell com uv run bash ...; a ativação manual do ambiente não é necessária.

Scripts de experimentação do repositório

LocalizaçãoConteúdo
CybORG/CybORG/Simulador, agentes, recompensas, métricas, cenários e testes upstream
CybORG/experiment_configs/Configurações de avaliação em tempo de teste, tempo de treino, adaptativas, de escalonamento e de agente vermelho
CybORG/train_agents.pyTreinar agentes azuis de linha de base ou com recompensa moldada
CybORG/test_experiment.pyAvaliar políticas de linha de base, fixas e adaptativas
CybORG/test_experiment_training_time.pyAvaliar agentes alinhados durante o treino
CybORG/alignment_analysis.pyCalcular pontuações de alinhamento e analisar trade-offs de recompensa
CybORG/CybORG/Shared/Scenarios/scenario_generation.pyGerar cenários com populações de hosts e definições de recompensa configuráveis

Treino

Utilize train_agents.py para treinar um defensor PPO contra o atacante errante misto. PPOAgent treina a linha de base; AlignedPPOAgent adiciona um termo de recompensa para o atributo CIA selecionado. O bónus de tempo de treino é designado por lambda no artigo e por alpha apenas na CLI; é distinto do peso de interpolação em tempo de teste.

Para treinar um checkpoint de linha de base para 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

Para treinar um defensor alinhado à confidencialidade com um bônus de 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

Para as varreduras completas de treinamento:

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

Esses launchers cobrem base, hosts_2, hosts_3 e hosts_4 com seeds de treinamento 0 1 2 3 4. Os checkpoints são salvos em CybORG/checkpoints/ como PPO_{scenario}_0_seed{seed}.zip para as baselines e PPO_{scenario}_{bonus}_{attribute}_seed{seed}.zip para os agentes com modelagem de recompensa. Após salvar um checkpoint, train_agents.py também executa uma breve avaliação. O logging fica desativado por padrão; adicione --wandb a um comando de treinamento em Python para habilitá-lo.

Avaliação e análise

Os scripts de avaliação carregam checkpoints treinados e executam os agentes contra o adversário vermelho configurado. As configurações fornecidas usam 100 episódios, uma seed de avaliação começando em 42 e cinco seeds de treinamento. Os horizontes dos episódios são de 200, 300, 400 e 500 passos para base, hosts_2, hosts_3 e hosts_4, respectivamente.

test_experiment.py avalia as baselines Blue Monitor e PPO juntamente com alinhamento de tempo de teste fixo ou adaptativo:

Baixar ferramenta