Обновить
256K+

GitHub *

Веб-сервис для хостинга и разработки IT-проектов

102,06
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

AGENTS.md создавали, чтобы помогать агентам. Я использую его, чтобы их вычислять

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6.8K

Вместе с растущей AI-индустрией приходят и её побочки. Я мейнтейнер библиотеки react-native-tdlib и довольно быстро заметил: все больше PR выглядят как чистый вывод агента. Сначала я честно реагировал — писал в каждый такой PR вопросы: тестировали ли вы это, что именно меняет ваш код, зачем вот эта строчка. В какой-то момент понял, что трачу время на переписку с людьми, которые сами не знают, что написали.

Первая мысль была — написать большой README или CONTRIBUTING и прямым текстом сказать: «сгенерированный код не принимаю». Но тут же упёрся в вопрос: а как доказать, что код сгенерирован? Аргумент «чую, тут пахнет Claude Code» — так себе позиция для публичного спора в комментариях к PR.

Решение оказалось довольно простым — AGENTS.md. Он конечно не доказывает, что PR сгенерирован, но отлично ловит самые очевидные автоматические PR, где автор, кажется, вообще не участвовал в процессе.

Читать далее

Новости

Вредоносная атака на Laravel-Lang

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели14K

В четыре проекта Laravel-Lang был внедрён вредоносный код, предположительно, ворующий креды с устройств, на которых он запускался.

Под удар попали популярные проекты - Lang, Actions, Attributes и HTTP Statuses.

Инцидент касается не только Laravel...

Узнать подробности

«Где новые фичи?» — Как AI-миграция легаси вернет IT-бюджет бизнесу

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7K

Наверное, каждый, кто занимался эксплуатацией и развитием корпоративных систем, знает эту бесконечную претензию от бизнеса: «Мы столько тратим на IT – а результата ноль. Новых продуктов нет. Или они появляются мучительно медленно». И бизнес по-своему прав. Если из каждого рубля, потраченного на IT, менее 20 копеек уходит на то, что видит клиент – скорость появления новых продуктов будет именно такой, какая она есть - неудовлетворительной.

Читать далее

Поиск секрета популярности лучших репозиториев GitHub за всё время существования платформы

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.4K

GitHub — это не только крупнейший веб‑сервис для хостинга IT‑проектов и своего рода социальная сеть для программистов, а целая вселенная, образованная миллионами репозиториев, со своими звёздами, форками, пул‑реквестами… Наша студенческая команда Политеха решила заняться изучением этой вселенной. Начали мы с самого актуального вопроса: что делает один проект сверхпопулярным, а другой — пыльным архивом? Для решения этой задачи мы не просто собрали кучу метрик, а разработали полноценное приложение для загрузки, анализа и визуализации данных с предсказанием популярности.

Читать далее

GitHub блокируют, Bun переписали за 9 дней, и частный космодром в России

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели14K

14-й выпуск IT-новостей от OpenIDE!

Побывал на HolyJS в Москве, пообщался с фронтендерами и понял разницу в вайбе. Плюс — прогрев к блокировке GitHub, эксперимент Bun с переписыванием на Rust за 9 дней, и немного про частный российский космодром.

Читать далее

Взлом GitHub-репозиториев Grafana Labs: как атака на цепочку поставок npm привела к краже кодовой базы и вымогательству

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.6K

Часть I: Первопричина - атака Mini Shai-Hulud на экосистему TanStack

Цепочка поставок как вектор атаки

11 мая 2026 года, в промежутке с 19:20 до 19:26 UTC, произошло одно из наиболее технически изощрённых событий в истории атак на цепочку поставок npm. Группировка TeamPCP опубликовала 84 вредоносные версии пакетов в рамках 42 пакетов из пространства имён @tanstack/* - и всё это за шесть минут.

Кампания получила название Mini Shai-Hulud - отсылка к гигантским песчаным червям из вселенной «Дюны» Фрэнка Герберта. Это не первая волна активности TeamPCP: до этого они скомпрометировали сканер Trivy от Aqua Security в марте 2026-го и npm-пакет Bitwarden CLI в апреле 2026-го. Каждая следующая волна технически сложнее предыдущей.

Как работала атака: три уязвимости в одной цепочке

Атака объединила три уязвимости, каждая из которых по отдельности была бы недостаточна. Злоумышленник создал форк репозитория TanStack/router, открыл pull request, который запустил workflow с триггером pull_request_target, и отравил кэш GitHub Actions через границу доверия fork↔base. Когда легитимный workflow сработал, отравленный кэш был восстановлен, а вредоносный код извлёк OIDC-токен прямо из памяти процесса runner'а.

Ключевой момент: злоумышленники не крали статические npm-токены. Вместо этого они извлекали runtime OIDC-токены напрямую из памяти процесса runner'а, что позволило им аутентифицироваться легитимным образом через trusted publisher bindings и публиковать скомпрометированные обновления в npm-реестр.

Масштаб заражения

Читать далее

Настраиваем CI/CD в GitHub для Python-проекта с нуля

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели11K

Настройка CI/CD часто кажется новичкам чем-то сложным и доступным только DevOps-инженерам. На самом деле автоматизировать рутину Python-проекта можно всего за полчаса. В этой статье мы по шагам разберем, как с нуля настроить GitHub Actions для простого FastAPI-приложения: от автоматического запуска тестов и быстрого линтера Ruff до сборки Docker-образа и публикации его в Docker Hub.

Читать далее

Как я спас компьютеры миллионов юзеров Winget. История одного форка «Запрета»

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели14K

Недавно я обнаружил вредоносный форк Zapret — да-да, тот самый Zapret 2 GUI. А дальше вы можете почитать нажав «Узнать больше!»

Узнать больше!

GitPulse: как я перестал угадывать, что происходит в команде, и начал смотреть на данные

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6.6K

Меня зовут Игорь, я тимлид в e-commerce. Когда у меня появилась вторая команда, стало понятно, что вручную следить за двумя Jira, двумя GitLab и метриками одновременно — нереально. В итоге сделал инструмент, который собирает всё в одном месте

Читать

Настройка self-hosted gitlab runner (CI/CD)

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели12K

DevOps и безопасность — одни из немногих профессий, устойчивых к кризису. Если изучаете DevOps или прокачиваетесь в безопасности — этот цикл статей для вас.

Часть 2 серии об осмысленном CI/CD: настраиваем self-hosted GitLab Runner. Пройдем от docker-compose.yml до работающего runner, попутно разбирая ошибки permissions, SELinux context и особенности rootless Podman. Все то же самое актуально и для Docker.

Читать далее

Cпециальное предложение для разработчиков нейросетей:

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели7.6K

ПО для ПК дорого уже потому, что нужен ПК, да еще и с такой же дорогой видеокартой(ами). ПК проигрывает и в надежности, и в обслуживании, в тысячи раз проигрывает в работе без электропитания.

Спецлаб предоставляет разработчикам Non-PC-based устройство по цене оборудования с возможностью имплантации собственных нейронных сетей – поддерживается семейство ONNX.

FPGA продвинутого типа является универсальным устройством для большого круга задач. В нем есть место и распознаванию объектов, и контролю физических величин, и управлению устройствами, и промтовой логике, и архивам хранения, и аппаратным кодерам с декодерами в рамках разрешения 8К, и всем компьютерным интерфейсам.

В отличие от других, видеоблейзер имеет климатику с уровнем защищенности IP66, что делает его применимым в сложных погодных условиях.

Получить предложение...

Что именно сломалось: разбираем блокировки РКН/ТСПУ по слоям сетевого стека. Rkn Block Checker

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели26K

У вас не открывается сайт. Браузер пишет «Не удалось установить соединение». Это всё, что он знает — и это бесполезно.

Потому что «не открывается» - это как минимум четыре разных истории. DNS-резолвер провайдера соврал. ISP режет пакеты по IP. ТСПУ прочитал имя хоста в открытом поле TLS ClientHello и оборвал соединение. Или вы получили честный 200 OK - и страницу-заглушку «доступ ограничен по решению Роскомнадзора». В каждом случае нужно делать разное, и без понимания, на каком слое стоит фильтр, можно тыкаться в любую сторону и не угадать.

В статье разбираю все четыре механизма по слоям - снизу вверх, от DNS до HTTP - и показываю Python CLI, который запускает probes на каждом уровне и выдаёт диагноз: TCP_RESET, TLS_BLOCK, DNS_BLOCK, HTTP_STUB. Отдельно - про то, как «TCP открылся, а TLS handshake умер» становится надёжным отпечатком DPI на SNI, и почему параллельный стриминг результатов через as_completed радикально меняет UX по сравнению с pool.map().

Это диагностический инструмент, не средство обхода. Открытый код, MIT, pip install rkn-block-checker.

Читать далее

Троянский форк: от шалости до крита

Время на прочтение5 мин
Охват и читатели9.3K

Форк репозитория — операция настолько привычная, что на нее редко смотрят с подозрением. Но что, если через обычный форк можно запустить произвольный код на CI/CD-воркере чужой приватной компании? 

Именно такую цепочку мы обнаружили в GitFlic — отечественной платформе для совместной разработки ПО и хранения исходного кода от компании «РеСолют». 

GitFlic во многом похож на GitLab — что логично, ведь создавался как его альтернатива. И получилось у разработчиков сносно: если вы работали с GitLab, то GitFlic вызовет у вас приятное чувство дежавю.

В статье разберем не только саму уязвимость, но и покажем ход рассуждений: почему стоит смотреть на привычные операции с подозрением и как «незначительная» проблема с правами может вырасти в полноценную атаку на инфраструктуру.

Обнаруженные нами уязвимости были оперативно исправлены разработчиками компании «РеСолют» и зарегистрированы в БДУ ФСТЭК: BDU:2025-12462, BDU:2025-12463, BDU:2025-12464.

Читать далее

Ближайшие события

ИИ. ЦПУ против ГПУ — Данные и Выводы

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.5K

Для начала — просто гляньте на те фото и видео, которые я сгенерировал, вообще не прикасаясь к мышке или планшету. Конечно, до и после было проделано немало работы, но сам процесс создания цифрового арта не требовал ручного рисования. Так что скажем спасибо моим CPU и GPU — они реально тащили 💪

По ходу этого пути возникли интересные вопросы: когда вообще есть смысл использовать СPU, и как модели разного размера ведут себя при параллельных нагрузках? В целом, результаты получились довольно любопытными.

Жми чтоб узнать подробности!

Настройка GitLab CI/CD: понимаем принципы работы и запускаем первый pipeline

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели20K

Все русскоязычные гайды по GitLab CI/CD — это «сделай вот так под Node.js/Java/.NET». А как оно вообще работает? Написал подробный туториал: термины, схемы, разбор .gitlab-ci.yml, логи runner’а построчно. Первая часть из трёх — от простейшего pipeline до понимания, что конкретно вам нужно в вашем случае.

Читать далее

Оркестрация runner-ов на Nomad

Время на прочтение15 мин
Охват и читатели9.8K

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

Особенно остро это ощущалось на пайплайнах для сборки статики. Задачи требовали много ресурсов, выполнялись довольно долго, но основная нагрузка приходилась не столько процессор, сколько на дисковую подсистему (IOPS). В результате у нас возникали постоянные заторы при выполнении нескольких таких задач подряд.

Таким образом, вырисовывалась такая картина маслом: несколько разработчиков одновременно пушат свои сборки — кто-то новую версию плагина, кто-то страницу сайта — и все эти задачи, каждая минут на десять, устремляются в горстку общих runner-ов. Первый в очереди, конечно, чувствует себя прекрасно. Остальные же с тоской смотрят на статус pending ....

Читать далее

Я добавил на заблокированный экран macOS красивую обложку текущего трека с адаптивным задним фоном как на iPhone

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели14K

Продолжаю делать свое macOS приложение DynamicNotch. В последнем обновлении делал реализацию добавления обложки текущего воспроизведения на заблокированный экран.

Читать далее

Как я перестал терять скилы в Claude Code и превратил ~/.claude в Git-репозиторий

Время на прочтение6 мин
Охват и читатели13K

При работе с Claude Code я столкнулся с проблемой: по мере роста числа агентов стало сложно синхронизировать их правила между машинами и окружениями. Параллельно возник риск — потерять все наработки (скилы, команды, конфигурации) при смене аккаунта или среды.

Я решил считать ~/.claude/ обычным кодом и хранить его в Git.

Так появился claude-config-template — репозиторий, из которого ~/.claude/ собирается через симлинки. В нём лежат скилы, агенты, команды, хуки и MCP-конфигурации.

Это даёт:
- переносимую конфигурацию между машинами
- единый источник правды для всех агентов
- версионирование и откат через Git

Читать далее

Робот, способный создать себя сам. Режим «Инженера» в робототехнике

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели11K

Скажите роботу «настрой манипулятор» — и он напишет драйвер сам. Звучит как фантастика из тех самых фильмов 80-х и 90-х, но мы уже реализовали это в OpenGrall. Рассказываю, как работает режим Инженера и почему последнее слово всегда остаётся за человеком

Читать далее

Простой мониторинг Synology NAS с Grafana и Prometheus

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели14K

Всем привет! Храню 7 терабайт фото и видео у себя дома на Synology DS224+ с DSM 7.3+

Это сетевое хранилище поддерживает Docker. Я дополнительно установил плашку памяти и теперь у меня 18 ГБ ОЗУ.

Но суть в том, что ночами я слышу "булькание" и "шуршание" дисков, кстати диски красные, прямо созданные под сетевые хранилища: WD120EFBX-68B0EN0 две штуки по 12 ТБ с зеркалированием.

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

Выложил проект в репозиторий

Читать далее
1
23 ...