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

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

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

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

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

Категории

Все категории
Loading categories
cage — Стенд для воспроизведения, патчи и инструменты анализа для аудита обученного бенчмарка киберзащиты: фиксирует трассировки агентов, запускает абляции red-агента и пересчитывает каждый рисунок из статьи на основе опубликованных данных. | Kitploit
Инструменты/GitHubGitHub/jrice-ai/cage
Оборонительные ИнструментыСкриптинг и автоматизацияМашинное ОбучениеСтатьи и ИсследованияОбучение и ОбразованиеRed TeamingПодобранные РесурсыБезопасность ИИСостязательная Атака
GitHubjrice-ai/cage

cage

Стенд для воспроизведения, патчи и инструменты анализа для аудита обученного бенчмарка киберзащиты: фиксирует трассировки агентов, запускает абляции red-агента и пересчитывает каждый рисунок из статьи на основе опубликованных данных.

4 дней назадЕщё не проверено

Популярное

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

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

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

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

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

cage — инструмент, лежащий в основе работы «What a CAGE 4 Score Measures»

Этот репозиторий — это стенд, патчи, инструменты анализа и реестр, лежащие в основе статьи What a CAGE 4 Score Measures: An Audit of a Learned Cyber-Defense Benchmark, Its Reference Defenders, and the Tables Built on Them (James M. Rice и консультанты, Rochester Institute of Technology, 2026). Идентификатор arXiv добавляется здесь в первом коммите после публикации. Тег arxiv-v1 — это состояние, из которого вычислено каждое число в опубликованной статье.

Трассы и контрольные точки, из которых вычислены числа статьи, размещены отдельно по адресу https://doi.org/10.5281/zenodo.23681828 в четырёх архивах.

АрхивСодержимоеРаспаковать вsha256
traces_arms_arxiv-v1.tar.zstпошаговые записи каждого плеча оценки основного аудита — 123 плеча, перечисленных в Приложении B статьи, и диагностических плеч, названных в ARMS.md; одна директория на плечо, один файл JSON-lines на эпизодdata/traces/db2c3d17684180e5d4ca7fb9a7f1f739b5414e62da0e8c4b9b792cd31568f456
traces_pilot_arxiv-v1.tar.zstпошаговые записи пилота busy-check и его продолжения (плечи с именами kbf_*)data/traces/ece72ca24d17bf688144b2d0276ae9f0209aa8a50f95ecdd0aab9a6f8a9c0fc0
checkpoints_pilot_arxiv-v1.tar.zstсохранённые контрольные точки и состояние возобновления обучающих прогонов пилота и продолженияrepos/cage-4-submission/checkpoints/dc2c8219e12a0c2931263be0003c8858039931b04b019e1bfa60c0ba6856c07e
checkpoints_continuation_arxiv-v1.tar.zstконтрольные точки прогонов продолжения Wrecker из раздела 5repos/cage-4-submission/checkpoints/в SHA256SUMS
run_logs_arxiv-v1.tar.zstжурналы обучения и оценки прогонов пилота и продолжения с обеих машин, включая pilot_runs.log, в котором записаны хост, число потоков, число воркеров, дайджест кода и образ для каждого прогонаdata/в SHA256SUMS

SHA256SUMS в депозите перечисляет все четыре. Перед распаковкой проверьте архив командой sha256sum -c SHA256SUMS.

Что где находится

ПутьЧто это
bin/runзапускает команду в одном из двух образов с этой директорией, смонтированной в /work, передавая переключатели KEEP_* и HMARL_*. Ожидает клон в ~/cage.
build/два Dockerfile (Dockerfile.keep, Dockerfile.marl) и патчи, применяемые к вышестоящим репозиториям перед сборкой образов
scripts/capture.pyзапускает выпущенную политику KEEP на парных сидах окружения и записывает пошаговый журнал с сырыми наблюдениями агентов и истинным состоянием симулятора
scripts/capture_hmarl.pyто же самое для H-MARL Expert, через путь оценки авторов (--compat) или через надзорный стенд
scripts/oracle.py, scripts/oracle_rules.pyнадзорный стенд на KEEP, правила O1–O15 и защитники правил, с переключателями доставки (--wait-busy, --queue, --min-gap)
red_agents/противники, которых статья запускает помимо штатного FiniteStateRedAgent. Wrecker и его лестницы Pn и Qn — собственные разработки статьи (раздел 2), и bin/run копирует каждый файл отсюда в директорию SimpleAgents образа при запуске
tools_*.pyинструменты анализа. tools_paired.py (парная разность, бутстрэп-интервал, победы, знаковый тест), tools_charge.py и tools_busy_charge.py (заряд Restore и остальное), tools_dropped.py (выполняется против заявленных вмешательств), tools_cont.py, tools_ceiling.py, tools_fraction_ci.py, tools_latch_sum.py, tools_drawspread.py, tools_lagcorr.py, tools_busy_restores.py, tools_pilot_decisions.py и остальные. Каждый выводит то, что вычисляет, из директории трассировки в data/traces/
tools_patch_*.pyстек патчей на выпущенном коде. tools_patch_keep_busy.py, tools_patch_keep_seedmode.py и tools_patch_keep_readall.py в этом порядке дают тренеру KEEP переключатели из раздела 6. tools_patch_hmarl_busy.py даёт обёртке H-MARL переключатель HMARL_BUSY=none. tools_patch_oracle_truth.py добавляет --log-truth в стенд. Каждый идемпотентен и отказывается работать с кодом, который не распознаёт
run_keep_pilot.sh, eval_keep_pilot.sh, pilot_status.sh, test_keep_*.shпилот и продолжение из раздела 6, их оценка и их тесты
run_busy_reds.shвыпущенная политика KEEP с включённой и выключенной проверкой занятости на штатном противнике и девяти других (раздел 6.1)
queue_*.sh, read_*.sh, run_*.sh, rerun_F.sh, gate_O15.sh, pilot_O15.sh, svy_O15.shлаунчеры и читатели кампании. Каждое плечо в статье было запущено одним из них, поэтому они являются записью точного вызова каждого плеча
ARMS.mdкаждое плечо, по имени, с его командой, его средним и файлом, в котором оно хранится
RESULTS.mdдатированный журнал работы, сначала новые записи
papers/артефактная копия аналитического слоя статьи, без текста статьи. papers/paper1/ledger.csv — это реестр, одна строка на каждое число, напечатанное в статье, с командой, которая его пересчитывает. papers/paper1/fig/ содержит скрипты для рисунков и таблиц. papers/paper1/check_identities.py проверяет арифметические тождества, которым должна удовлетворять каждая сборка. Скрипты recompute_*.py и means.py в papers/ — это вычисления критерия, дисперсии и доли, которые вызывает реестр

Всё под data/ и repos/ игнорируется git. Трассировки находятся в data/traces/, вышестоящие репозитории и контрольные точки — в repos/.

Три уровня воспроизведения

Приложение A статьи называет три уровня. Им требуется всё больше и больше окружения.

Уровень 1, каждое напечатанное число из выпущенных трассировок, без контейнера

Клонируйте, распакуйте два архива трассировок в data/traces/ и запустите пересчёт из корня репозитория. Он выполняет каждую отдельную команду из реестра из этой директории и проверяет, что сохранённое значение каждой строки появляется в выводе этой команды.

git clone https://github.com/jrice-ai/cage ~/cage && cd ~/cage && git checkout arxiv-v1
mkdir -p data/traces && tar -I zstd -xf traces_arms_arxiv-v1.tar.zst -C data/traces && tar -I zstd -xf traces_pilot_arxiv-v1.tar.zst -C data/traces
./recompute.sh
python3 papers/paper1/check_identities.py papers/paper1/ledger.csv

Команды реестра обращаются к слою анализа по его пути на машине авторов, ~/papers, поэтому recompute.sh запускает проверку с HOME, указывающим на временный каталог, в котором papers/ связан с этим местом. Ничего не записывается за пределами репозитория. На ноутбуке полный пересчёт занимает десятки минут, большая часть которых приходится на пилотные ветви. Десять строк, гиперпараметры которых считываются из выпущенных контрольных точек (ключи keep* и trident*, запускаемые через bin/run), требуют образа уровня 2 и без него сообщаются как не найденные. check_identities.py сообщает об арифметических тождествах (стоимость равна начислению плюс остаток для каждого разбиения, интервалы четырёх выборок и четырёх сидов относительно их средних и стандартных отклонений, нулевой остаток пары H-MARL с отключённой маской). Скрипты построения графиков и таблиц в papers/paper1/fig/ заново генерируют графики и таблицы статьи из тех же трассировок с помощью CAGE=~/cage python3 papers/paper1/fig/fig_curves.py и аналогично для fig_drop.py, fig_noise.py, make_tables.py, make_busyreds.py и make_arms.py.

Уровень 2, свежая оценка любой ветви

Для этого нужны два образа, вышестоящие репозитории на их закреплённых ревизиях и выпущенные контрольные точки.

Клонируйте три вышестоящих репозитория в repos/ на ревизиях, на которых вычислялась статья, то есть на ревизиях, которые печатает Таблица 12 статьи.

Скачать инструмент