Библиотека Go-разработчика | Golang
23.5K subscribers
2.3K photos
46 videos
87 files
4.71K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
​​​​Хеширование паролей

Передавать пароли в plaintext формате небезопасно, поэтому их нужно шифровать. По ссылке сниппет с применением техники шифрования. Будем использовать инструмент под названием bcrypt.

https://gowebexamples.com/password-hashing/

#security #hashing
#news #security

Исследователи из Oxeye обнаружили новую уязвимость, позволяющую получить несанкционированный доступ к приложениям на Go

Go использует библиотеку net/url для анализа URL-адресов и до версии 1.17 рассматривал точку с запятой в части запроса как допустимый разделитель.

Однако в версии 1.17 точки с запятой рассматриваются как ошибка, и один из методов, отвечающих за получение проанализированной строки запроса, игнорирует возвращаемую ошибку.

Таким образом, в определённых условиях это позволяет обходить проверки, основанные на параметрах HTTP-запроса.

Подробнее
👍11
Вышла вторая часть в серии статей «Безопасность цепочки поставок» о конкретных методах, с помощью которых Go помогает вам доверять целостности используемых пакетов.

Go имеет встроенную защиту от трех основных способов компрометации пакетов:
✔️Опубликована новая вредоносная версия вашей зависимости
✔️Пакет изъят из экосистемы
✔️Вредоносный файл заменяет текущую версию вашей зависимости

В статье рассмотрены сценарии каждой ситуации и показано, как Go помогает защитить от подобных атак.

#security
101👍1
Вышла третья часть в серии статей «Безопасность цепочки поставок» о конкретных методах, с помощью которых Go помогает вам доверять целостности используемых пакетов.

Вы узнаете о двух функциях, представляющих особый интерес для безопасности цепочки поставок: расширение Go для Visual Studio Code и встроенное фаззинг-тестирование.

#security
7👏2
#tip #go #security

Два способа проверить свой код на наличие уязвимостей

📌Инструмент govulncheck, безусловно, является универсальным для сканирования репозиториев на наличие известных уязвимостей.

🔸Инструмент использует официальную базу данных уязвимостей Go vuln.go.dev, всеобъемлющий источник известных уязвимостей в общедоступных модулях Go.

🔸Govulncheck можно использовать в командной строке или как часть рабочего процесса CI.

📌Еще одним инструментом, заслуживающим внимания, является gosec: Golang Security Checker.

🔸gosec — CLI-инструмент, который может быть интегрирован в пайплайн CI. В дополнение к этому, gosec входит в состав golangci-lint.

🔸По умолчанию он отключен, и вы можете включить либо все проверки на уязвимости, либо только определенные из них. Таким образом, ваш код проверяется на наличие уязвимостей каждый раз, когда ваша IDE запускает линтер.

🔸В отличие от govulncheck, gosec не проверяет наличие известных уязвимостей в общедоступном коде Go. Скорее, он проверяет код на соответствие списку уязвимых шаблонов программирования, включая: жестко закодированные учетные данные, непроверенные ошибки, построение SQL-инструкций с использованием fmt и т.д.
👍6🔥1