Angry Beard – Telegram
Angry Beard
275 subscribers
166 photos
12 videos
13 files
668 links
Bearded guy about the startups, tech and product development - https://alec-c4.com
Download Telegram
Поддался модному тренду и добавил в kickstart ажно целых 3 шаблона для inertia_rails - svelte (моя прееелесть), react и vue. Ссылка всё та же - туточки. #ruby #rails
2
🤔2😁1
Пу-пу-пу, в смысле вышел #ruby 4.0.0 preview 2. Я почитал описание и не могу сказать, что увидел какие-то изменения, которые сразу вызвали у меня вопль "вау!" и желание протестировать сборку, но вот краткое саммари того, что в ней есть

- Оператор *nil больше не вызывает nil.to_a, аналогично тому, как оператор **nil не вызывает nil.to_hash.
- Логические операторы (||, &&, and, or) на начало строки теперь продолжают предыдущую строку, как при использовании текущего оператора.
- Версия Unicode обновлена до 17.0.0, а Emoji Version — до 17.0. Эти обновления применяются как к строкам, так и к регулярным выражениям.
- Set теперь является встроенным классом вместо класса со срабатыванием в стандартной библиотеке.
- IO.select теперь принимает Float::INFINITY в качестве аргумента timeout.
- Обновления стандартной библиотеки
• ostruct 0.6.1
• pstore 0.2.0
• benchmark 0.4.0
• logger 1.7.0
• rdoc 6.13.1
• irb 1.15.2
• reline 0.6.1

И еще ряд изменений. В общем - ждём полноценного релиза, чтобы потестировать и (надеюсь) поразиться очередному приросту производительности и каким-нибудь ярким фичам
👍2
Вот эта новость прям совсем неожиданная - Anthropic приобрели bun. Согласно договоренностям bun остаётся бесплатным и open source (лицензия не меняется - всё та же MIT), команда продолжает работать над проектом. Основная концепция в том, чтобы claude code, написанный на bun, продолжал работать без рисков сломаться в самый неожиданный момент:

Claude Code ships as a Bun executable to millions of users. If Bun breaks, Claude Code breaks. Anthropic has direct incentive to keep Bun excellent.
Забавный факт - почему vite использует порт 5173

It’s actually VITE written strategically:

V → 5 (Roman numeral)
I → 1 (Roman numeral)
T → 7
E → 3

Put it together and you get 5173.
👍2
#opensource 37signals выложили в open source свой трекер Fizzy, исходный код как обычно на github - https://github.com/basecamp/fizzy
Шутки про bun и anthropic выходят на новый уровень :)
Forwarded from Cybred
🔥 10/10 React4shell

В официальном блоге React только что выкатили пост про CVE-2025-55182, которая позволяет в один запрос получить RCE. Уязвимы версии 19.0.0, 19.1.0, 19.1.1, 19.2.0, а еще фреймворки Next.JS, Vite, Parcel, и Waku.

Just when I thought the day was over… CVE-2025-55182 shows up 🫠


Сам баг находится в RSC-рантайме, который принимает данные и небезопасно десериализует их. Запатчиться сейчас почти никто не успел, а уязвимость можно считать одной из самых критичных, которые находили в React за все время.
Forwarded from AD_POHEQUE
React RCE: пруф с нуля, без «заведомо уязвимых серверов»

какой-то ясновидящий в комментах заявил, что poc крутится «на специально дырявом сервере» и вообще «это не по-настоящему».
я пошёл, потратил два часа, собрал всё с чистого react — и вот результат:

rce воспроизводится на react 19.2.0, без патчей и плясок с бубном.
ниже полностью воспроизводимый сценарий.

1) клонируем и фиксируемся на уязвимой версии

git clone https://github.com/facebook/react.git
cd react
git checkout v19.2.0


2) ставим зависимости и собираем react-server-dom-webpack

yarn install
yarn build react-server-dom-webpack


уязвимый бандл после сборки:

build/oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js


3) минимальный уязвимый сервер poc-server.js

кладём файл CVE-2025-55182_vuln_server.js в корень репо react:

https://gist.github.com/ghe770mvp/ebd40f33ec4ed080e603fda3ec20734e

4) стартуем уязвимый сервер

в коде я использую упрощённый сервер: напрямую подключаю react-server-dom-webpack, руками собираю serverManifest с нужным гаджетом (vm.runInThisContext) и показываю, что одним HTTP-запросом через decodeAction можно выполнить произвольный код.
это минимальный пример на уровне библиотеки. в реальных фреймворках манифест генерируется автоматически и содержит ваши use server функции, там надо дальше искать реальные гаджеты и смотреть, что именно доступно через manifest.

node --conditions react-server --conditions webpack CVE-2025-55182_vuln_server.js


видим:

vuln server on http://localhost:3002

5) стреляем уже готовым эксплойтом

🔫🤬🔫

node exploit-rce-v4.js


ожидаемый вывод (пример для windows):

Test 2: vm.runInThisContext with require
RCE attempt: {"success":true,"result":"<computer_name>\\<user>\r\n"}


это прямой результат child_process.execSync("whoami"), выполненный через decodeAction из уязвимого бандла 19.2.0.

почему это НЕ «заведомо дырявый сервер»

- версия: четкий git checkout v19.2.0, без правок исходников и без патчей;

- бандл: берём как есть из build/oss-stable/...react-server-dom-webpack-server.node.development.js, собранный yarn build react-server-dom-webpack;

- манифест: даём vm.runInThisContext, и при отсутствии hasOwnProperty-проверки payload через $ACTION_* проламывает код.


итог простой:
react rsc rce — это не теоретическая страшилка, а реальный шелл на хосте из POST запроса.


хочешь спорить — сначала повтори шаги, потом уже пиши свое «экспертное» мнение. будет мне уроком тоже :)

👾
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Angry Beard
Забавный факт - почему vite использует порт 5173 It’s actually VITE written strategically: V → 5 (Roman numeral) I → 1 (Roman numeral) T → 7 E → 3 Put it together and you get 5173.
#javanoscript Вышла бета-версия vite 8.

Ключевые изменения
- Переход с Rollup на Rolldown (Rust).
- Унификация стека: Vite (dev) + Rolldown (build) + Oxc (анализ/трансформация).
- Улучшенная TS-поддержка: paths, emitDecoratorMetadata.
- Более быстрые HMR и дев-сервер за счёт оптимизаций в графе модулей и Rust-инструментах.
Поучительная история о взломе next.js-приложения, запущенного в докере, работающим под root-ом. Мамкин хацкер собрал ботнет из 415 машин, который маскировался под nginx, убивал конкурирующие майнеры и выгружал результаты в c3pool. И что самое интересное - доход от всего этого кипиша составил для него $4.26/день.
👍1
Forwarded from AI for Devs
⚡️ Linux Foundation запускает Agentic AI Foundation

Под крыло фонда сразу передали MCP (Anthropic), goose (Block) и AGENTS.md (OpenAI), то есть весь тот стек, который за год стал основой современного агентного подхода.

Смысл AAIF в наведении порядка: агентные системы уже инфраструктура, а инфраструктура требует открытых протоколов, понятной модели управления и отсутствия единоличного влияния.

Например, до сих пор всё держалось на «OpenAI API» как де-факто интерфейса для работы с моделями. Многим может напомнить историю Oracle с JavaScript, когда критическая технология оказывается под контролем одного игрока. AAIF – это попытка избежать ровно этого.

Что уже попало под крыло AAIF:

MCP: более 10 000 серверов, поддержка в Claude, Copilot, Gemini, Cursor, ChatGPT и десятках инструментов.
goose: локально-ориентированный фреймворк для воспроизводимых агентных пайплайнов с нативной MCP-интеграцией.
AGENTS.md: минимальный markdown-стандарт, уже внедренный в 60 000+ OSS-репозиториев и почти все агентные фреймворки.

Отдельно интересный момент: все восемь мест Platinum-уровня уже заняты — AWS, Google, Microsoft, Anthropic, OpenAI, Block, Bloomberg и Cloudflare. Платиновый статус дает полный контроль над стратегией и бюджетом фонда, включая право голоса по ключевым вопросам.

@ai_for_devs
👍1
😁4
Разблокировка устройства с помощью распознавания лица или отпечатка пальца позволяет не сохранять фото пользователя или изображение отпечатка, а создавать специальный математический шаблон, который хранится в зашифрованном виде


А теперь, не переходя по ссылке попробуйте угадать, кто автор этого заявления: о котором написали РИА Новости. 9to5mac? Appleinsider? Wylsacom? Да не - не может быть, чтобы Эльдар Муртазин! Ладно - это управление по организации борьбы с противоправным использованием информационно-коммуникационных технологий МВД РФ. Есть идеи почему вдруг такая лояльность к биометрии? 🧐
Please open Telegram to view this post
VIEW IN TELEGRAM
#никогдатакогонебылоивотопять Вы наверно в курсе, что в в адрес РКН и Минцифры был подан иск о блокировках WhatsApp и Telegram. Один из со-авторов этого иска Константин Ларионов опубликовал инструкцию как присоединиться к этому иску.
Заявление_о_присоединении_к_иску_РКН_и_Минцифры_образец.docx
22 KB
Подготовили инструкцию, как присоединиться к иску против РКН и Минцифры:

➡️ Этап 1:

Для присоединения к иску потребуются 2 документа в формате pdf:

🔵 Заявление о присоединении к требованиям;
🔵 Подтверждение отправки копии заявления участникам дела.

(Так же можно сделать скан заявления без распечатки документов)

➡️ Этап 1.2:

Направление копии заявления ответчикам:

🔵 Самый простой способ направить копию заявления ответчикам — по электронной почте: rsoc_in@rkn.gov.ru, office@digital.gov.ru (на каждый из адресов эл. почты)
🔵Тема письма:
Заявление о присоединении к коллективному иску по делу № 02а-0857/2025 (Таганский районный суд г. Москвы)

🔵 Сопроводительное письмо свободного содержания, например:
Добрый день!

Направляю копию заявления о присоединении к коллективному иску по делу № 02а-0857/2025, рассматриваемому Таганским районным судом г. Москвы.
Прошу подтвердить получение письма.

С уважением,
Иванов В.В.

🔵 После отправки письмо нужно сохранить в pdf
(распечатать (ctrl+P) > сохранить как pdf.

(Также можно отправить копию заявления обычной почтой (заказным письмом), и тогда подтверждением отправки будет скан чеков об отправке)


➡️ Этап 2:

Подача документов в суд в электронной форме:

🔵 Перед подачей у вас должно быть готово 2 файла в формате PDF:
- Заявление о присоединении к иску;
- Подтверждение отправки копии заявления.
🔵 Зайдите на сайт Таганского районного суда:
https://mos-gorsud.ru/rs/taganskij
🔵 Авторизуйтесь в личном кабинете через Госуслуги.
🔵 После авторизации в меню личного кабинета выберите раздел «Подача процессуальных документов в электронном виде», далее выберете «Подать документ».
🔵 В открывшейся форме выбирайте Таганский районный суд, административное производство, личное обращение.
🔵 Поставьте галочку в поле про СМС-уведомления
🔵 Далее выберите «Подача документа по существующему делу», тип документа – ходатайство (заявление), номер дела 02а-0857/2025.
🔵 В первом поле загрузите скан заявления о присоединении в формате pdf, укажите количество страниц.
🔵 В разделе «Приложения к заявлению» прикрепите подтверждение отправки копии участникам дела, укажите количество страниц.
🔵 Квитанцию об оплате госпошлины прикладывать не нужно (она оплачена при подаче иска). Также не нужно ставить галочку об освобождении от оплаты.
🔵 После заполнения всех данных нажмите «Подать документ».

➡️ Этап 3

🔵После отправки документов пришлите письмо @konstantin_lar с указанием ФИО и даты подачи. Так мы сможем понимать, сколько человек присоединилось к иску.

📍 Подробная инструкция с картинками: ЗДЕСЬ
📍 Скачать заявление о присоединении к иску: ЗДЕСЬ
📍 Последняя версия иска: ЗДЕСЬ

Присоединяйтесь к иску против блокировок и цензуры.
Please open Telegram to view this post
VIEW IN TELEGRAM