Поддался модному тренду и добавил в kickstart ажно целых 3 шаблона для inertia_rails - svelte (моя прееелесть), react и vue. Ссылка всё та же - туточки. #ruby #rails
GitHub
GitHub - alec-c4/kickstart: Ruby on Rails application templates
Ruby on Rails application templates. Contribute to alec-c4/kickstart development by creating an account on GitHub.
❤2
Пу-пу-пу, в смысле вышел #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
И еще ряд изменений. В общем - ждём полноценного релиза, чтобы потестировать и (надеюсь) поразиться очередному приросту производительности и каким-нибудь ярким фичам
- Оператор *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
И еще ряд изменений. В общем - ждём полноценного релиза, чтобы потестировать и (надеюсь) поразиться очередному приросту производительности и каким-нибудь ярким фичам
www.ruby-lang.org
Ruby 4.0.0 preview2 Released
👍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.
Bun
Bun is joining Anthropic
Bun has been acquired by Anthropic. Anthropic is betting on Bun as the infrastructure powering Claude Code, Claude Agent SDK, and future AI coding products & tools.
Забавный факт - почему 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
Fizzy
Kanban as it should be. Not as it has been.
A refreshing take on cards, columns, and kanban.
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.
Сам баг находится в RSC-рантайме, который принимает данные и небезопасно десериализует их. Запатчиться сейчас почти никто не успел, а уязвимость можно считать одной из самых критичных, которые находили в React за все время.
В официальном блоге 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 за все время.
react.dev
Critical Security Vulnerability in React Server Components – React
The library for web and native user interfaces
Forwarded from AD_POHEQUE
React RCE: пруф с нуля, без «заведомо уязвимых серверов»
какой-то ясновидящий в комментах заявил, что poc крутится «на специально дырявом сервере» и вообще «это не по-настоящему».
я пошёл, потратил два часа, собрал всё с чистого react — и вот результат:
rce воспроизводится на react 19.2.0, без патчей и плясок с бубном.
ниже полностью воспроизводимый сценарий.
1) клонируем и фиксируемся на уязвимой версии
2) ставим зависимости и собираем react-server-dom-webpack
уязвимый бандл после сборки:
3) минимальный уязвимый сервер
кладём файл
https://gist.github.com/ghe770mvp/ebd40f33ec4ed080e603fda3ec20734e
4) стартуем уязвимый сервер
видим:
5) стреляем уже готовым эксплойтом
🔫 🤬 🔫
ожидаемый вывод (пример для windows):
это прямой результат
почему это НЕ «заведомо дырявый сервер»
- версия: четкий
- бандл: берём как есть из
- манифест: даём
итог простой:
react rsc rce — это не теоретическая страшилка, а реальный шелл на хосте из POST запроса.
хочешь спорить — сначала повтори шаги, потом уже пиши свое «экспертное» мнение. будет мне уроком тоже :)
👾
какой-то ясновидящий в комментах заявил, что 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-поддержка:
- Более быстрые HMR и дев-сервер за счёт оптимизаций в графе модулей и Rust-инструментах.
Ключевые изменения
- Переход с Rollup на Rolldown (Rust).
- Унификация стека: Vite (dev) + Rolldown (build) + Oxc (анализ/трансформация).
- Улучшенная TS-поддержка:
paths, emitDecoratorMetadata.- Более быстрые HMR и дев-сервер за счёт оптимизаций в графе модулей и Rust-инструментах.
vitejs
Vite 8 Beta: The Rolldown-powered Vite
Vite 8 Beta Release Announcement
Поучительная история о взломе 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
Под крыло фонда сразу передали 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
Разблокировка устройства с помощью распознавания лица или отпечатка пальца позволяет не сохранять фото пользователя или изображение отпечатка, а создавать специальный математический шаблон, который хранится в зашифрованном виде
А теперь, не переходя по ссылке попробуйте угадать, кто автор этого заявления: о котором написали РИА Новости. 9to5mac? Appleinsider? Wylsacom? Да не - не может быть, чтобы Эльдар Муртазин! Ладно - это
Please open Telegram to view this post
VIEW IN TELEGRAM
#никогдатакогонебылоивотопять "Важные истории" опубликовали рассказ о том, как происходила разработка и взлом реестра воинского учета.
Googleapis
«Тематика проекта — грязь»
Что мы узнали о реестре воинского учета благодаря хакерскому взлому ключевого разработчика системы. Расследование «Важных историй»
#никогдатакогонебылоивотопять Вы наверно в курсе, что в в адрес РКН и Минцифры был подан иск о блокировках WhatsApp и Telegram. Один из со-авторов этого иска Константин Ларионов опубликовал инструкцию как присоединиться к этому иску.
Forwarded from Константин Ларионов
Заявление_о_присоединении_к_иску_РКН_и_Минцифры_образец.docx
22 KB
Подготовили инструкцию, как присоединиться к иску против РКН и Минцифры:
➡️ Этап 1:
Для присоединения к иску потребуются 2 документа в формате pdf:
🔵 Заявление о присоединении к требованиям;
🔵 Подтверждение отправки копии заявления участникам дела.
(Так же можно сделать скан заявления без распечатки документов)
➡️ Этап 1.2:
Направление копии заявления ответчикам:
🔵 Самый простой способ направить копию заявления ответчикам — по электронной почте: rsoc_in@rkn.gov.ru, office@digital.gov.ru (на каждый из адресов эл. почты)
🔵 Тема письма:
🔵 Сопроводительное письмо свободного содержания, например:
🔵 После отправки письмо нужно сохранить в pdf
(распечатать (ctrl+P) > сохранить как pdf.
(Также можно отправить копию заявления обычной почтой (заказным письмом), и тогда подтверждением отправки будет скан чеков об отправке)
➡️ Этап 2:
Подача документов в суд в электронной форме:
🔵 Перед подачей у вас должно быть готово 2 файла в формате PDF:
- Заявление о присоединении к иску;
- Подтверждение отправки копии заявления.
🔵 Зайдите на сайт Таганского районного суда:
https://mos-gorsud.ru/rs/taganskij
🔵 Авторизуйтесь в личном кабинете через Госуслуги.
🔵 После авторизации в меню личного кабинета выберите раздел «Подача процессуальных документов в электронном виде», далее выберете «Подать документ».
🔵 В открывшейся форме выбирайте Таганский районный суд, административное производство, личное обращение.
🔵 Поставьте галочку в поле про СМС-уведомления
🔵 Далее выберите «Подача документа по существующему делу», тип документа – ходатайство (заявление), номер дела 02а-0857/2025.
🔵 В первом поле загрузите скан заявления о присоединении в формате pdf, укажите количество страниц.
🔵 В разделе «Приложения к заявлению» прикрепите подтверждение отправки копии участникам дела, укажите количество страниц.
🔵 Квитанцию об оплате госпошлины прикладывать не нужно (она оплачена при подаче иска). Также не нужно ставить галочку об освобождении от оплаты.
🔵 После заполнения всех данных нажмите «Подать документ».
➡️ Этап 3
🔵 После отправки документов пришлите письмо @konstantin_lar с указанием ФИО и даты подачи. Так мы сможем понимать, сколько человек присоединилось к иску.
📍 Подробная инструкция с картинками: ЗДЕСЬ
📍 Скачать заявление о присоединении к иску: ЗДЕСЬ
📍 Последняя версия иска: ЗДЕСЬ
Присоединяйтесь к иску против блокировок и цензуры.
Для присоединения к иску потребуются 2 документа в формате pdf:
(Так же можно сделать скан заявления без распечатки документов)
Направление копии заявления ответчикам:
Заявление о присоединении к коллективному иску по делу № 02а-0857/2025 (Таганский районный суд г. Москвы)
Добрый день!
Направляю копию заявления о присоединении к коллективному иску по делу № 02а-0857/2025, рассматриваемому Таганским районным судом г. Москвы.
Прошу подтвердить получение письма.
С уважением,
Иванов В.В.
(распечатать (ctrl+P) > сохранить как pdf.
(Также можно отправить копию заявления обычной почтой (заказным письмом), и тогда подтверждением отправки будет скан чеков об отправке)
Подача документов в суд в электронной форме:
- Заявление о присоединении к иску;
- Подтверждение отправки копии заявления.
https://mos-gorsud.ru/rs/taganskij
📍 Подробная инструкция с картинками: ЗДЕСЬ
📍 Скачать заявление о присоединении к иску: ЗДЕСЬ
📍 Последняя версия иска: ЗДЕСЬ
Присоединяйтесь к иску против блокировок и цензуры.
Please open Telegram to view this post
VIEW IN TELEGRAM