
LunaSec — сканер безопасности зависимостей, который автоматически уведомляет вас об уязвимостях, таких как Log4Shell или node-ipc, в ваших Pull Request'ах и сборках. Защитите себя за 30 секунд с помощью LunaTrace GitHub App: https://github.com/marketplace/lunatrace-by-lunasec/
LunaTrace — это инструмент с открытым исходным кодом для обеспечения безопасности цепочек поставок и аудита. В его основе лежит веб-консоль, которая отслеживает ваши проекты и их зависимости, выявляя уязвимости и другие проблемы. Эта консоль предоставляется как SaaS (доступна здесь бесплатно), либо вы можете развернуть её и управлять ей самостоятельно.
Дополнительную информацию см. в документации LunaTrace.
Мы — команда инженеров по безопасности, миссия которой — создавать потрясающие инструменты безопасности с открытым исходным кодом. Всё находится в этом монорепозитории, и ниже представлена разбивка того, где находится всё, что мы создали.
/docs/blog, если вы захотите внести свой вклад!
Если вы столкнулись с проблемами, вам не хватает какой-то функции или вы просто хотите прояснить какие-то вопросы, пожалуйста, присоединяйтесь к нашему Discord-сообществу, чтобы пообщаться с нами.
Мы небольшая команда и всегда ищем обратную связь о том, какие проблемы мы можем помочь решить, поэтому нам было бы приятно, если бы вы нашли минутку, чтобы попробовать LunaTrace, и, если вам понравится, поделиться этим с коллегами и друзьями. Самая сложная часть нашей миссии по созданию лучших инструментов безопасности — это просто дать людям понять, что они существуют!
Мы приветствуем вклад сообщества и документировали требования к нему здесь.
Если вы хотите поделиться идеями или отзывами, вы можете сделать это, открыв issue на GitHub или пообщавшись с нами в Discord.
Для получения дополнительной информации о LunaSec, включая учебные пособия, примеры и технические детали, посетите нашу документацию.
Для маркетинговой информации, продаж или связи с нами посетите наш сайт: https://www.lunasec.io/.
В остальной части этого ReadMe объясняется, как работать над самим LunaSec. Если вы просто хотите использовать LunaSec, обратитесь к документации.
Пожалуйста, прочтите наши инструкции для участников перед тем, как создавать форк и отправлять pull request. Они короткие и очень полезны, если вы собираетесь работать над LunaSec.
Наша цель — создать устойчивый бизнес для поддержки LunaSec, одновременно создавая сообщество с открытым исходным кодом. Если у вас есть мысли о том, как мы можем улучшить наш подход, мы будем рады услышать вас.
Пожалуйста, напишите нам на developer-feedback at lunasec dot io или создайте issue в этом репозитории.
Процесс выпуска будет обрабатываться автоматически нашей системой CI/CD.
Под капотом процесс выпуска разбит на четыре части:
Разбиение этого процесса гарантирует, что каждая часть завершится без ошибок, прежде чем перейти к следующему шагу. Это значительно снижает вероятность того, что одни артефакты будут опубликованы, а другие нет, что приведёт к головной боли при отладке релиза.
Развёртывание релизов осуществляется с помощью GitHub Actions.
Версионирование релизов осуществляется с помощью lerna.
Поскольку монорепозиторий содержит код как на Go, так и на Node, компиляция происходит в нескольких местах. Для Node SDK каждый пакет имеет собственный скрипт компиляции в package.json, который запускается. Точка входа, вызывающая скрипт каждого пакета, находится здесь. Для Go весь код компиляции находится в Makefile в цели release.
Для артефактов Node всё обрабатывается lerna. Для Go публикация обрабатывается с помощью цели publish в Makefile. Артефакты попадают в NPM, DockerHub и GitHub.
Отправляемый тег версии содержит изменения версии для увеличенной версии монорепозитория. Вот пример коммита.