Обновить
32K+
24
Александр@bububebe

Пользователь

156,1
Рейтинг
7
Подписчики
Отправить сообщение

Согласен с замечанием.
Внешнюю проверку в этом случае следует сделать обязательным условием выпуска. Перед деплоем фактический список открытых портов нужно снимать извне и сверять с заранее заданным перечнем. При расхождении выпуск должен останавливаться. Как будет время, внесу исправления в текст.

Инцидент действительно был. Тогда мне было важнее остановить нагрузку и вернуть сервер в рабочее состояние, поэтому я переустановил систему.
Идея написать статью пришла позже. Логи и снимок диска я не сохранил, сетевой дамп не снимал, поэтому восстановить точную цепочку атаки уже не могу.

Спасибо за обратную связь!
Вы правы, запускать в прод проект, не понимая основ было моей ошибкой. Но я не перекладывал ответственность на агента, о чём и прямо написал в статье:

Это произошло по моей ошибке. Разработка велась с помощью ИИ, и я не смог должным образом проконтролировать результаты его работы.

Именно поэтому дальше я и разбираю в статье, как не допустить таких же ошибок что и я.

Отдельно про пароль.
Я не утверждаю, что агент установил password в качестве пароля. Как злоумышленник получил учётные данные, мне установить не удалось, поэтому в статье это описано как предположение.

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

Спасибо за обратную связь!

  1. Мастер смотрит на CPU, RAM, GPU, объём VRAM и доступность CUDA. В режиме «Авто» приложение пробует видеокарту, а при ошибке переходит на CPU. Модель можно выбрать вручную: tiny, base, small, medium, large-v3, turbo. Выбора конкретной видеокарты по индексу пока нет.

  2. Предполагаю что это баг, буду исправлять и оптимизировать.

  3. Приложение тестировалось на трёх разных устройствах. На слабом ноутбуке (CPU), и на двух компьютерах с RTX 3060 Ti и GTX 1050 Ti. С каждым новым устройством появлялись свои проблемы, поэтому я постепенно подгонял проект под разное железо. На слабом CPU работать можно, но скорость всё равно ограничена самой моделью. На RTX 5090, скорее всего, будет значительно комфортнее.

  4. От мультиязычности я не отказывался. Сам Whisper умеет распознавать разные языки. Сейчас в интерфейсе нормально заведены русский, английский и локальный перевод EN -> RU. Штатный режим translate у Whisper переводит только на английский, поэтому для перевода на русский используется отдельная локальная модель. Остальные языковые пары пока не доведены до готового сценария.

  5. Добавление своей предобученной модели через интерфейс пока не поддерживается. Постараюсь добавить в будущих обновлениях

  6. Нет, это не Electron. Приложение написано на Python, интерфейс сделан на PySide6 и Qt Quick, распознавание работает через faster-whisper/ CTranslate2.

  7. Исправлю этот момент

  8. Сейчас можно добавлять термины и словарь, которые используются как подсказка для Whisper. Короткие окна для Live уже есть, но тонкая настройка чанков и произвольных инструкций пока не вынесена в интерфейс. Тоже постараюсь в одном из будущих обновлений добавить.

спасибо за обратную связь, изменил формулировку

Проект запускал на двух устройствах.
1. Обычный ноутбук с 8гб оперативной памяти и встроенной графикой. Использовал встроенную вебку
2. ПК, тоже не особо мощный, примерно с такими же характеристиками. Только вместо камеры использовал телефон как IP-камеру.
В обоих случаях всё работало нормально. OpenCV здесь просто читает и декодирует поток.

К счастью, нет. Друг пока единственный трофей

Нет, внешний сервер опционален. Камера, бот и события остаются локально, на сервер при необходимости выносится только YOLO-инференс. Изображение беру по RTSP/MJPEG через OpenCV. Сначала определяю движение, после этого отдельный кадр идёт в YOLO. В remote-режиме на сервер уходит только зашифрованный JPEG.

Да, использую YOLOv8.

Спасибо что подсказал, уже обновил таблицу. И по поводу YOLO26, как время будет, попробую обновить его и адаптировать под проект.

Всё зависит от выбранной модели, но нагрузка в любом случае небольшая. Например, для yolov8n.pt хватит Raspberry Pi 4/5, старого ноутбука или слабого ПК.

Цель есть. И понимание, как к ней идти, часто тоже есть, просто на уровне ощущения.

Ну это же очевидно: надо выучить Python.

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

Если у тебя цель сразу раскладывается на шаги, отлично. Статья не про отсутствие навыка. Она про разницу между «я знаю, чего хочу» и «я понимаю, через что к этому идти».

Проглядел, убрал. Упоминания об этих иллюстрациях, не должно было попасть в финальную версию

Допустим, если это продакшн проект, который далее отдадут на поддержку на аутсорс, на сколько сложно будет его поддерживать? Тоже понадобится использовать ИИ? Сколько это будет стоить?

Сложность поддержки зависит от специфики проекта, но в большинстве случаев поддержка проекта довольно проста. Это поправить баг или внедрить новую фичу, что бы просто держать проект на плаву. Да, если с помощью ИИ продукт разрабатывал, логично с его же помощью и поддерживать этот продукт.

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

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

Какой проект будет занимать меньше места по объему - написанный командой или ИИ?

Всё зависит от проекта. Простой телеграм-бот или полноценный сайт с огромным количеством функционала.

Если смотреть на практику, то код написанный командой в основном будет более компактный, чем тот же проект с ИИ. Но на практике если тебе не важна моментальная скорость обработки кода то разницы практически не заметишь. Да и можно теми же инструкциями заранее прописать что бы не раздувал код в проекте и писал его компактно.

к сожалению не доводилось использовать, поэтому и не добавлял в сравнение

спасибо за обратную связь, исправлю в ближайшее время

Привет, причина хейта? Писал статью от души, хотел поделиться опытом разработки, но почему-то многим эта статья не нравится, включая тебя. Хотелось бы узнать что именно я написал или сделал не так.

Информация

В рейтинге
31-й
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Веб-разработчик
Старший
Git
ООП
Docker
Python
Django
FastAPI
SQLalchemy
REST
Английский язык
Linux