Инструмент для поиска уязвимостей в сторонних пакетах
Продолжаем внедрять в разработку новые идеи для обеспечения безопасности сторонних компонентов. Мы уже рассматривали средство поиска плохих зависимостей PyPI и NPM, которое при помощи статического анализа кода искало вредоносные признаки. А вот недавно опубликованный инструмент DepFuzzer использует другой метод:
- инструмент составляет список всех зависимостей, указанных в файлах проекта (поддерживаются проекты для Node.js, Python, Rust, Golang);
- для каждой зависимости проверяет ее наличие в базе данных deps.dev (это общедоступная база данных, которая содержит информацию о зависимостях программного обеспечения);
- если зависимость не найдена в deps.dev, DepFuzzer предупреждает о потенциальной уязвимости, связанной с подменой зависимости (то есть подсказывает, что для данной зависимости злоумышленник может попытаться опубликовать вредоносный пакет с таким же именем в общедоступном репозитории);
- DepFuzzer также может проверять адреса электронной почты владельцев пакетов, чтобы выявить потенциальные https://t.me/makrushin/242, связанные с удаленными учетными записями.
Сам по себе инструмент не гарантирует защиту от проблем Dependency Confusion, но в сочетании с методами статического анализа и внутренними реестрами доверенных пакетов значительно снижает риски. Внедряем в разработку.