Разработка 4 мин чтения

Настоящие ли звёзды у open-source проекта: проверка до внедрения

GitHub ограничил список поставивших звёзды, а число звёзд по-прежнему влияет на выбор ПО. Разбираю утилиту starsift: что она делает, где ошибается и как проверить проект самому по чек-листу.

open sourceGitHubвыбор ПОаудит проекта
Коротко. starsift (github.com/intikhab49/starsift) это консольная утилита на Python под лицензией MIT, без сторонних зависимостей. Она берёт выборку аккаунтов, поставивших звезду репозиторию, и сравнивает их со случайными аккаунтами, активными в те же часы. Нужны Python 3.10 или новее и любой токен GitHub. Проект очень молодой: создан 14 октября 2026, два коммита, один автор, документация на английском, я его не запускал. Вывод утилиты служит уликой, доказательством он не является. Звёзды лишь один из признаков, остальные в чек-листе ниже.
Хотите внедрить это у себя?

Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.

Open-source решение под ключ с проверкой проекта

Звёзды как аргумент в споре

Вы выбираете систему, которую поставите на сервер заказчика. Кандидатов два, у одного звёзд в десять раз больше, и спор закрывается за пять минут. Звезда стоит одного клика. Поставить её может любой аккаунт, а счётчик не говорит, кто за ним стоит.

Завышенный счётчик бывает не только от накрутки. Проект мог попасть в одну громкую подборку и затихнуть через месяц. Поэтому я смотрю на набор признаков и число звёзд в одиночку не считаю. Так же я советую выбирать исполнителя, об этом есть чек-лист по выбору IT-подрядчика. А широкий список готовых решений собран в каталоге open-source.

Что именно скрыл GitHub

В записи changelog от 30 июня 2026 GitHub объявил, что эндпоинты /repos/{owner}/{repo}/stargazers и /repos/{owner}/{repo}/subscribers будут доступны только админам и коллабораторам. Затронуты и страницы /stargazers, /stargazers/you_know и /watchers. Даты вступления в силу в записи нет. Счётчик звёзд остаётся публичным.

4 сентября GitHub добавил эндпоинт с историей звёзд: даты и количество, без имён. Про GraphQL в changelog ничего нет. По заявлению автора starsift, там список теперь приходит пустым, я это не проверял. Кто именно поставил звезду чужому проекту, напрямую больше не посмотреть. Косвенные методы появились из-за этого.

Что за проект и что я проверил

Смотрел 19.10.2026 по GitHub, PyPI и исходникам. Репозиторий intikhab49/starsift создан 14 октября 2026. В нём два коммита, оба от 14 октября, один релиз v0.1.0, на PyPI тот же день. Восемь звёзд, ноль форков, ноль issues. Автор один, Intikhab Azam, аккаунт на GitHub с октября 2023, 35 публичных репозиториев. Файл LICENSE есть, это MIT. README и интерфейс на английском, русской документации нет.

Установка по README: pipx install starsift, запуск: starsift owner/repo. Параметры: --sample N (от 30 до 1000 аккаунтов в выборке, по умолчанию 200), --control (взять другой репозиторий для сравнения), --no-archive и --json. Токен читается из GITHUB_TOKEN или GH_TOKEN, иначе утилита спросит у GitHub CLI. Права токена не используются. Прогон занимает от 10 до 70 секунд, два полных прогона, по README, съели меньше 10 из 5000 запросов в час.

Как работает проверка с контрольной группой

Вход: название репозитория. Утилита собирает три выборки: свежие звёзды из публичной ленты событий (там хранятся последние 300 событий), случайные звёзды из архива GH Archive через публичный сервер ClickHouse и владельцев форков.

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

Четыре сигнала проверяются критерием z для двух долей, порог p меньше 0,01 плюс минимальный отрыв от контроля: аккаунт младше 30 дней, старый аккаунт без единого действия, старый аккаунт из пачки, зарегистрированной в один день, удалённый или заблокированный с тех пор аккаунт. Первые два сигнала сами решения не принимают. Отдельно утилита смотрит, не ставила ли одна и та же группа аккаунтов звёзды одним и тем же небольшим репозиториям.

Выход: таблица долей по каждой выборке и вердикт. Единой оценки или одного процента подозрительных нет. Вердикты по README: признаки фермы, недавняя активность фермы, смешанные сигналы, признаков нет, мало данных. Есть вывод --json, код выхода 1 при признаках фермы. По исходникам запросы с названием репозитория уходят на ClickHouse и OSS Insight, логины аккаунтов на GitHub.

Где метод ошибается

Автор сам пишет: проверяются только выбранные окна, кампания вне них проскочит. Звёзды от аккаунтов, которые GitHub пометил, в выборках не видны. Ферма из старых активных аккаунтов, у которых нет общих интересов, выглядит как реальные люди. Архив висит на публичном демо-сервере и может не отвечать. Вердикт, по словам автора, служит свидетельством и доказательством не считается.

Добавлю своё. Вирусный рост даёт ложные срабатывания: наплыв новичков с пустыми профилями похож на ферму, поэтому такие сигналы и не решают в одиночку. Редкие аккаунты, например люди из узкого сообщества без активности на GitHub, тоже могут попасть под подозрение. Проверка на 25 подозреваемых и 25 неподозреваемых репозиториях (21 и 23 совпадения) измеряет согласие с чужой разметкой, и README прямо говорит, что точность этим не оценивается. Независимой проверки у проекта нет, и единственный автор может уйти. Публично называть проект накрученным по одному вердикту нельзя.

Что смотреть кроме звёзд

  • Файл LICENSE в корне и его текст. Упоминание лицензии в описании без файла не считается. Для моделей и данных лицензий несколько, см. разбор слоёв лицензии.
  • Возраст репозитория и аккаунта автора, и сколько людей в списке Contributors.
  • Распределение коммитов: ровные по месяцам или одна неделя, потом тишина.
  • Форки и issues относительно звёзд. Тысячи звёзд при единицах форков и ни одного вопроса от пользователей повод задать вопрос автору, но не приговор.
  • Релизы и теги, есть ли changelog, как давно вышел последний.
  • Не архивирован ли репозиторий, отвечают ли мейнтейнеры на issues и за какое время.
  • Зависимости: сколько их, живы ли они, какие у них лицензии.
  • Установка по документации на чистой машине. Не получилась за час, это тоже данные.

Что можно сделать уже сейчас

Заведите для выбора ПО таблицу из пунктов выше и заполните её для обоих кандидатов.

Для проекта, который вы всерьёз рассматриваете, возьмите starsift как один из сигналов. Запускайте на тестовой машине с токеном без прав. При тревожном вердикте задавайте автору проекта вопросы и выводов не делайте.

Для остальных проектов посмотрите историю звёзд (новый эндпоинт GitHub, доступность для чужих репозиториев сверьте с документацией, или OSS Insight, откуда её берёт и starsift). Резкий всплеск в один день стоит сопоставить с публикацией о проекте.

Такую проверку (звёзды, возраст, авторы, лицензия, последние коммиты, задачи) я делаю до установки на ваш сервер в рамках внедрения open-source под ключ, а сторонний взгляд на уже выбранный стек даёт технический IT-аудит.

Частые вопросы

Можно ли проверить закрытый репозиторий?

По README, закрытые репозитории не поддерживаются. Администраторы репозитория и так видят список поставивших звёзды в самом GitHub.

Нужны ли мне права на чужой репозиторий?

Нет, нужен любой токен GitHub, права ему не требуются.

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

Как поводу задать вопросы можно, как доказательству нельзя. Проекту пять дней, независимых проверок я не нашёл.

Коротко о главном

Число звёзд проверяют по набору признаков, и starsift добавляет к ним статистику по аккаунтам. Метод разумный, но проект свежий, а его автор один.

Если вам нужно выбрать open-source систему и не ошибиться, напишите мне в Telegram кодовое слово «ЗВЁЗДЫ». Проверю кандидатов по таблице и скажу, что стоит ставить на сервер.

Обсудим вашу задачу

Что я делаю для бизнеса

Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.

  • Боты в Telegram, MAX, VK
  • Автоматизация процессов и CRM
  • Аналитика и дашборды
  • Сайты и лендинги под ключ
Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 451 готовых IT-решений для бизнеса451 ready-made IT solutions for business451 soluciones IT listas para empresas451 个面向企业的现成 IT 解决方案Бизнест зориулсан 451 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх