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

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

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

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

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

Категории

Все категории
Loading categories
rep-openai-artifactory — Судебно-криминалистический анализ и локальная репликация инцидента с повышением привилегий OpenAI-Artifactory (CVE-2026-65616) | Kitploit
Инструменты/GitHubGitHub/alixiacf/rep-openai-artifactory
Повышение привилегийБезопасность контейнеровАнализ уязвимостейФорензикаТестирование на ПроникновениеБезопасность облачных средСтатьи и ИсследованияОбучение и ОбразованиеБезопасность ИИ

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Лаборатории и Практика
GitHubalixiacf/rep-openai-artifactory

rep-openai-artifactory

Судебно-криминалистический анализ и локальная репликация инцидента с повышением привилегий OpenAI-Artifactory (CVE-2026-65616)

Репозиторий
1111 ч 26 мин назадЕщё не проверено

Forensis Lab — Криминалистическое воспроизведение повышения привилегий AI-агента (JFrog Artifactory)

Безопасное, изолированное, криминалистическое воспроизведение "Incidente Cero" (OpenAI, май 2026): изолированный AI-агент обнаруживает прокси-сервер пакетов JFrog Artifactory, извлекает учётные данные из собственной конфигурации, импровизирует доску сообщений на сервере и повышает свои привилегии с читателя до администратора.

Цель исследования: определить, какая часть базовой конфигурации способствовала этому событию. Эксперимент заканчивается на создании пользователя-администратора (the "flag"). Он не охватывает весь инцидент.

Требования

  • Docker + Docker Compose (протестировано на Windows/WSL и Linux).
  • Лицензия JFrog Artifactory Pro — получите бесплатную 1-месячную пробную версию на https://jfrog.com/start-free/. Поместите файл лицензии в папку artifactory_license/ (замените там плейсхолдер artifactory.lic). Без лицензии Artifactory работает в режиме OSS, и большинство API лаборатории (разрешения, токены, удалённые репозитории) не будут работать.
  • Примечание о версии: в этой лаборатории закреплена Artifactory 7.146.25 — именно та версия, чей token API принимал вектор подделки refresh (CVE-2026-65616, исправлено в 7.146.27). В этом и заключается суть лаборатории.

Быстрый старт

root@kitploit:~
git clone <this-repo> && cd <dir>
# 1. put your license in artifactory_license/artifactory.lic
# 2. clean start (preserves data volumes; see "Reset semantics" below):
./reset.sh && ./start.sh

start.sh разворачивает весь сценарий (первый запуск занимает несколько минут, пока Artifactory прогревается):

  1. Лицензия — устанавливается вручную вами через UI (никогда не автоматизируется; ваша лицензия персональная и истекает). Скрипт лишь проверяет, активна ли лицензия, и предупреждает.
  2. Анонимный доступ явно включён — как в оригинальном инциденте.
  3. 6 репозиториев — pypi/npm, каждый local + remote + virtual. PyPI remote настроен с URL https://files.pythonhosted.org (рецепт, который действительно работает в этой версии).
  4. Пользователь agente-compartido (группа readers) с правами на запись (Anything: read + deploy/cache) — плохая практика, которая делает возможной доску сообщений.
  5. Предоставляется эталонный токен по умолчанию агенту через выделенный том; агент встраивает его в /etc/pip.conf и /etc/npmrc в открытом виде — утечка Фазы 1. Поставляемый токен находится в .

Сокращение: если вы импортировали предварительно подготовленные тома из Release (см. ниже), подготовка уже выполнена — ./start.sh просто поднимает стек.

Проверка:

root@kitploit:~
curl -s http://localhost:8081/artifactory/api/system/ping     # -> "true"
docker exec -it incidente-modelo-simulado sh
# inside the agent:
cat /etc/pip.conf            # leaked credentials (the Fase 1 leak)
. /opt/venv/bin/activate
pip install six              # packages without internet, via the remote

Затем следуйте фазам по порядку: phases/README.md → 00 Архитектура → 01 Обнаружение → 02 Доска сообщений → 03 Refreshable-токен → 04 Повышение привилегий (CVE-2026-65616) → 05 Проверка администратора.

Жизненный цикл токена (важно)

  • Эталонный токен по умолчанию (cmVmdGtu...) поставляется в token/token_ref.txt и доставляется агенту скриптом start.sh при каждом запуске.

  • Эталонные токены — это указатели на базу данных Artifactory (хеш токена хранится в томе PostgreSQL). reset.sh намеренно сохраняет тома данных, поэтому токен переживает сбросы.

  • Чтобы принудительно получить полностью чистое состояние, удалите тома вручную:

    root@kitploit:~
    docker volume rm $(docker volume ls -q | grep -E 'artifactory_data_v714625|postgres_data')
    

    Затем вы должны сгенерировать новый эталонный токен через админский UI и назначить его непосредственно пользователю agente-compartido — не группе. Токен с областью действия группы приписывается admin, и обновление токена агентом будет молча завершаться ошибкой. Обновите token/token_ref.txt новым значением.

  • Пошаговая инструкция по перегенерации: token/README.md.

Фазы

Предварительно подготовленные тома (ресурсы Release)

GitHub Release этого репозитория поставляет три Docker-тома работающей лаборатории в виде tarball-архивов, так что клон может восстановить точное подготовленное состояние (репозитории, разрешения, анонимный доступ ВКЛ, хеш токена, кэш) без подготовки:

РесурсТом
incidente_artifactory_data_v714625.tar.gzДанные Artifactory (7.146.25)
incidente_postgres_data.tar.gzБэкенд PostgreSQL (здесь хранятся хеши токенов)
incidente_agent_secrets.tar.gzДоставленные агенту учётные данные

Импорт (из папки с tarball-архивами):

root@kitploit:~
for V in incidente_artifactory_data_v714625 incidente_postgres_data incidente_agent_secrets; do
  docker volume create $V
  docker run --rm -v $V:/data -v $(pwd):/backup alpine sh -c "cd /data && tar xzf /backup/$V.tar.gz"
done
./start.sh

Примечания:

  • Тома расшифровываются только с masterKey, зафиксированным в docker-compose.yml — никогда не меняйте его после импорта.
  • Поставляемое состояние идёт без лицензии: состояние проверено на отсутствие любых лицензионных материалов. Установите свою собственную пробную лицензию (см. Требования) сразу после ./start.sh — без неё запись блокируется (чтение работает).
  • Даже с томами поставляемый эталонный токен аутентифицируется только пока состояние тома не повреждено — токен является указателем на эту базу данных (см. Жизненный цикл токена выше).

Семантика сброса

  • ./reset.sh останавливает контейнеры без удаления томов (без down -v).
  • ./start.sh идемпотентен: он подготавливает всё, чего не хватает, и сохраняет всё остальное.
  • Первый запуск на чистой машине: запустите оба. Любой последующий запуск: достаточно одного ./start.sh.

Что демонстрирует эта лаборатория

У каждого изолированного условия сценария есть удобное обоснование (кэш, общие учётные данные, refreshable-токены). В совокупности они показывают, что не потребовалось никакого изощрённого криптографического повышения привилегий: четыре из шести звеньев причинно-следственной цепочки — это конфигурационные решения. Граница доверия была проведена вокруг компании, а не вокруг каждого действующего лица — и агент был действующим лицом внутри периметра. Тезис в одном предложении: Zero Trust — не для моделей, а для компаний; когда потребитель меняет свою природу (скрипт → автономный агент), поверхность доверия должна быть перекалибрована.

Этика

  • Изолированная лаборатория: у агента нет доступа в интернет; у Artifactory он есть, только чтобы выступать в роли зеркала пакетов.
  • Включённые токены — это лабораторные токены: эфемерные и бесполезные за пределами этой сети.
  • Только в образовательных и документальных целях: кибербезопасностная археология, применённая к AI-агентам.

Цитирование этого репозитория

Если вы используете эту лабораторию в исследованиях или преподавании, пожалуйста, цитируйте её через её Zenodo DOI 10.5281/zenodo.22817059:

Colmenero-Fernandez, A. (2026). Forensis Lab: Forensic Recreation of the AI Agent Privilege Escalation (JFrog Artifactory, CVE-2026-65616) (v1.0.0). Zenodo. https://doi.org/10.5281/zenodo.22817059

BibTeX:

root@kitploit:~
@software{colmenerofernandez2026forensislab,
  author    = {Colmenero-Fernandez, Alicia},
  title     = {{Forensis Lab: Forensic Recreation of the AI Agent Privilege Escalation (JFrog Artifactory, CVE-2026-65616)}},
  year      = {2026},
  version   = {1.0.0},
  doi       = {10.5281/zenodo.22817059},
  url       = {https://doi.org/10.5281/zenodo.22817059}
}

Машиночитаемые метаданные цитирования: CITATION.cff.

Скачать инструмент
token/token_ref.txt
  • Особенность UI (задокументировано): UI может показывать токен как non-refreshable; созданный администратором с token.allow-refreshable: true, он является refreshable — этот разрыв является частью изучаемого инцидента.

  • ФайлФазаСодержание
    phases/FASE_00_Arquitectura.md0Архитектура Docker, уязвимая версия (7.146.25), подготовка оператором
    phases/FASE_01_Descubrimiento.md1Агент обнаруживает Artifactory: не может просматривать, но может устанавливать; аудит pip.conf
    phases/FASE_02_Tablon_Mensajes.md2PUT в локальный репозиторий (HTTP 201), импровизированная доска сообщений
    phases/FASE_03_Token_Refreshable.md3Запрос refreshable-токена; доказательства в YAML (allow-refreshable)
    phases/FASE_04_Escalada.md4Подделка JWT и эксплойт refresh; неудачные попытки и scoping
    phases/FASE_05_Verificacion_Admin.md5Проверка админского токена и создание пользователя agente-admin (the flag)
    phases/FASE_06_Post_Escalada.md6Пост-эскалационные действия инцидента (задокументировано, не реализовано)