Ну это если мы говорим про корпоративную разработку, то там контекст репозитория можно подсунуть агенту. Насколько знаю сейчас активно многие компании свой внутренний ИИ внедряет чуть ли не повсеместно. И тут агенту явно можно ткнуть - я вот хочу написать, но загляни в локальную репу и глянь как это организовали мои коллеги.
Хотя и внутри одной команды бывает такой раздрай... Один пишет так, другой пишет иначе. Хотя оба работают совместно долго, и вроде как соблюдают стандарты. Но реализация разная, и поди агенту объясни, кто прав, а кого на кол)
Все зависит не только от того, как написан промт. Но и от того какая изначально задача стоит, которая так же является одним из весомейших аргументов в принятии моделью решений при написании кода. Если ты сам молчишь про безопасность - то и нейронка ни слова тебе не скажет про нее, потому что цель "дать работающую функцию", это уже посыл не про то, что вайбкодеры не "шарят", а о том что с нейросетями надо УМЕТЬ работать. Ну и конечно смотреть шире, чем "напиши работающий код".
Тем не менее не зря же появилось появилось понятие - промт-инженерия. Пример, один и тот же контекст: - напиши функцию санитизации файлов. - напиши готовую функцию санитизации файлов, с удалением спецсимволов, дедупликацией, невозможностью выйти за пределы каталога при загрузке с проверкой mime-типов.
Пример соглашается с автором статьи :)
Результат во втором случае - будет лучше, потому что деталей больше. Проблема в целом существуют. Молодые ребята пытаются совершить революцию, думая "щас все буит, нейронка напишет!". Но увы, в серьезной инфраструктуре, корпоративных продуктах есть вещи, о которых ребята (просто из-за отсутствия опыта) пока еще не знают.
С нейронками пишется быстрее, но представленный код ВСЕГДА надо проверять и задавать вопросы. Иначе будет шляпа...
Спасибо, что заглянули и сюда, и снова потратили время, которое в нынешнее время на вес золота.
Вы отчасти правы, мой «параноик» был скорее реакцией на сам факт: «кто-то взял и нашёл проблемы». То есть я понял для себя это так - не столько конкретные уязвимости, сколько общий подход, на который я подзабил спустя 2 недели после начала разработки) Хотя возможно я ошибаюсь...
По вашим новым пунктам:
Безопасность загрузок - уже в роадмапе (0.9.52). Fork bombs и gapreg (я правильно понимаю, что речь о расширениях/MIME-атаках?)
Фаззинг публичных эндпоинтов - вот это кстати очень интересная идея. Надо будет поковыряться и опасные точки определить/проверить/закрыть... Я даже не думал пока еще в эту сторону. Все хочу еще до различных автотестов добраться, но пока, увы, рук всего 2...
Rate limit на регистрацию - да, вот рейт лимитер в 0.9.49 уже вышел - на авторизацию, восстановление (к слову переделал попап в маленький баннер, а подтверждение входа вывел в "Устройства" в профиле), поиск. А вот на регистрацию кстати нет... Так что да - щас еще остается потенциальная дырка на ней, что не есть хорошо. Вы меня снова спасаете!)
Насчёт открытости кода - пока не готов, потому что стыжусь - надо еще подчистить хвосты, разделить модели. Проводить аудит такого кода - это кровь из глаз. Но эта идея остаётся в голове. Я думаю, что когда-нибудь я доберусь до вида - не стыдно показать публично.
Как такового плана нет. Пульс это весьма нишевый продукт на мой взгляд, для тех кто устал от информационного шума. Хотя мне его просто интересно делать :)
Учту в дальнейших статьях, я никогда не писал про свои пет-проекты на хабре, так только какие-то технические кейсы на старом акке были, поэтому прошу прощения. Спасибо, что подсветили!
@gerbert_MX Спасибо за честность и конкретику. Вы безусловно правы: безопасность на клиенте — это одна из классических ошибок, которые я увы упустил на раннем этапе. В 0.9.48 мы перенесли проверку доступа к истории и диалогам на бэкенд через единый ConversationAccessService, а публичные DTO теперь не содержат email. В общем - уже реализовано :)
По поводу открытости: я не против открытого кода в будущем, но пока «Пульс» — это мой личный проект, и я хочу сначала довести архитектуру до такого состояния, чтобы открытие не превратилось в «посмотрите, как здесь всё страшно», а там и правда сейчас есть страшные решения, которые мне еще предстоит переделать... Стыдно - если кратко. А децентрализация — это интересный вызов, но для начала нужно пройти текущий этап: безопасность, стабильность, UX. Если проект выживет и окрепнет — можно будет подумать и об этом. Ещё раз спасибо за откровенность.
Идея очень интересная, особенно потому, что она не требует превращать Pulse в еще один монолит и позволяет использовать уже существующее решение для видеовстреч, закрывая действительно колоссальный пласт работы.
Сейчас я сосредоточен на развитии базового функционала мессенджера и доведении ядра до полноценной беты, поэтому до видеозвонков ещё далеко. Честно говоря, пока я просто не готов браться за такую реализацию — времени на всё сразу, к сожалению, не хватает.
Но сам подход с интеграцией через API выглядит очень здраво и вполне может стать одним из вариантов реализации в будущем. Но пока двухмесячный Pulse до этого ещё не дорос 🙂
Сохраню контакт и обязательно вернусь к этой идее, когда Pulse доберётся до этапа голосовых и видеозвонков.
Спасибо за предложение сотрудничества — для меня это действительно очень интересное предложение. А есть какая-нибудь публичная страница проекта, где можно подробнее почитать и посмотреть, как всё устроено? Хотелось бы познакомиться с Визави поближе.
Если речь про ваш комментарий - то максимально) прям щас сижу и пилю нормальный DeviceRequest с рейт-лимитером и защитой, если про трафик - тоже да. Добрая сотня новых пользователей в бд. Общаются фактически или просто зарегались - не проверял, но эффект приятный и весьма ощутимый :)
На самом деле я вам очень сильно благодарен за такой развернутый коммент. С учетом того, что я делаю все один - тестирование тоже выполняется мной и все учесть просто невозможно. Я уже думаю в сторону каких-нибудь автотестов. Но пока просто руки не дошли. Все что сейчас работает - сделано буквально за 2 месяца. Поэтому еще раз огромное спасибо вам!
Хех, спасибо за искренность!) Сам не особо любитель подобного формата статьи читать... Но я правда уже не знал куда себя девать с кем поделиться, кому рассказать. Вроде создал нечто прикольное, а кроме родных и делиться было не с кем, вот и решил, что может быть хабр? и видимо не прогадал)
Тут уж надо как-то договариваться с регулятором и в создании ряда ендпоинтов для доступа к контенту, который его будет интересовать. Т.е. не целиком доступ к диалогам. Я думаю об этом, и текущая ситуация конечно меня не очень радует. Но пока я нахожусь в серой зоне и буду стараться максимально оттягивать этот момент.
Спасибо. Вкладываю душу в проект. Понимаю что щас чуть ли не каждый пытается сделать свой продукт на рынке - но это все таки больше вызов для себя изначально. Но я конечно в шоке от того, насколько далеко мне удалось продвинуться в этом.
Ну это если мы говорим про корпоративную разработку, то там контекст репозитория можно подсунуть агенту. Насколько знаю сейчас активно многие компании свой внутренний ИИ внедряет чуть ли не повсеместно. И тут агенту явно можно ткнуть - я вот хочу написать, но загляни в локальную репу и глянь как это организовали мои коллеги.
Хотя и внутри одной команды бывает такой раздрай... Один пишет так, другой пишет иначе. Хотя оба работают совместно долго, и вроде как соблюдают стандарты. Но реализация разная, и поди агенту объясни, кто прав, а кого на кол)
Все зависит не только от того, как написан промт. Но и от того какая изначально задача стоит, которая так же является одним из весомейших аргументов в принятии моделью решений при написании кода. Если ты сам молчишь про безопасность - то и нейронка ни слова тебе не скажет про нее, потому что цель "дать работающую функцию", это уже посыл не про то, что вайбкодеры не "шарят", а о том что с нейросетями надо УМЕТЬ работать. Ну и конечно смотреть шире, чем "напиши работающий код".
Тем не менее не зря же появилось появилось понятие - промт-инженерия. Пример, один и тот же контекст:
- напиши функцию санитизации файлов.
- напиши готовую функцию санитизации файлов, с удалением спецсимволов, дедупликацией, невозможностью выйти за пределы каталога при загрузке с проверкой mime-типов.
Пример соглашается с автором статьи :)
Результат во втором случае - будет лучше, потому что деталей больше. Проблема в целом существуют. Молодые ребята пытаются совершить революцию, думая "щас все буит, нейронка напишет!". Но увы, в серьезной инфраструктуре, корпоративных продуктах есть вещи, о которых ребята (просто из-за отсутствия опыта) пока еще не знают.
С нейронками пишется быстрее, но представленный код ВСЕГДА надо проверять и задавать вопросы. Иначе будет шляпа...
Про gapreq - промахнулся по клавишам, спешил.
Но это не меняет сути, таких проверок еще нет и это еще стоит реализовать.
Спасибо, что заглянули и сюда, и снова потратили время, которое в нынешнее время на вес золота.
Вы отчасти правы, мой «параноик» был скорее реакцией на сам факт: «кто-то взял и нашёл проблемы». То есть я понял для себя это так - не столько конкретные уязвимости, сколько общий подход, на который я подзабил спустя 2 недели после начала разработки) Хотя возможно я ошибаюсь...
По вашим новым пунктам:
Безопасность загрузок - уже в роадмапе (0.9.52). Fork bombs и gapreg (я правильно понимаю, что речь о расширениях/MIME-атаках?)
Фаззинг публичных эндпоинтов - вот это кстати очень интересная идея. Надо будет поковыряться и опасные точки определить/проверить/закрыть... Я даже не думал пока еще в эту сторону. Все хочу еще до различных автотестов добраться, но пока, увы, рук всего 2...
Rate limit на регистрацию - да, вот рейт лимитер в 0.9.49 уже вышел - на авторизацию, восстановление (к слову переделал попап в маленький баннер, а подтверждение входа вывел в "Устройства" в профиле), поиск. А вот на регистрацию кстати нет... Так что да - щас еще остается потенциальная дырка на ней, что не есть хорошо. Вы меня снова спасаете!)
Насчёт открытости кода - пока не готов, потому что стыжусь - надо еще подчистить хвосты, разделить модели. Проводить аудит такого кода - это кровь из глаз. Но эта идея остаётся в голове. Я думаю, что когда-нибудь я доберусь до вида - не стыдно показать публично.
Ещё раз большое спасибо!
Как такового плана нет. Пульс это весьма нишевый продукт на мой взгляд, для тех кто устал от информационного шума. Хотя мне его просто интересно делать :)
Учту в дальнейших статьях, я никогда не писал про свои пет-проекты на хабре, так только какие-то технические кейсы на старом акке были, поэтому прошу прощения. Спасибо, что подсветили!
@gerbert_MX Спасибо за честность и конкретику. Вы безусловно правы: безопасность на клиенте — это одна из классических ошибок, которые я увы упустил на раннем этапе. В 0.9.48 мы перенесли проверку доступа к истории и диалогам на бэкенд через единый ConversationAccessService, а публичные DTO теперь не содержат email. В общем - уже реализовано :)
По поводу открытости: я не против открытого кода в будущем, но пока «Пульс» — это мой личный проект, и я хочу сначала довести архитектуру до такого состояния, чтобы открытие не превратилось в «посмотрите, как здесь всё страшно», а там и правда сейчас есть страшные решения, которые мне еще предстоит переделать... Стыдно - если кратко. А децентрализация — это интересный вызов, но для начала нужно пройти текущий этап: безопасность, стабильность, UX. Если проект выживет и окрепнет — можно будет подумать и об этом. Ещё раз спасибо за откровенность.
Спасибо! Именно это и держит. Когда видишь, что продукт кому-то нужен — руки сами тянутся к клавиатуре. Продолжу, обещаю.
Такой путь неинтересен, сильно. Это уже все готовые решения. А поверх достраивать что-то не хотелось.
Спасибо за теплые слова и поддержку проекта.
Идея очень интересная, особенно потому, что она не требует превращать Pulse в еще один монолит и позволяет использовать уже существующее решение для видеовстреч, закрывая действительно колоссальный пласт работы.
Сейчас я сосредоточен на развитии базового функционала мессенджера и доведении ядра до полноценной беты, поэтому до видеозвонков ещё далеко. Честно говоря, пока я просто не готов браться за такую реализацию — времени на всё сразу, к сожалению, не хватает.
Но сам подход с интеграцией через API выглядит очень здраво и вполне может стать одним из вариантов реализации в будущем. Но пока двухмесячный Pulse до этого ещё не дорос 🙂
Сохраню контакт и обязательно вернусь к этой идее, когда Pulse доберётся до этапа голосовых и видеозвонков.
Спасибо за предложение сотрудничества — для меня это действительно очень интересное предложение. А есть какая-нибудь публичная страница проекта, где можно подробнее почитать и посмотреть, как всё устроено? Хотелось бы познакомиться с Визави поближе.
Если речь про ваш комментарий - то максимально) прям щас сижу и пилю нормальный DeviceRequest с рейт-лимитером и защитой, если про трафик - тоже да. Добрая сотня новых пользователей в бд. Общаются фактически или просто зарегались - не проверял, но эффект приятный и весьма ощутимый :)
На самом деле я вам очень сильно благодарен за такой развернутый коммент. С учетом того, что я делаю все один - тестирование тоже выполняется мной и все учесть просто невозможно. Я уже думаю в сторону каких-нибудь автотестов. Но пока просто руки не дошли. Все что сейчас работает - сделано буквально за 2 месяца. Поэтому еще раз огромное спасибо вам!
А надо? Честно, пока не горю желанием от слова совсем.
Спасибо, вполне справедливо! Возьму на доработку.
Кстати связь с разрабом ток что пофиксил и выкатил в прод...
Хех, спасибо за искренность!) Сам не особо любитель подобного формата статьи читать... Но я правда уже не знал куда себя девать с кем поделиться, кому рассказать. Вроде создал нечто прикольное, а кроме родных и делиться было не с кем, вот и решил, что может быть хабр? и видимо не прогадал)
Тут уж надо как-то договариваться с регулятором и в создании ряда ендпоинтов для доступа к контенту, который его будет интересовать. Т.е. не целиком доступ к диалогам. Я думаю об этом, и текущая ситуация конечно меня не очень радует. Но пока я нахожусь в серой зоне и буду стараться максимально оттягивать этот момент.
Приветствую! Рад вернуться. Даже и не помню когда последний раз писал что-то на хабре)
Приветствую! Большое спасибо! Обязательно посмотрю вечером, сейчас пока работа не позволяет. Могу только на комментарии отвечать :)
Спасибо. Вкладываю душу в проект. Понимаю что щас чуть ли не каждый пытается сделать свой продукт на рынке - но это все таки больше вызов для себя изначально. Но я конечно в шоке от того, насколько далеко мне удалось продвинуться в этом.
Приветы! Ноуп, еще ничего такого никуда не уходило) Но в перспективе видимо увы, придется это сделать.