Вы не можете, на самом деле, не проводить обширный аудит кода и наблюдать его в действии «извне», например, с помощью виртуальной машины. Не существует пуленепробиваемого способа поиска вредоносных пакетов и, конечно, нет автоматического способа, который не может быть обойден относительно легко. Некоторые вещи, которые вы можете реально сделать, ни одна из которых не является серебряной пулей:
- Загрузите пакет, распакуйте его ( не устанавливайте!) И запустите проверку на распакованные файлы на наличие вирусов. Это может найти некоторые известные проблемы, но не целевые или пользовательские хаки.
- Прежде чем использовать его, установите его на виртуальной машине и убедитесь, что он не делает ничего «подозрительного», такого как касание файлов, которые он не должен делать, общение с внешними серверами, запуск собственных процессов демона и т. Д. Конечно, он может делать такие вещи на временной основе, например, после запуска в течение X часов, и вы не сможете узнать об этом без детальной проверки кода. Детекторы руткитов могут автоматизировать некоторые из них.
- Установите в ограниченном окружении. SELinux, chroot-тюрьмы, виртуальные машины, отдельные отключенные машины и многое другое могут содержать различные типы проблемного программного обеспечения, от простого плохого до активно вредоносного.
- Ценные (но не секретные) данные могут быть размещены на отдельных серверах с доступом только для чтения к ненадежному компьютеру.
- Секретные данные должны быть размещены на машине, которая недоступна с ненадежной машины. Любое общение должно быть ручным копированием через сменный носитель.
Наконец, единственное безопасное программное обеспечение - это не программное обеспечение. Вы уверены, что вам нужно установить программное обеспечение, которому вы не доверяете? Нет ли известной, надежной альтернативы?