Angry Beard – Telegram
Angry Beard
273 subscribers
167 photos
12 videos
13 files
672 links
Bearded guy about the startups, tech and product development - https://alec-c4.com
Download Telegram
Вчерась Надысь наговнокодил в рамках тестирования Claude Code Skills сделал скиллы для rails-разработки. Поэтому если у кого есть желание потестировать и макнуть этого рукожопого мордой в его говнокод дать обратную связь - буду очень признателен 🙂
👍3
#rails #ruby #AI Если вы активно используете Claude Code для разработки rails-приложений, то вот эта тулза вам поможет немного экономить на токенах, обещают, что по сравнению с дефолтными страницами ошибок более чем 13-кратная экономия токенов
#apple #swift #android #mobile Несмотря на то, что сейчас новость о том, что Apple выпустила Swift Android SDK звучит из каждого утюга, подобные эксперименты проводились уже достаточно давно. Например вот ветка на формуме swift, где можно найти упоминания некоторых проектов на эту тему, но я помню и более ранние эксперименты, чуть ли не 10-летней давности (но скорее всего сейчас я их уже не найду). И хотя рано предрекать скорейшую гибель flutter, react native, kotlin native и их аналогов - инициатива действительно интересная.
👏2
#ruby #rails Несмотря на то, что я предпочитаю использовать shrine, вот этот гем зайдет тем, кто использует ActiveStorage. В двух словах - это mountable rails engine, которая представляет собой дашборд для всех загружаемых файлов.
👍4
#postgres #devops #db Уащпе красота! Postgresus - тулза для бэкапа БД и как понятно из названия, она заточена под PostgreSQL. Open Source, куча всяких опция для бекапа - всё, что мы любим
#AI ИНтересную задачу решают авторы этого проекта - оптимизация использования токенов в LLM посредством перехода от JSON на свой формат. Выглядит достаточно перспективно, например вместо


{
"users": [
{ "id": 1, "name": "Alice", "role": "admin" },
{ "id": 2, "name": "Bob", "role": "user" }
]
}


предполагается более компактная запись типа


users[2]{id,name,role}:
1,Alice,admin
2,Bob,user
😁2
Неожиданно Flowbite впустили версию 4.x (на момент написания 4.0.1) своего UI Kit. Что нового
- сделали 5 тем, которые можно применить сразу из коробки (modern, minimal, playful, enterprise, mono)
- все цвета стали переменными в css (как завещал Adam Рамзанович Wathan, автор TailwindCSS)
- оптимизировали код, сделали его компактнее в 2 раза, перенеся dark mode в css variables
- насыпали новых компонентов - cards, checkboxes и так далее
- улучшили документацию (не заметил, если честно, но ок)

В общем - надо пробовать и писать Zoltan, если найдём косяки 🙂
Поддался модному тренду и добавил в 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-инструментах.