Рубрика «docker»

Перед вами разбор машины Kobold из 10-го сезона HackTheBox. Easy машина, которая оказалась интересной - тут и chaining уязвимостей через Docker volumes, и credential reuse, и два разных пути до root. Но главная изюминка: точка входа - RCE в инструменте из AI/ML-экосистемы. Спойлер: MCP тулзе. Новый attack surface, который стоит знать. Погнали)

Разведка

Сканирование портов

Традиционно начинаем с полного сканирования портов:

nmap -p- -sC -sV -oN recon/nmap/full.txt <Target IP>
Читать полностью »
Почему мы полностью отказались от HDD - 1

В индустрии есть устоявшееся мнение, что HDD — это устаревающая технология.

Это с одной стороны. С другой стороны, много у кого написано «Медленные SSD», а по факту при тестах они начинают показывать характерные скорости HDD, характерные бутылочные горлышки HDD и вообще ведут себя как жёсткие диски.

Читать полностью »

Всем привет. Я Backend разработчик, в основном на Python и немного Go. Хотел бы рассказать про свой опыт оптимизации docker образов и написать некий «туториал». Он скорее будет полезен для разработчиков или начинающим DevOps. Для опытных DevOps инженеров, возможно будет мало интересного и полезного

Не претендую на правильность во всем, полноту. Мое основное ремесло – эффективно делать эффективный бекенд. Направление инфраструктуры мне интересно, стараюсь активно изучать и в ходе работы, так или иначе приходилось и приходится с этим работать. 

Цели: 

TL;DR

Мы пытались запустить LLM inference на старой AMD RX580 (8 VRAM) через ROCm в Kubernetes. GPU корректно определялся, VRAM использовалась, но inference падал с ошибками вида:

hipMemGetInfo(free, total) CUDA error: invalid argument

После серии экспериментов с ROCm userspace, Docker‑образами и Kubernetes deployment выяснилось, что проблема лежит на границе:

kernel → ROCm runtime → ggml backend

Финальное решение включало:

  • переход на kernel 6.8

  • стабилизацию ROCm runtime

  • использование llama.cpp + ROCm

  • grammar‑constrained decoding для strict sanity prompts

В итоге мы получили стабильный GPU inference:

в 14:16, , рубрики: bash, chroot, docker, shell

Небольшое вступление

Читать полностью »

Введение: Ниша между Celery и Kubernetes

Привет!

Если вы когда-нибудь сталкивались с задачей запуска сотен изолированных фоновых процессов на одном сервере (будь то парсеры для клиентов, торговые боты или обработчики данных в SaaS), то вы знаете, как быстро всё усложняется.

Читать полностью »

Есть типичная боль: ты вроде всё сделал правильно — контейнеры поднялись, API отвечает, UI открывается… а потом оказывается, что “не работает”. Причём не “сломано в пепел”, а именно “почти”: где-то 404, где-то таймаут, где-то UI открывается, но вкладки пустые, где-то один запрос проходит, другой — молчит.

И самое неприятное: когда начинаешь чинить “по ощущениям”, можно потратить часы, а потом выяснить, что причина была не в коде, а в порте, origin, IPv6, миграциях или в том, что UI ходит не туда.

Я перестал спорить с реальностью и сделал себе простой подход evidence-first:

Я Backend разработчик на Python, и в одном из проектов мне понадобилось настроить сборку Docker-образа в GitLab CI/CD. Базовую настройку я сделал без проблем, но я хотел ускорить сборку по максимуму. И здесь я обнаружил Cache mount или кэш-монтирование.

Месяц назад я закинул задачу на рефакторинг модуля авторизации и пошёл варить кофе. Кофе я допить не успел. Через двадцать три минуты пришло уведомление в ТГ: «staging обновлён, 94 теста пройдено, 0 упало».

Открыл репозиторий. Ветка, diff на два экрана. Code review от второго агента. Три замечания, два по делу. Третий агент прогнал тесты и задеплоил.

Код был чище, чем я обычно пишу по пятницам.

Но до этого момента были три месяца граблей, упавший продакшен, и одна ночь, когда агенты сделали десятки бесполезных коммитов. Обо всём по порядку.


Один агент. Один мозг. Ноль сомнений

Читать полностью »

TL;DR: Обычный MTProxy с Fake TLS маскирует протокол, но палится при активном зондировании. Telemt при попытке «пощупать» ваш прокси извне отдаёт настоящий сайт с настоящим TLS-сертификатом. Для DPI и краулеров это сайт.ru. Для вас это стабильный Telegram.

Читать полностью »

https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js