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

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

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

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

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

Категории

Все категории
Loading categories
Minimus-Junior-Backend-Exercise — Упражнение для кандидата уровня Junior Backend: упаковка CLI dasel (v3.3.1) с помощью Melange, исправление CVE-2026-33320 и создание минимального образа контейнера с помощью Apko. | Kitploit
Инструменты/GitHubGitHub/gonsarrabia/minimus-junior-backend-exercise
Безопасность контейнеровАнализ уязвимостейАудит конфигурацииDevSecOpsБезопасность Цепочки ПоставокОбучение и Образование
GitHubgonsarrabia/minimus-junior-backend-exercise

Minimus-Junior-Backend-Exercise

Упражнение для кандидата уровня Junior Backend: упаковка CLI dasel (v3.3.1) с помощью Melange, исправление CVE-2026-33320 и создание минимального образа контейнера с помощью Apko.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
2 месяцев назадЕщё не проверено

Упражнение для начинающего бэкенд-разработчика — dasel v3.3.1

Пакет dasel v3.3.1 с Melange, сборка контейнерного образа с apko и исправление CVE-2026-33320.

Предварительные требования: Docker. Все шаги сборки выполняются внутри контейнеров — не требуется локальной установки melange/apko. Все команды запускаются из корня репозитория на linux/amd64 (или Docker Desktop с эмуляцией linux/amd64).


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

Шаг 0 — Генерация ключа подписи (однократно)

root@kitploit:~
docker run --rm -v "/${PWD}":/work cgr.dev/chainguard/melange keygen

Шаг 1 — Сборка пакета

root@kitploit:~
docker run --privileged --rm -v "/${PWD}":/work cgr.dev/chainguard/melange build melange/dasel.yaml --arch amd64 --signing-key melange.rsa

Результат: packages/x86_64/dasel-3.3.1-r1.apk

Шаг 2 — Тестирование пакета

root@kitploit:~
docker run --privileged --rm -v "/${PWD}":/work cgr.dev/chainguard/melange test melange/dasel.yaml --arch amd64 --repository-append //work/packages --keyring-append //work/melange.rsa.pub

Шаг 3 — Сборка образа

root@kitploit:~
docker run --rm -v "/${PWD}":/work cgr.dev/chainguard/apko build apko/dasel.yaml dasel-image:latest dasel-image.tar --arch amd64 -k melange.rsa.pub

Результат: dasel-image.tar. Репозиторий @local ./packages в apko/dasel.yaml заставляет apko установить APK, собранный на Шаге 1. -k позволяет apko доверять ключу подписи Melange. apko добавляет архитектуру к тегу, поэтому загруженный образ будет dasel-image:latest-amd64.

Шаг 4 — Загрузка образа

root@kitploit:~
docker load --input dasel-image.tar

Шаг 5 — Запуск тестов образа

root@kitploit:~
bash tests/test.sh

Десять тестов: наличие и запуск бинарного файла, запрос плоского ключа JSON, архитектура amd64, бюджет CVE отклоняет бомбу с алиасами YAML, обычное чтение YAML (зелёный путь), вложенный путь JSON, доступ по индексу массива, формат TOML, ограничение глубины CVE отклоняет цепочку алиасов из 33 уровней, неверный JSON отклонён.


CVE-2026-33320

melange/CVE-2026-33320.patch добавляет два ограничения в parsing/yaml/yaml_reader.go:

  • maxExpansionDepth = 32 — отклоняет цепочки алиасов глубже 32 уровней
  • maxExpansionBudget = 100 — отклоняет документы с более чем 100 разрешениями алиасов в сумме

Оба возвращают ненулевой код завершения с сообщением, содержащим yaml expansion. Тест 4 в tests/test.sh проверяет это.


Примечание к отправке

Команды выполняются: melange keygen → melange build → melange test → apko build → docker load → tests/test.sh

Все шаги пройдены на linux/amd64.

Что я улучшил бы при наличии времени:

  • Параметризовать тег образа и имя tarball в test.sh
Скачать инструмент