Стародубцев x IT-ХОЗЯЕВА – Telegram
Стародубцев x IT-ХОЗЯЕВА
3.63K subscribers
630 photos
93 videos
5 files
432 links
IT-ХОЗЯЕВА: https://boosty.to/jointime
По всем вопросам: @jointimer
Реклама: @vlad_0045
Download Telegram
💪💪💪
Please open Telegram to view this post
VIEW IN TELEGRAM
1🤣524🥰2💯21
Кстати совсем с отпуском забыл выложить подкаст с Диминого канала. Если у вас опускаются руки, посмотрите — там много мотивации. Выход есть из почти любой жопы 💪

https://youtu.be/dyeH38jBheI?si=ZCKs_8kkaYUaQDle
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1553🤣3
Ну, чтож GL мне. Выглядит слишком сочно 😔

Комбекаю мозги после нейронок.
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥27321👍1
Forwarded from zede code
FEOD

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

И сейчас я в свободное время пишу документацию для open feod который будет более универсальным и обобщенным. Одна из основных целей: дать документацию модульному подходу, чтобы противостоять документированности FSD. Пару слов о FSD: ребята огромные молодцы, что попытались структурировать и дать какое-то стандартизированное решение, но их идеи мне откликаются не во всем, особенно по реакции общественности на нее.

В целом, работа по этому направлению будет вестись (полноценная документация + линтер). FEOD не обещает быть серебряной пули или нравиться всем. Это очередной взгляд, очередное видение и попытки дать ответы на сложные вопросы.
110👍7🔥3
Forwarded from Denis Chernov
А мы говорили что ваши реакты ни до чего хорошего не доведут

https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components

TLDR крит уязвимость 10/10:
- если ваш рантайм ПОДДЕРЖИВАЕТ rsc (те условный некст), то злоумышленник может использнять ЛЮБОЙ КОД на стороне СЕРВЕРА
🤣9🎃3🔥1😭1🗿1
Записал гайд, как развернуть бота на питоне 🐶

Зацените картинку
Please open Telegram to view this post
VIEW IN TELEGRAM
123👍10🔥6🎃1
Forwarded from 8BitJS
​​Что пошло не так в React Server Components и чему из этого стоит научиться

Последние пару дней во всех фронтенд-пабликах пролетела новость: в React нашли критическую уязвимость с оценкой CVSS 10.0. Она позволяет получить удаленное выполнение кода на сервере. В списках пострадавших оказались все кто используют и/или поддерживают React Server Components (RSC).

Но мне захотелось разобраться с инженерной точки зрения, что же именно оказалось сломано внутри React и почему это вообще стало возможно. А главное, понять, чему мы можем научиться из этого кейса как разработчики, даже если не используем RSC.

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

В рамках PR с закрытием уязвимости было решено сделать рефакторинг. И справедливо было подмечено

With this combined commit, people now have to go through a >1500 line patch to try to understand the security relevant changes.

Что за уязвимость

CVE-2025-55182 - критическая уязвимость в React Server Components, которая позволяет, отправив специально сформированный запрос, добиться удаленного выполнения кода на сервере.

В коде было обнаружены три основные причины уязвимости:

1. Несимметричность в плане защиты между кодом клиентской и серверной реализацией
2. Небезопасная десериализация данных Flight-протокола на сервере
3. Незащищенное разрешение модулей и экспортов

Немного контекста

React Server Components

Основная идея состоит в том, что сервер может сам рендерить дерево компонентов, может делать запросы в БД и API. Клиент же получает поток (stream) данных о дереве, а не готовый HTML. React на стороне клиента постепенно собирает готовый результат из данных от сервера и клиентских компонентов.

Flight-протокол

Внутренний протокол React для передачи данных в RSC между клиентом и сервером. Простыми словами, сервер кодирует состояние дерева, ссылки на компоненты, промисы в поток байтов. Со стороны клиента поток читает декодер ReactFlightClient и восстанавливает исходные данные. Аналогично со стороны сервера есть декодер ReactFlightReplyServer, который обрабатывает обратные данные от пользователя.

Разберемся в коде

Рассмотрим на практике два ключевых участка, которые стали причиной уязвимости.

Prototype pollution в ReactFlightReplyServer

Внутри серверного декодера есть функция reviveModel в связке с getOutlineModel, которые рекурсивно обходят данные и "оживляет" их в обычные JS структуры.

Упростим:

function reviveModel(...) {
...
if (typeof value === 'object' && value !== null) {
...
for (const key in value) {
// hasOwnProperty проверка для защиты от вызова унаследованных ключей
if (hasOwnProperty.call(value, key)) {
...
// добавили проверку на __proto__
if (newValue !== undefined || key === '__proto__') {
value[key] = newValue;
}
}
}
}


requireModule и доверие к экспорту

В RSC есть функция requireModule(metadata) для бандлеров, которая по metadata.id находит модуль и по metadata.name выбирает нужный экспорт.

export function requireModule<T>(metadata: ClientReference<T>): T {
const moduleExports = parcelRequire(metadata[ID]);
return moduleExports[metadata[NAME]];
}


Сервер слишком доверяет экспортируемому модулю, поэтому могут сработать запросы вида:

{
"id": "foo",
"name": "__proto__"
}


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

Для закрытия уязвимости для экспорта добавили проверку

if (hasOwnProperty.call(moduleExports, metadata[NAME])) {
return moduleExports[metadata[NAME]];
}


Итого

Как мы смогли увидеть, в уязвимости нет каких-то хитростей React, а используется довольно распространенная проблема доверия к данных при десериализации.

Что важного мы можем вынести для себя:

Никогда не доверяйте структуре данных от пользователя. Для защиты фильтруем все опасные ключи из прототипирования (__proto__, constructor, prototype) и/или добавляем подход allowlist для ключей. Для конструкции for...in используем hasOwnProperty.

#8BitJS #React #CVE #security #RSC
1🔥15532👍1
А заметили ли вы, что каждый год в айтихе появляются вещи, без которых «нельзя обойтись»? Скрам, agile, мега паттерны, архитектуры, убийственные фреймворки, которые исчезают, не успев толком появиться. Сколько же юзелесс-говнища мы через себя пропустили 🪞

Бум нейросетей начинает утихать — это видно по просмотрам даже у тех, кто раньше жестко хайповал. Мы просто получили очередной инструмент, который добавил нам ещё одну абстракцию в работе.

Всё развитие технологий напоминает памп какой-нибудь скам-монеты на TON: паникёры опять остались без нервов, а гигачады спокойно сидят на +вайбе 🚬

Кстати, поздравляю всех, кто в 2022 году зассал вкатываться в айтиху — сейчас сделать это стало ещё сложнее 🚫
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍199😁4💯3🫡2💊2🤯1🙈1
Forwarded from Reatom новости (artalar)
v1000 в проде, альфа закончена 🥳🥳🥳

Библиотека теперь в несколько раз проще и намного богаче на фичи!

Огромное спасибо всему комьюнити за участие в разработке и тестировании, за время альфы количество скачиваний в NPM увеличилось вдвое до 7к в неделю! Ко мне приходят в личку с восторженными фидбеками о простоте и функциональности библиотеки, все получилось как и планировали!

Отдельная благодарность @Xelson за его разработку форм менеджера - титаническая работа! Начать смотреть отсюда (там еще много гайдов в сайдбаре можете найти): https://v1000.reatom.dev/handbook/forms/introduction/

Напомню, у нас так же появилась мощная (лучшая кмк) система роутинга: https://v1000.reatom.dev/handbook/routing/

Помимо core пакета (с формами, роутингом и кучей всего) стабильными версиями опубликованы пакеты для React и собственного JSX рендера.

Уже на подходе пакеты для: solid, lit, preact, zod! Требуется помощь с пакетами для Vue и Svelte (делать по примеру solid и preact).

Про миграцию с v3: https://v1000.reatom.dev/handbook/history/#migration-from-v3

Очень много анонсов и статей, демок будет на этой неделе. НО самое важное - это фидбек от вас! Пробуйте, отписывайтесь сюда или в https://github.com/reatom/reatom/issues/1093

Лайк, шер!
Please open Telegram to view this post
VIEW IN TELEGRAM
19👍6🔥5👏1
Бесплатный ChatGPT GO на год!

Наткнулся в рилсах на гайдец, как получить индийский ChatGPT бесплатно. Ниже будет инструкция как это все проворачивается, но если вам лень это всё проворачивать, как и мне — держите ссылку на маркете аккаунт за 100 рублей.
Грех не подсветить с моей стороны такую возможность.

Инструкция, как это провернуть самому:

1. Подключаем индийский прокси.
2. Создаём новый аккаунт ChatGPT через почту Gmail.
3. После входа в ChatGPT ловим промо предложение. Жмём на него (если не появилось, заходим через товары).
4. Для оплаты нужна заграничная карта.
5. Указываем имя и Индийский адрес.

Пользуемся, а на свободные деньги покупаем клод 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥12👍53
Недовольный мидл
Почти две недели ничего не постил — был в отпуске. А между тем, новости есть...

Я буду преподавать на курсе по Angular в OTUS. 🤩

На самом деле давно задумывался, что стоит вернуться к преподаванию — очень полезная активность, в том числе с точки зрения собственного развития. Когда начинаешь объяснять что-то другим, сам понимаешь многое иначе.

Уже прошёл вступительный курс и провёл демо-занятие, осталось закончить формальные процедуры — и скоро начну учить...
Знаете, чем мне нравится наше сообщество? Вот с таких новостей нереально поднимается настроение, обожаю, когда вижу рост других. Какие же крутые у нас ребята! Поздравляем Артёма! Давайте поддержим его подпиской — ему будет приятно. Напоминаю, не стесняйтесь обращаться к Хозяевам за советом — все всегда готовы помочь и поделиться опытом ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
113🔥1😱1🤣1
Новости Хозяев 💪

Обновили лендинг
— вы просто посмотрите, какая пушка получилась: https://ithozyaeva.ru/

Накрутили туда кучу реально полезного функционала:

Анонсы встреч через бота. Теперь как только создаётся мероприятие на платформе, всем, кто включил рассылку, прилетает уведомление. Не раз, а несколько — чтобы точно не пропустили движ.

Загрузка резюмехи. Не можешь найти работу? Не беда. Залетай, загружай резюме — и можешь быть уверен, я его отправлю HR-ам (их у меня много 🐱).

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

Развиваемся. По стеку у нас вообще полный фарш: Vue + Go. Такой маленький пет-проектик превращается в полноценную платформу.

P.S. Бот проверяет, состоишь ли ты в основной беседе. Так что если хочешь получить доступ к платформе и ты уже подписан — не забудь вступить в “IT-ХОЗЯЕВА: Основная беседа”.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
216🔥1🫡1
Уже неделю сижу на Antigravity. Это гугловский редактор с жирными бесплатными лимитами на топ-модели. Вообще топчик, переход с VS Code был суперлёгким 💪

Чтобы начать пользоваться, нужно в настройках поменять место вашей дислокации. Я, например, часто на постоянке в Нидерландах, поменял без проблем (выбрал вариант «путешественник») 🐱

Дальше просто логинитесь и наслаждаетесь агентами уже без VPN 🚬

https://antigravity.google/
Please open Telegram to view this post
VIEW IN TELEGRAM
19🔥321👍1🤯1
Шедевр рекрутинга
1457👍51😁1
Целых 20 комплектов билетов для всей семьи на новогоднюю ёлку разыгрывает T1 💪

Для участия в розыгрыше нужно сделать не так уж и много: подписаться на канал, оставить коммент и пройти опрос до 20 декабря. Летс гоу!

Реклама. АО "Т1", ИНН: 9714075174, erid: 2W5zFGXEvrk
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿1