Shell-скрипт сначала ставит зависимости (на Linux — через
sudo, на macOS — с правками ~/.zshrc), затем скачивает набор JAR’ов с внешнего сервера без подписей и checksums и прописывает -javaagent в vmoptions. С этого момента сторонний код получает доступ и может менять байткод любых классов — включая стандартную библиотеку Java.
Дальше начинается самое интересное.
Агент:
— блокирует DNS и HTTP-запросы к серверам лицензирования JetBrains
— скрывает своё присутствие, подменяя списки VM-аргументов и загрузку классов
— патчит
BigInteger#oddModPow() и подменяет результат модульного возведения в степень по правилам из конфигаЭто фундаментальная операция для RSA (криптографический алгоритм с открытым ключом). То есть компрометируется не только проверка лицензии, а вся криптография внутри JVM процесса IDE: HTTPS, Git over SSL, подписи, API-аутентификация.
Фактически вы работаете в среде, где нельзя доверять результатам криптографических проверок.
Отдельный слой рисков — системный. Скрипт получает root-права на время установки, модифицирует shell-конфиги и загружает исполняемый код с сервера третьей стороны. Что именно окажется в JAR’ках завтра — пользователь не контролирует.
И, наконец, юридические риски. Использование пиратского ПО — прямое нарушение ст. 146 УК РФ. В корпоративной среде порог «крупного ущерба» достигается очень быстро: достаточно нескольких нелегальных лицензий. В случае инцидента крайним почти всегда оказывается тот, кто установил софт.
Подробный технический разбор — от shell-скрипта до патча криптопримитивов — в новой статье на Хабре.
👉 Любая IDE от JetBrains бесплатно: что на самом деле происходит, когда вы запускаете “безобидный” активатор