LunaTrace 是一个开源的供应链安全审计工具。其核心是一个 Web 控制台,用于跟踪您的项目及其依赖项,查找漏洞及其他问题。该控制台以 SaaS 形式提供(在此免费获取),您也可以自行部署和管理。
更多信息请参阅 LunaTrace 文档。
我们是一支安全工程师团队,致力于打造出色的开源应用安全工具。所有代码都存放在这个单体仓库中,以下是各部分内容的说明。
/docs/blog 下,欢迎贡献内容!
如果您遇到困难、缺少某个功能,或只是想澄清疑惑,请加入我们的 Discord 社区与我们交流。
我们是一个小团队,始终欢迎更多关于我们能帮助解决哪些问题的反馈。因此,我们恳请您花一点时间试用 LunaTrace,如果喜欢,请与同事和朋友分享。我们构建更好安全工具的使命中,最困难的部分仅仅是让人们意识到它们的存在!
我们欢迎社区贡献,贡献要求已在此处文档化。
如果您想贡献想法或反馈,可以通过提交 GitHub Issue 或在 Discord 上与我们交流。
有关 LunaSec 的更多信息(包括教程、示例和技术细节),请访问我们的文档。
关于营销信息、销售或联系,请访问我们的网站:https://www.lunasec.io/。
本 ReadMe 的其余部分介绍了如何参与 LunaSec 本身的工作。如果您只是想使用 LunaSec,请参阅文档。
在 Fork 并提交 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,发布由 Makefile 的 publish 目标处理。制品最终发布到 NPM、DockerHub 和 GitHub。
推送的版本标签包含提升后的单体仓库版本变更。以下是示例提交。