Что за зверь такой — Pinokio? Досконально разбираем его подкапотную

Автор Habr разбирает архитектуру и безопасность Pinokio — «портативного» установщика AI-репозиториев на Electron/Node.js — и указывает на противоречия между публичным репозиторием и фактической логикой приложения. Входной файл main.js делегирует управление демону pinokiod; значимая часть кода упакована в app.asar. По лицензии MIT автор проводит реверс дистрибутива (Windows-релиз 3.9.0), извлекает app.asar и раскрывает структуру демона.

  • Стек и модули: Node.js + Express, WebSocket; веб-терминал на xterm.js; ядро (управление окружениями, shell, выполнение скриптов); установщики Python/Conda/Git/CUDA; интеграции с Git, Gradio, Cloudflare, HuggingFace; мониторинг CPU/GPU/памяти; аутентификация для публичных эндпоинтов; 40+ зависимостей.
  • Наблюдения по репозиторию: отсутствие привычной src, зависимость pinokiod, «манки-патчи», а также нетипичное смешение клиента и сервера в одном монолите, что усложняет аудит и повышает вероятность багов и уязвимостей.
  • Риски по мнению автора: анонимный владелец, возможность динамического патчинга, тяжёлые сборки и лаги. Вывод — проект красиво упакован, но архитектурно спорен.
  • Альтернатива: автор противопоставляет Rust-решение PortableSource как более предсказуемое по скорости и безопасности.
← Назад в лентуЧитать оригинал →
✈️ Подписывайтесь на мой Telegram-канал — там еще больше интересного про AdTech, MarTech, AI и многое другое!