Российские новости ИС

Почему истории коммитов в Git недостаточно для защиты исходного кода

Бывший сотрудник «Яндекса» Дмитрий Коробов был задержан ФСБ после того, как попытался продать исходный код поисковой системы «Аркадия». Он вынес алгоритмы на внешний носитель, разослал части кода в даркнет и даже предложил его одному из крупных компьютерных ритейлеров. Это не была утечка через хакеров и не техническая уязвимость - просто человек, имевший доступ к репозиторию, скопировал файлы. Ни история коммитов, ни системные журналы не помешали ему это сделать. Коробов получил условный срок за разглашение коммерческой тайны, но сама история стала показательным примером: даже в крупнейших ИТ-компаниях код может быть уязвим не из-за технологий, а из-за отсутствия дополнительных мер защиты. Git, каким бы мощным ни был инструментом для управления версиями, не является ни сейфом, ни юридическим доказательством - он просто фиксирует, кто и когда вносил изменения в код.

Почему истории коммитов в Git не обеспечивают полную защиту

Git - это программа, которую разработчики используют, чтобы отслеживать все изменения в коде. Он позволяет сохранять каждую правку, видеть, кто ее сделал, и возвращаться к любому этапу разработки. Это бесплатная система с открытым исходным кодом, которая встроена в популярные среды разработки вроде Visual Studio Code или PyCharm. Часто Git используют в связке с онлайн-сервисами вроде GitHub, GitLab или Bitbucket - они позволяют работать с проектами в облаке, делиться кодом, комментировать изменения и управлять доступом. Но у Git есть важное ограничение: он не создан для обеспечения юридической или технической защиты кода. Это не система безопасности, а инструмент управления версионностью.

Git - это инструмент, но не хранилище. Если код лежит в открытом репозитории на GitHub или GitLab и при этом отсутствует настройка доступа или шифрование, он потенциально доступен всем. Даже если репозиторий приватный, кто-то из команды может случайно или намеренно слить доступ, и история коммитов не поможет остановить утечку. Система версий устроена так, что она не спрашивает, кто имеет право видеть или использовать код - она просто хранит то, что в нее загружают.

Многие разработчики ошибочно полагают, что история коммитов в Git - это нечто вроде доказательства авторства. На деле Git не обеспечивает юридически значимой фиксации авторства по российскому законодательству. Внесение изменений в код, даже если в логах указаны имя и дата, не приравнивается к официальной регистрации авторских прав. Эти данные можно подделать - Git не проверяет, кто вы на самом деле, он просто записывает то, что указано в настройках пользователя, а туда можно вписать любое имя и email.

Основные риски использования Git без дополнительных мер защиты

Многие стартапы и студенты выкладывают свои проекты в открытые репозитории для демонстрации навыков. Это удобно, но файлы репозитория могут быть скопированы, переработаны и представлены кем-то другим как собственная разработка. Git при этом ничего не заметит, потому что с его точки зрения все законно - пользователь просто скачал проект.

С Git можно не только делать новые коммиты, но и переписывать историю. Команды вроде git rebase -i позволяют подчистить или изменить старые коммиты, включая их дату и автора. Существуют и более радикальные методы, такие как git filter-branch, позволяющие переписать всю историю проекта. Все это делает Git-логи недостаточным доказательством в случае спора об авторстве или утечке.

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

Дополнительные меры для защиты исходного кода

Git позволяет подписывать коммиты цифровой подписью с использованием GPG или других криптографических ключей. Это добавляет уровень доверия: можно подтвердить, что именно вы сделали конкретный коммит и что он не был изменен после этого. Однако это не юридическое доказательство авторства - управление версиями не включает проверку личности, и подписать коммит можно любым именем.

Если проект особенно чувствителен, его репозиторий стоит хранить в зашифрованном виде. Некоторые организации используют инструменты вроде SOPS или полностью шифруют репозитории перед отправкой в удаленное хранилище, что снижает риск утечки при физическом доступе к устройству или серверу.

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

Наконец, стоит настроить политику доступа: кто и какие действия может выполнять с репозиторием. Все серьезные платформы - GitHub, GitLab, Bitbucket - позволяют ограничить права на чтение, запись, слияние и даже комментирование кода. Для бизнес-проектов важно вести аудит: кто и когда что делал, включая действия в интерфейсе - кто добавил кого в команду или изменил настройки доступа.

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

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

О компании IQ Technology

IQ Technology — международное юридическое агентство, специализирующееся на предоставлении услуг в области защиты интеллектуальной собственности, товарных знаков и электронной торговли. Мы работаем с клиентами по всему миру, представляя интересы компаний по вопросам интеллектуальной собственности, анализу рисков, спорам о копировании и защите бренда на маркетплейсах и сайтах.