Вредоносное ПО способно выявлять файлы с проектами NetBeans и добавлять свой код в файлы проекта и собираемые JAR-файлы. Алгоритм работы сводится к нахождении каталога NetBeans с проектами пользователя, перебору всех проектов в данном каталоге, копированию вредоносного сценария в nbproject/cache.dat и внесению изменений в файл nbproject/build-impl.xml для вызова этого сценария при каждой сборке проекта. При сборке копия вредоносного ПО включается в результирующие файлы JAR, которые становятся источником дальнейшего распространения. Например, вредоносные файлы были размещены в репозиториях вышеупомянутых 26 открытых проектов, а также различными другими проектами при публикации сборок новых релизов.
При загрузке и запуске поражённого JAR-файла другим пользователем, на его системе начинался очередной цикл поиска NetBeans и внедрения вредоносного кода, что соответствует модели работы самораспространяющихся компьютерных вирусов. Кроме функциональности для самораспространения, вредоносный код также включает функции бэкдора для предоставления удалённого доступа к системе. На момент разбора инцидента управляющие бэкдором серверы (C&C) не были активны. Всего при изучении поражённых проектов было выявлено 4 варианта инфицирования. В одном из вариантов для активации бэкдора в Linux создавался файл автозапуска «$HOME/.config/autostart/octo.desktop», а в Windows для запуска применялся запуск заданий через schtasks.
Бэкдор мог использоваться для добавления закладок в развиваемый разработчиком код, организации утечки кода проприетарных систем, кражи конфиденциальных данных и захвата учётных записей. Исследователи из GitHub не исключают, что вредоносная деятельность не ограничивается NetBeans и могут существовать другие варианты Octopus Scanner, внедряющиеся для своего распространения в процесс сборки на базе Make, MsBuild, Gradle и других систем.
Названия поражённых проектов не упоминается, но их легко можно найти через поиск в GitHub по маске cache.dat. Среди проектов, в которых найдены следы вредоносной активности: V2Mp3Player, JavaPacman, Kosim-Framework, Punto-de-venta, 2D-Physics-Simulations, PacmanGame, GuessTheAnimal, SnakeCenterBox4, Secuencia-Numerica, CallCenter, ProyectoGerundio, pacman-java_ia, SuperMario-FR-.
Источник: http://www.opennet.ru/opennews/art.shtml?num=53051