Claude сделал три PR вместо контрибьютора, мейнтейнер закрыл их, заподозрив накрутку профиля на GitHub

Мейнтейнер одного открытого проекта описывает, как за последний год изменился характер внешних контрибьюций. Вместо тикета почти всегда сразу приходит PR; если тикет всё же открывают, к нему часто прилагают анализ, написанный ИИ. Резко выросло и число заявок об уязвимостях, вместе с ними теперь нередко присылают и сгенерированный ИИ вариант исправления.

Часть таких контрибьюций, по его словам, наверняка от людей, которым проект правда интересен. Но он признаёт и свою «циничную» догадку, не выдавая её за факт: значительная доля правок делается ради накрутки видимых сигналов, которые GitHub показывает всем, аватара контрибьютора на странице репозитория, запись в ленте активности у подписчиков, квадратики на графике коммитов профиля. Именно на эти сигналы, по его наблюдению, часто смотрят рекрутеры и нанимающие менеджеры. Автор отмечает: сегодня достаточно попросить Claude составить список интересных опенсорс-проектов, найти в них проблемы и открыть PR с исправлением, не пользуясь проектом и не интересуясь им ни секунды, но создавая для стороннего наблюдателя иллюзию, будто контрибьютор во всё это вложился.

Дальше, конкретный случай. К автору пришёл контрибьютор, у которого не было почти никакой активности на GitHub с конца 2018 года и вплоть до пары недель до публикации поста, и который раньше никак не пересекался с проектом. Он открыл три отдельных PR с исправлением опечаток и грамматики в комментариях кода. По словам мейнтейнера, все правки сделал Claude: похоже, ИИ же написал описания PR, подписал коммиты от имени пользователя и вдобавок вписал себя в соавторы в служебной строке коммита (Co-Authored-By). Сам автор не уверен, открыл ли PR ИИ или человек, и какой именно запрос привёл к тому, что Claude сосредоточился именно на опечатках.

Правки были безобидными и технически верными, но мейнтейнер всё равно не почувствовал облегчения от их приёма: он задался вопросом, почему именно это и почему именно сейчас, при том что в кодовой базе полно реальных тикетов и TODO, и в итоге решил, что дело не в самом проекте. Все три PR он закрыл без единого комментария. Причину объясняет так: он не хочет поощрять подобную «работу ради галочки», не хочет создавать прецедент, когда принимаются PR, которые по сути ничего не меняют, и не хочет, чтобы список контрибьюторов превращался в награду за то, что кто-то попросил бота поправить опечатку.

Та же картина, по его словам, с отчётами об уязвимостях. Традиционно CVE засчитывают тому, кто их нашёл и сообщил, но, как пишет автор, вообще все отчёты об уязвимостях, полученные проектом в последнее время, явно сгенерированы ИИ. Из-за этого проект стал куда строже оценивать серьёзность находок, а в части случаев вовсе не выпускает CVE-уведомление для проблем низкой критичности. Отдельно, как тему, к которой он может вернуться в другой раз, он упоминает, что приватное раскрытие уязвимостей, по его ощущению, «и так умирает»: слишком много усилий уходит на координацию приватных фиксов, уведомлений и релизов.

Вывод автора: опенсорс держится на доверии, и важно не то, сколько PR получится выпросить у LLM и сколько CVE накопить, а то, стал ли проект от этого по-настоящему лучше. Финальный призыв поста, контрибьютить, потому что вам правда есть дело до проекта; если нужен только ещё один зелёный квадратик или бейдж контрибьютора, идите куда-нибудь ещё.

Ключевые факты

  • За последний год характер контрибьюций в проекте изменился: вместо тикета почти сразу приходит PR, а сами тикеты часто прилагают ИИ-анализ; резко выросло и число заявок об уязвимостях, нередко вместе с ИИ-версией фикса.
  • Мейнтейнер называет циничной, но не доказанной догадкой: часть контрибьюторов гоняет ИИ ради накрутки видимых на GitHub сигналов, аватара, ленты активности, графика коммитов, на которые смотрят рекрутеры.
  • Контрибьютор без активности на GitHub с конца 2018 года открыл три PR с исправлением опечаток в комментариях кода; по словам автора, все правки, описания и подпись коммитов сделал Claude, который вписал в соавторы и сам себя.
  • Правки были безобидны и верны, но мейнтейнер закрыл все три PR без комментариев, решил, что дело не в улучшении проекта, а в строчке для резюме, и не хочет поощрять такую «работу ради галочки».
  • По словам автора, все недавние отчёты об уязвимостях явно сгенерированы ИИ; проект стал строже оценивать их серьёзность и в части случаев не выпускает CVE для проблем низкой критичности.

Почему это важно

История показывает не единичный курьёз, а трение, которое ИИ-инструменты создают в самой механике опенсорса. Контрибьюции годами были эвристикой доверия: PR и коммиты в профиле читались как сигнал, что человек реально что-то делает и разбирается в коде. Когда PR, описание и коммит может за минуты собрать ИИ-агент по цепочке «найди проект → найди проблему → открой PR», эта эвристика перестаёт быть надёжной, а мейнтейнерам приходится тратить время на ревью контрибьюций, которые по факту никому не помогают.

Кому это важно

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

Как это применить

Мейнтейнерам практический вывод, не судить контрибьютора по самому факту использования ИИ (правки были и правда безобидны и верны), а смотреть на контекст: давно ли аккаунт неактивен, соразмерен ли PR масштабу проблемы, есть ли за контрибьютором история интереса к проекту. Заявки об уязвимостях автор советует разбирать так же жёстче, по серьёзности находки, а не по факту подачи. Рекрутерам и HR стоит перестать читать голый счётчик PR или квадратики на графике GitHub как самостоятельное доказательство квалификации: кейс из поста прямо показывает, как этот сигнал подделывается без единой строчки, написанной человеком.

Можно ли доверять

Это личный пост мейнтейнера в его блоге, не расследование и не статья с редактурой: автор, его проект и контрибьютор из истории в тексте не названы, точных дат, номеров PR или CVE тоже нет, только качественные оценки вроде «намного больше» и «почти все». Часть выводов автор прямо подаёт как личную, не доказанную догадку («циничная часть меня считает»), а по поводу конкретного случая сам признаёт неопределённость, не уверен, кто именно открыл PR, ИИ или контрибьютор. Материал стоит читать как достоверное личное свидетельство одного мейнтейнера о своём проекте, а не как измеренную статистику по всей экосистеме опенсорса.

Риски и подводные камни

Обратная сторона, риск ложных срабатываний: если мейнтейнеры проектов начнут закрывать любой PR, сделанный с помощью ИИ, под раздачу попадут и настоящие новички, которые просто используют Claude как редактор или переводчика для первого вклада, а именно таких людей опенсорсу и не хватает. Массовое недоверие к заявкам об уязвимостях по тому же принципу рискует привести к тому, что реальные находки будут отклонять или задерживать вместе с фейковыми. И как отдельный побочный эффект, если мейнтейнеры проектов повсеместно ужесточат приёмку, порог входа вырастет для всех новых контрибьюторов, а не только для тех, кто действительно охотится за строчкой в резюме.

«Важно не то, сколько PR можно выпросить у LLM или сколько CVE накопить, а то, стал ли проект от этого по-настоящему лучше.»

— мейнтейнер опенсорс-проекта, автор поста