
📌 Введение: угроза утечки интеллектуальной собственности
- Программный код часто является коммерческой тайной и основным активом IT-компании. Утечка кода к конкуренту или его использование бывшим сотрудником для создания продукта-«двойника» может привести к потере конкурентного преимущества и многомиллионным убыткам. 🎯
- Независимая экспертиза ПО (в частности, экспертиза плагиата исходного кода) — это единственный способ получить юридически значимые доказательства для суда (ст. 1301, 1252 ГК РФ). Настоящая консультация в научно-юридическом стиле — о том, как экспертиза выявляет заимствования, какие методы используются и какие доказательства нужно собрать.
⚖️ Глава 1. Юридическая база: почему код — это объект авторского права
Исходный код программы для ЭВМ охраняется как литературное произведение (ст. 1261 ГК РФ). Незаконное копирование (полное или частичное) влечёт:
- гражданско-правовую ответственность (компенсация от 10 000 до 5 000 000 ₽ — ст. 1301 ГК РФ);
- уголовную ответственность (ст. 146 УК РФ — при крупном ущербе);
- административную (ст. 7.12 КоАП РФ).
Однако просто сказать суду «он украл мой код» недостаточно. Нужны объективные технические доказательства заимствования, которые может предоставить только независимый эксперт. 🔍
🕵️ Глава 2. Методы выявления плагиата в коде (инженерный подход)
Эксперт не «угадывает», а использует математические и алгоритмические методы сравнения, устойчивые к попыткам маскировки.
2.1. Прямое копирование (Type‑1)
| Метод | Как работает | Пример |
| Сравнение хеш-сумм (MD5, SHA-256) | Если два файла идентичны — их хеш-суммы совпадают | Случай: вор скопировал модуль целиком, не изменив ни байта |
| Сравнение байт-кода (для скомпилированных программ) | Декомпиляция бинарного файла и сравнение с эталонным | Даже если исходный код утерян, эксперт может сравнить ассемблерный код (ASM) |
2.2. Модифицированное копирование (Type‑2, Type‑3)
| Метод | Устойчивость | Что выявляет |
| Сравнение синтаксических деревьев (AST) | Переименование переменных, перестановка блоков | Структурная эквивалентность кода |
| Анализ n-грамм (n=5..10) | Вставка «мусорных» строк, изменение отступов | Фрагменты копипасты (короткие куски) |
| Сравнение строковых констант | Удаление комментариев не помогает, если скопированы уникальные названия полей, сообщения об ошибках | Индивидуальные «почерки» программиста |
2.3. Семантическая эквивалентность (Type‑4)
- Разные алгоритмы, решающие одну задачу, могут быть признаны экспортом заимствования, если в них встречаются уникальные, нестандартные решения (например, сортировка с «ручной» реализацией QuickSort, которая совпадает с вашей до инвариантов циклов).
🧾 Глава 3. Что искать эксперту: улики в коде (чек-лист)
Помимо сравнения алгоритмов, эксперт ищет артефакты, которые сложно удалить:
- Комментарии на русском языке (или другом языке), совпадающие с оригиналом. Даже если код переписан, комментарии часто копируют.
- Имена переменных и функций (camelCase, snake_case, специфические сокращения). Например, в оригинале calcDiscountedPriceForWholesale (уникальное длинное имя). У подозреваемого встречается то же самое.
- Орфографические ошибки в сообщениях об ошибках (например, ‘saving failedd’ с двумя d). Случайное совпадение маловероятно.
- Одинаковые структуры пакетов (Java: com.yourcompany.oldproject.security), если подозреваемый не сменил все названия.
- Конфигурационные файлы (pom.xml, package.json, requirements.txt) с одинаковыми версиями редких библиотек.
📋 Глава 4. Что нужно предоставить эксперту для доказательства кражи кода
| Категория | Конкретные материалы | Почему важно |
| Ваш исходный код (оригинал) | Репозиторий (Git, SVN) со всей историей изменений | Установить авторство и дату создания |
| Подозрительный продукт конкурента | Исходный код (если доступен), исполняемый файл (.exe,.dll,.apk), скриншоты описания функционала | Для сравнения |
| Документы, подтверждающие ваше авторство | Свидетельство о регистрации программы для ЭВМ, договоры с разработчиками, техническое задание (ТЗ) | Правоустанавливающие документы |
| Сведения о бывшем сотруднике | Трудовой договор, NDA (соглашение о неразглашении), доступ к коду, дата увольнения | Связь лица с утечкой |
⚖️ Глава 5. Как доказать, что код не мог быть создан независимо (вероятностный подход)
Эксперт использует принцип «сверхъестественного совпадения». Если две программы содержат множество одинаковых нетривиальных фрагментов, вероятность случайного совпадения ничтожно мала (исключена).
5.1. Пример из практики №1: Плагиат алгоритма шифрования
Ситуация: Банк «А» разработал уникальный алгоритм шифрования для мобильного приложения. Из банка ушёл разработчик (Петров). Через год конкурент «Б» выпустил приложение с идентичным алгоритмом.
Действия эксперта:
- Декомпилировал APK приложения конкурента.
- Сравнил байт-код с эталонным (предоставленным банком).
- Обнаружил идентичную последовательность шагов (MATRIX: 17 операций XOR (исключающее «ИЛИ»), сдвигов и S-боксов) в той же последовательности.
Результат: Суд признал Петрова и конкурента виновными в нарушении авторских прав (ст. 1301 ГК РФ), взыскана компенсация 1,5 млн руб. 💪
5.2. Пример из практики №2: Доказательство через опечатку в сообщении об ошибке
Ситуация: Студия «А» разработала игровой движок для мобильной игры. Через полгода бывший сотрудник выпустил «свою» игру с тем же движком. В оригинале в сообщении об ошибке assert была опечатка: ‘Invlaid value’ (вместо ‘Invalid value’). 😂
Действия эксперта: Эксперт нашёл эту же опечатку в коде конкурента — совпадение, которое невозможно объяснить «независимой разработкой».
Результат: Досудебное урегулирование: конкурент выплатил 2 млн руб., игра была переписана.
🔒 Глава 6. Если исходный код конкурента недоступен (закрытый бинарный файл)
Ситуация сложнее, но не безнадёжна. Эксперт использует:
- Дизассемблирование — преобразование машинного кода (0/1) в ассемблерный код.
- Декомпиляцию — преобразование ассемблера в псевдокод высокого уровня (C-подобный).
- Сравнение потоков управления (CFG — Control Flow Graph) — даже без имён переменных, структура ветвлений может быть идентичной.
Пример из практики №3: Бинарное сравнение драйвера принтера
Ситуация: Конкурент скопировал драйвер для печати этикеток. Исходный код конкурента отсутствовал.
Действия эксперта:
- Выполнил декомпиляцию бинарного файла конкурента в Hex-Rays (IDA Pro).
- Сравнил псевдокод и обнаружил 80% совпадений, включая уникальные константы (0xDEADBEEF, 0xFEEDFACE).
Результат: Суд принял заключение, конкурент выплатил компенсацию. 💪
📊 Глава 7. Таблица: методы и их доказательственная сила
| Метод | Что доказывает | Сила аргумента |
| Совпадение хеш-сумм (MD5) фалов | Идентичность файлов | Очень высокая (прямое копирование) |
| Совпадение AST-деревьев | Заимствование с переименованием | Высокая |
| Совпадение уникальных строк | Индивидуальный «почерк» разработчика | Высокая |
| Совпадение алгоритмов с редкими константами | Невозможность случайного совпадения | Высокая |
| Совпадение имён пакетов (package name) | Неудачная попытка маскировки | Средняя |
💲 Глава 8. Стоимость экспертизы (ориентиры на 2025 г.)
| Тип работ | Стоимость (₽) | Сроки (раб. дни) |
| Сравнение исходного кода (до 10 000 строк) | от 40 000 до 80 000 | 5–7 |
| Сравнение бинарных файлов (наличие декомпиляции) | от 60 000 до 120 000 | 10–15 |
| Полный криминалистический анализ (определение степени заимствования в %) | от 100 000 до 200 000 | 10–20 |
| Экспресс-режим (срочно) | надбавка 30–50% | 2–5 |
🎯 Заключение
Доказать незаконное использование исходного кода — сложная, но решаемая задача. Независимая экспертиза даёт суду математические, воспроизводимые критерии сходства: хеш-суммы, AST-деревья, n-граммы, уникальные строки.
Для заказчика важно:
- сохранять историю версий (Git);
- регистрировать программу для ЭВМ в Роспатенте;
- при подозрении на утечку срочно обращаться к экспертам (пока код конкурента не изменился).
Для заказа экспертизы ПО обращайтесь в Союз «Федерация судебных экспертов» (сайт: https://patexp.ru/).






Задавайте любые вопросы