Elixir 安全公告数据库使用教程
elixir-security-advisories🛡 Public database of Elixir security advisories pulled from GitHub Advisory Database项目地址:https://gitcode.com/gh_mirrors/eli/elixir-security-advisories
项目介绍
mirego/elixir-security-advisories
是一个公开的 Elixir 安全公告数据库,从 GitHub 安全公告数据库中提取。该项目旨在作为
dependabot/elixir-security-advisories
的替代品,因为后者自 2022 年 7 月起不再维护。该数据库包含针对已发布 Elixir 包的安全公告,公告元数据以 YAML 格式存储,供 Sobelow、Dependabot、MixAudit 等自动化工具使用。
项目快速启动
克隆项目
首先,克隆项目到本地:
git clone https://github.com/mirego/elixir-security-advisories.git
cd elixir-security-advisories
查看公告
项目结构如下:
packages/
plug/
2017-02-28.yml
2017-02-28_2.yml
每个公告文件包含以下格式:
# 2017-02-28.yml
id: CVE-2017-0228
title: "Plug vulnerable to Cross-Site Scripting (XSS)"
affected_versions: "< 1.3.0"
patched_versions: ">= 1.3.0"
应用案例和最佳实践
自动化工具集成
可以将该数据库集成到 CI/CD 流程中,以自动检查项目依赖的安全性。例如,使用
MixAudit
工具:
# mix.exs
defp deps do
[
{:mix_audit, "~> 1.0", only: :dev, runtime: false}
]
end
然后在 CI 流程中运行:
mix deps.get
mix audit
手动检查
开发人员可以定期手动检查项目依赖的安全公告:
cd elixir-security-advisories
grep -r "CVE-2017-0228" packages/
典型生态项目
Sobelow
Sobelow 是一个针对 Phoenix 框架的安全漏洞扫描工具:
mix archive.install hex sobelow
mix sobelow
Dependabot
Dependabot 是一个自动化的依赖更新工具,可以集成到 GitHub 仓库中,自动创建安全更新 PR:
- 在 GitHub 仓库设置中启用 Dependabot。
- 创建
dependabot.yml
文件:
# dependabot.yml
version: 2
updates:
- package-ecosystem: "hex"
directory: "/"
schedule:
interval: "daily"
通过这些工具和实践,可以有效提升 Elixir 项目的整体安全性。
elixir-security-advisories🛡 Public database of Elixir security advisories pulled from GitHub Advisory Database项目地址:https://gitcode.com/gh_mirrors/eli/elixir-security-advisories
版权归原作者 潘俭渝Erik 所有, 如有侵权,请联系我们删除。