Типичный программист
✔
78K subscribers
3.83K photos
1.16K videos
14 files
8.49K links
Всё самое интересное по программированию

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

VK: vk.com/tproger

Регистрация в перечне РКН: https://tprg.ru/mJwo
Download Telegram
Человек опубликовал 55 уязвимостей за несколько дней. 54 из них не существовало

CVE-2025-6613 выглядел безупречно: критическое переполнение буфера в парсинге JSON в SQLite, внятное техническое описание, высокий CVSS. Заявка прошла первичную проверку и получила критический балл. Когда исследователи JFrog открыли исходники, выяснилось, что уязвимой функции в коде нет вообще, а описанный путь выполнения выдуман от начала до конца.

Дальше JFrog проверил остальные advisory того же GitHub-аккаунта. Из 55 штук 54 оказались полностью сфабрикованными. В единственном оставшемся был настоящий баг, обёрнутый в непроверенные метаданные.

Дыру видно невооружённым глазом: публичная форма MITRE не проверяет личность отправителя, то есть предложить описание уязвимости и свой CVSS может кто угодно. Страховкой раньше работал NIST, но в феврале 2024 года он под завалом заявок фактически поставил глубокий анализ на паузу. Для фона — цифры VulnCheck за первое полугодие: из 1061 уязвимости, найденной «с помощью ИИ», эксплуатация в дикой природе подтверждена ровно у 14. Это 1,3%.

Практический вывод для тех, кто живёт со сканером зависимостей. Критический CVSS больше не повод бросать спринт и патчить баг. Возможно, что и бага-то никакого нет. Прежде чем эскалировать, потратьте пять минут: посмотрите, есть ли в описании ссылка на конкретный коммит или issue, откройте названную функцию в исходниках и проверьте, что она вообще существует, и загляните в трекер проекта — мейнтейнеры фейковые CVE обычно комментируют раньше, чем их успевают отозвать из NVD. У SQLite для этого даже отдельная страница со списком приписанных ему уязвимостей.

https://research.jfrog.com/post/sqlite-critical-cves-or-llm-slops/

#новости #безопасность
😁31❤11👍9🔥8👏7⚡5🥰2😱2😭2😈1😴1
Один issue на GitHub и ИИ-агент работает на атакующего

На Black Hat USA показали, что публичный issue от постороннего человека без единого права на репозиторий разворачивает кодового агента против кода, который он должен чинить. Проверяли не экзотические сборки, а конфигурации, которые вендоры поставляют по умолчанию.

У Claude Code инъекция через текст issue довела до выполнения кода на раннере, чтения произвольных файлов и кражи ключей GitHub и Anthropic. У Gemini CLI нашли command injection в лаунчере контейнера через подложенный .gemini/.env: код выполняется на хосте ещё до старта песочницы. У Codex два прохода в одной джобе делили один checkout, и первый успевал переписать AGENTS.md — файл, который второй проход загружает как собственные инструкции.

Все три уже пропатчены, но чинить нужно не только версию. Паттерн один на всех: недоверенный текст — заголовок issue, комментарий, тело PR — попадает в промпт агенту, у которого в переменных окружения лежат секреты, а в руках есть shell.

Что делать прямо сейчас: в джобах, где агент читает контент от посторонних, оставить токен только на чтение и вынести всё, что требует записи, в отдельный workflow с ручным подтверждением. Агент должен уметь предложить патч, но не запушить его.

https://novee.security/blog/critical-flaws-in-anthropic-google-and-openais-coding-agents/

#безопасность #ии
❤23🔥10🤝7🆒5🤩4🥰3🤨3😍2🍌2🤔1💘1
«Если вы пришли воровать мои данные — начните отсюда»

Так начинается отчёт человека, который год воевал со скраперами и в итоге выложил все свои правила фаервола целиком. Сайт у него на 1,5 млн страниц, аналитика показывала уютные 6 тысяч просмотров в неделю. Сервер за ту же неделю отдал 1,28 миллиона страниц.

Разбираясь, кто это всё читает, он нашёл метрику, которая экономит все дальнейшие споры: сколько страниц краулер прочитал на одного приведённого посетителя. Google свои визиты отрабатывает. У поискового бота Claude соотношение оказалось 35 000 к 1 — 420 680 страниц за неделю и 12 живых человек. Он его заблокировал, и бот послушно ушёл с 60 тысяч запросов в день до 25 попыток: вежливые краулеры действительно уважают 403.

Дальше выяснилось главное: ботов бесполезно ловить по поведению, надо сортировать по происхождению. Люди не ходят на сайт из дата-центра AWS и не сидят в Chrome 118 из 2023 года, вмороженном в чей-то скрейпинг-тулкит. Два таких правила выкосили больше, чем год возни с капчей — её, кстати, решают 0,24% ботов, остальные даже не пробуют.

Но хуже другое: год он не видел собственную аудиторию — реальные читатели просто утонули в шуме, и он не понимал, что писать дальше.

Загляните в логи, если давно не заглядывали. Сколько у вас там ботов на одного человека?

#веб
🤔25❤12👍10🔥6😁5🤝4✍2🌭2💊2😢1🍓1
Агент просит разрешить npm run analyze. Вы разрешите?

Две трети разработчиков разрешают — и это самая пропускаемая атака из всех. Такие цифры дала игра, где вы под таймером одобряете или запрещаете команды ИИ-агента: 40 тысяч прогонов, 409 тысяч решений.

Закономерность вышла пугающая. Чем страшнее команда выглядит, тем надёжнее её ловят: rm -rf / пропускают 11,7% игроков. А вот cat ~/.aws/credentials, то есть кражу ваших ключей, — уже 35%.

С npm run analyze ещё веселее: в логе прямо над кнопкой было видно, что скрипт в package.json отправляет вывод на чужой сервер. 64,7% одобрили не глядя.

И вот тут вся модель подтверждения рассыпается. Разрешая npm run build, вы разрешаете произвольную shell-команду из package.json — файла, который агент правит вообще без спроса. Вас спрашивают про строку, а опасность лежит в файлах, которые вы не открывали. Обратная сторона не лучше: безобидные команды вроде rm -rf dist/ запрещали почти в половине случаев. От этого шума бдительность и садится — 7% игроков в итоге жали «разрешить» вообще на всё.

Вывод простой и неприятный: ваш палец на кнопке — это не защита, а её отсутствие. Защита — это отдельный пользователь для агента, минимальные права, секреты вне его окружения и контейнер, из которого нечего унести.

Игра занимает минуту. Сыграйте и напишите в комментариях свой результат — средний по больнице 66,3%.



#ии #безопасность
2👍21🔥8❤5👏5🐳2💯2🎄2🌚1💔1👀1🤝1
Чему учиться взрослому профессионалу?

Свою работу трудно оценить со стороны. Каждый день смотришь на неё одинаково и не замечаешь того же, чего не замечал вчера. Тут выручают чужие модели: короткая формулировка переворачивает привычную картину, и становится понятно, чего не хватало.

Кажется, что хороший результат говорит сам за себя. Но код, о котором никто не узнал, карьеру не двигает. Кажется, что учится тот, кто проходит курс. А по-настоящему разбирается тот, кто объясняет материал другому.

В новом материале на Tproger собрали семь таких моделей. Они помогают увидеть свою работу как систему и понять, куда двигаться дальше.

https://tproger.ru/articles/kak-ponyat-chemu-uchitsya-vzroslomu-7-modelej-dlya-professionaln
👍11❤3🎉3👀3🏆2👌1😍1🍌1💅1💊1👾1
RustFS на Rust обгоняет MinIO в 2,3 раза

На GitHub стремительно набирает звёзды RustFS — открытое объектное хранилище с S3-совместимым API, написанное на Rust (уже за 30 тысяч звёзд).

Если верить замерам, то он в 2,3 раза быстрее MinIO на мелких объектах. Секрет — в сборщике мусора, которого у Rust нет. MinIO написан на Go, и его сборщик периодически замирает и останавливает потоки на несколько миллисекунд. Когда одна операция с крошечным файлом занимает сотни микросекунд, такая пауза успевает подвесить десятки запросов. RustFS этой платы не несёт: сборщика нет, пауз нет, и на потоке мелких операций разрыв копится в те самые разы.

Второй козырь — лицензия. MinIO распространяется под AGPL, которая пугает бизнес требованием открывать собственный код. RustFS отдаёт то же самое под Apache 2.0. API при этом остаётся S3-совместимым, так что привычные инструменты вроде Grafana, Kafka, ClickHouse и Prometheus работают без переделки, а с самим MinIO и с Ceph RustFS умеет мигрировать и сосуществовать.

Пощупать и свериться с бенчмарками можно в репозитории.

#rust #хранилища
👍30🔥15❤6🍓5💊3🎉2😢1🐳1💯1😐1🙉1
В ящике вашего стола лежит сервер, за который вы уже заплатили

Возьмём характеристики не очень старого смартфона: восемь ARM-ядер, 8 ГБ памяти, 128 ГБ флеша, свой модем и аккумулятор, работающий как ИБП без всякого ИБП. За VPS с такими параметрами вы бы платили ежемесячно, а этот уже оплачен и пылится. Особенно обидно сейчас, когда память подорожала и собирать мини-ПК под пет-проекты откровенно невыгодно.

Один разработчик решил пойти по пути осознанного потребления и приспособил свой Android-смартфон под серверные задачи.

В материале он рассказывает:

— как уговорил систему, вся суть которой в засыпании, не спать сутками;
— чем заменил systemd;
— как гоняет обычные Linux-образы без Docker.

Кстати, всё получилось. VPS отключён, а сервисы переехали на телефон.

Кто-нибудь уже пробовал так?

#devops #diy
1🔥25❤18👍10💯5🤯4🐳2😈2😘2🙏1👨‍💻1💅1
Last call для тех, кто давно тянет с запуском своего проекта

Онлайн-магистратура МФТИ+Сколково «Технологическое предпринимательство» закрывает приём заявлений 14 августа.

TL;DR: 2 года, полностью онлайн, 8–12 часов в неделю, реальный проект с ментором, диплом МФТИ гособразца. Средний возраст студентов — 34 года.

Посмотреть лендинг программы: https://tprg.ru/Id4i

Задать вопросы и записаться на бесплатный разбор вашего проекта: Юлия @BelousovaYV.
😁10❤5👍5👏5🤝5🎉3⚡1👎1🤔1🤪1😎1
Готовы отдать гигабайт оперативки за прогноз погоды?

Столько занимает встроенная «Погода» в Windows 11, а если полистать и позумить, аппетит доходит до 1,6 ГБ. На ноутбуке с 8 ГБ это пятая часть памяти за информацию о том, что завтра дождь.

Разгадка кроется в диспетчере задач: там висит пачка процессов Chromium. По факту «Погода» не нативное приложение, а веб-страница MSN, завёрнутая в WebView2.

Для сравнения, та же «Погода» на macOS укладывается в 250 МБ.

Загляните в диспетчер: внутри половины «лёгких» системных приложений сегодня обнаружится целый браузер. Видимо, такова цена экономии: один веб-код и на сайт, и в приложение.

#кек
😁50🙈7😢5🎉5💯3🤣3❤2🔥2🤯2🕊2🤨1
Наверное, в каждом втором резюме среди навыков есть «системное мышление». С ним не рождаются, ему учатся в процессе работы, с накоплением опыта. Оно помогает видеть картину целиком и структурировать всё, что вы делаете.

Сейчас у этого навыка появилось новое применение: с появлением ИИ-агентов умение поставить задачу и проверить результат стало ещё важнее. И ему можно научиться.
Какие ошибки часто совершают разработчики, стараясь мыслить системно, и что с этим можно сделать, читайте в статье: https://tproger.ru/articles/sistemnoe-mywlenie-dlya-razrabotchika-owibki-kotorye-vy-delaete
❤12🤝4🔥3👏3🌚2🗿2🥰1🐳1💯1🎄1💘1
Код никогда не был сложной частью

Этот тезис, который недавно назвали оскорблением профессии, звучит на каждой второй конференции. Мол, модели уже неплохо пишут код, куда сложнее понять, что именно писать.

С каждым днём с этим всё сложнее не согласиться. Посмотрите сами, сколько времени у вас сегодня уходит на набор кода, а сколько на выяснение, чего хочет бизнес, на согласования и на разбор чужих решений трёхлетней давности?

Похоже, дальше будет только хуже. Неужели та часть работы, где руки на клавиатуре, будет и дальше дешеветь, а ценность переедет в постановку задачи, продумывание ТЗ для агентов и проверку результата?

Если считаете, что это чушь, приглашаю вас в комментарии.

#обсуждение
💊19👍12❤4👏4💯2😐2🔥1🤔1🙏1🆒1😘1
Хомяку дали Strava Premium, и он закрыл августовский челлендж на второй день

Физик из Утрехта хотел узнать, сколько наматывает за ночь его хомяк Молли, и начал с дешёвого велокомпьютера: там тоже магнит и датчик. Не сработало: велокомпьютер уходил в спящий режим, если колесо стояло дольше пяти минут, а Молли регулярно отлучается попить.

Итоговая сборка проще, чем кажется. Магнит на колесе проходит мимо датчика Холла, тот считает обороты, ESP32 копит данные за ночь. Утром скрипт на ноутбуке собирает их в файл формата Strava и заливает через её API. Сверху навесили экранчик со скоростью в реальном времени, автоматический учёт рекордов и больше сотни вариантов названий забега.

Результаты: почти 10 километров за ночь, рекорд 10,8 километра, старт пять ночей из семи в одно и то же десятиминутное окно. Автоматическая загрузка потребовала платного тарифа, поэтому Premium у хомяка теперь тоже есть.

Автор сам бегает и ждёт двадцатой пробежки Молли: после неё Strava начнёт прогнозировать время на 5 километров и марафон. Говорит, что немного опасается сравнения.

#новости #кек
😁57❤12🔥4☃2👍2🙏2🍓2⚡1🕊1🐳1💯1
Почему хорошие идеи так и остаются в заметках?

«Инициатива наказуема» — знакомое выражение? Промолчал, ничего не сделал: не накажут. Предложил и ошибся: накажут почти наверняка.

Например, некоторые компании переняли у Toyota контроль качества, только наоборот. У японцев за найденный брак поощряли, а в других компаниях стали наказывать. Так и пропадает желание что-то предлагать.

В новом материале на Tproger разбираем три ловушки, которые убивают инициативу внутри компании.

https://tproger.ru/articles/chto-mewaet-zapustit-novye-produkty-vnutri-kompanii
❤9🎉7🔥6🕊2😍2💯2🤣2🙏1🤓1👨‍💻1👾1
GPU необязательно покупать — его можно арендовать

Топовая карта стоит как подержанная машина, а без неё модели от 70B не запустить. При этом мощность часто нужна не постоянно: протестировать гипотезу или закрыть пик нагрузки можно арендованными ресурсами.

Собрали 6 сервисов аренды GPU для инференса моделей: облака с посекундной тарификацией и managed-платформы с оплатой за токены. Разобрались, какие видеокарты доступны, сравнили по ключевым показателям и тарифам.

Пригодится всем, кто хочет потестировать модель, но пока не готов вложиться в железо.

https://tproger.ru/digest/gde-arendovat-gpu-dlya-inferensa-modelej-5-servisov
❤11🐳4😢3👍2🔥1🤔1🕊1🌚1💯1👨‍💻1💊1