malikov.tech

Как получать еще больше пользы от безопасной разработки на Go (часть 1.6)

Cover Image for Как получать еще больше пользы от безопасной разработки на Go (часть 1.6)

Сегодня будет тоже супер полезный совет, как за три копейки понять в каком состоянии проект и надо ли с ним что-то срочно делать.

В конце 22 года корпорация добра опубликовала в свободный доступ проект OSV-Scanner. А за год до этого появился проект osv.dev. Цель как всегда благая - собрать и продолжить наполнять базу уязвимостей в опенсорсных библиотеках и дать возможность сканировать древо зависимости ваших проектов по этой базе.

Доверять гуглу или нет - вопрос тот еще, но вроде проект с открытым кодом и дело действительно правое. Но меня в этом подкупает скорее тот факт, что молоточек получился простой как топор и такой же эффективный. Ибо работает не с каким-то конкретным ЯП, а охватывает по сути почти весь современный джентельменский стек - Java, Go, JS/TS, Rust, Ruby, Python, Docker, etc. И все это в 15 метровом бинаре и единой базе.

Быстрее пробовать!

Подключить и получить пользу можно буквально в две команды:

1️⃣ Для начала поставить себе сам сканер например локально

brew install osv-scanne

2️⃣ Ну и когда он установится натравить его на папку с исходными кодами вашего проекта

osv-scanner -r ~/develop/path/to/project

3️⃣ Наслаждайтесь результатом. Если не выдал ничего в табличном виде с ссылками на osv.dev, то вы молодец, увидели - ткнули в ссылочку и почитали о чем речь. Например https://osv.dev/vulnerability/GHSA-2c4m-59x9-fr2g для меня было откровение, что в gin есть такие не очень приятные проблемки.

Финально сайтом osv.dev можно пользоваться как справочником прежде, чем затащить себе под капот библиотеку. Например с тем же gin надо бы было поступить так - https://osv.dev/list?ecosystem=&q=gin

Как по мне очень полезная штучка. Люблю когда инструменты простые и полезеные, без лишней мишуры. Бонусом он умеет ходить по целой папке с разными проектами и выдавать отчет в markdown, который легким движением руки с помощью pandoc превращается в pdf и может быть отправлен кому надо на исправления. 🤪