Стародубцев x IT-ХОЗЯЕВА
3.81K subscribers
702 photos
97 videos
5 files
481 links
IT-ХОЗЯЕВА: https://boosty.to/jointime
По всем вопросам: @jointimer
Реклама: @vlad_0045
Download Telegram
ай какой хороший день рождения получился 💪

Вы только посмотрите на участников, тут почти все спикеры на разных конфах. Вот это я понимаю сообщество 🐶
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
136🔥12👍9
На моей конфе (др) хватило всем шашлыка ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
1449🔥20🤣9
Все говорят про волков, но не говорят про менторов 🚽

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

Честно, я немного шокирован. Люди зарабатывают как могут. Но брать по 10–20 учеников одновременно качественно просто физически невозможно. Возьму свои слова назад: менторы с огромным прайсом — это, наверное, самые умные люди, которые понимают, что на рынке сейчас жёсткая просадка 😵‍💫

Не устроишься? Ничего, возьмут ещё учеников. Устроишься? Заплати и расскажи, как тебе помогли. И всё это на фоне огромной проблемы во фронтенде: всё меньше людей интересуются программированием, и всё больше — деньгами и быстрым трудоустройством.

Будем смотреть, что будет дальше. Но одно правило точно должно быть: ищите ментора, который поможет не только попасть на работу, но и на ней удержаться. А остальная масса просто продаёт иллюзии 👍

Поэтому, записывайтесь ко мне на менторство, я точно вам помогу
Please open Telegram to view this post
VIEW IN TELEGRAM
💯17😁14🔥43🤣2😇2
Собираюсь в Марокко, криворукие Африканские вайбкодеры на онлайн реге преобразовали моё имя Александр в Алексан Доктор. Была у вас такая темка? Что делали?

😔😔😔
Please open Telegram to view this post
VIEW IN TELEGRAM
2🤣55😁112🔥1
Путешествую сейчас по Марокко. Удивительная, конечно, страна, где можно увидеть целую кучу народностей и, как следствие, их разный культурный след. В поездках обожаю, особенно там, где совсем другая культура и языки, то, что время замедляется и начинаешь чувствовать мир по-другому. Короче, мега советую не дефолтные страны, смысла в «туплении на пляже» вообще не вижу 🍑
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥176😍5😱1
Подписчиков много. А партнёров?

В Нетворке от Точка Банка предприниматели объединяются: обсуждают проекты, делятся опытом и изучают новое вместе с экспертами.

Активируйте бот и присоединяйтесь к закрытому комьюнити владельцев бизнеса.
5👍3🔥2🗿2💊1
💪💪💪
Please open Telegram to view this post
VIEW IN TELEGRAM
1🤣534🥰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