darkwizard242/ansible-role-syft

GitHub: darkwizard242/ansible-role-syft

该 Ansible Role 用于在 Debian/Ubuntu 和 EL 系统上自动化安装和管理 Syft——一个从容器镜像和文件系统生成软件物料清单(SBOM)的工具。

Stars: 5 | Forks: 0

[![构建测试](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/46546b999e082857.svg)](https://github.com/darkwizard242/ansible-role-syft/actions?query=workflow%3Abuild-and-test) [![发布](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/a3d7c01e31082902.svg)](https://github.com/darkwizard242/ansible-role-syft/actions?query=workflow%3Arelease) ![Ansible Role](https://img.shields.io/ansible/role/d/darkwizard242/syft) [![可维护性评级](https://sonarcloud.io/api/project_badges/measure?project=ansible-role-syft&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=ansible-role-syft) [![可靠性评级](https://sonarcloud.io/api/project_badges/measure?project=ansible-role-syft&metric=reliability_rating)](https://sonarcloud.io/dashboard?id=ansible-role-syft) [![安全性评级](https://sonarcloud.io/api/project_badges/measure?project=ansible-role-syft&metric=security_rating)](https://sonarcloud.io/dashboard?id=ansible-role-syft) ![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/darkwizard242/ansible-role-syft?label=release) ![GitHub repo size](https://img.shields.io/github/repo-size/darkwizard242/ansible-role-syft?color=orange&style=flat-square) # Ansible Role: syft 用于在 **Debian/Ubuntu** 和 **EL** 系统上安装(默认)[syft](https://github.com/anchore/syft)的 Role。这是一个 CLI 工具和 Go 库,用于从容器镜像和文件系统生成软件物料清单 (SBOM)。 ## 要求 无。 ## Role 变量 以下列出了可用的变量(位于 `defaults/main.yml` 中): ### 变量列表: ``` syft_app: syft syft_desired_state: present syft_version: 1.45.1 syft_os: "{{ ansible_system | lower }}" syft_architecture_map: amd64: amd64 arm: arm64 x86_64: amd64 armv6l: armv6 armv7l: armv7 aarch64: arm64 32-bit: "386" 64-bit: amd64 # 针对 Debian/Ubuntu 系列 syft_debian_url: "https://github.com/anchore/{{ syft_app }}/releases/download/v{{ syft_version }}/{{ syft_app }}_{{ syft_version }}_{{ syft_os }}_{{ syft_architecture_map[ansible_architecture] }}.deb" # 针对 EL 系列 syft_el_url: "https://github.com/anchore/{{ syft_app }}/releases/download/v{{ syft_version }}/{{ syft_app }}_{{ syft_version }}_{{ syft_os }}_{{ syft_architecture_map[ansible_architecture] }}.rpm" ``` ### 变量表: 变量 | 描述 --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- syft_app | 定义要安装的应用程序,即 **syft** syft_desired_state | 用于动态选择是安装(即 `present` 或 `latest`)还是卸载(即 `absent`)该软件包。默认为 `present`。 syft_version | 用于动态获取要安装的所需版本。默认为:**1.45.1** syft_os | 定义操作系统类型。用于根据操作系统类型获取正确类型的二进制文件。 syft_architecture_map | 定义操作系统架构。用于根据操作系统系统架构获取正确类型的二进制文件。 syft_debian_url | 定义用于 Debian/Ubuntu 系列系统下载 'deb' 软件包的 URL。 syft_el_url | 定义用于 EL 系列系统下载 'rpm' 软件包的 URL。 ## 依赖 无 ## 示例 Playbook 在 ansible playbook 中使用 role 的默认行为(即安装 **syft**)。 ``` - hosts: servers roles: - darkwizard242.syft ``` 在 ansible playbook 中自定义 role 的行为(即指定所需的 **syft** 版本)。 ``` - hosts: servers roles: - darkwizard242.syft vars: syft_version: 0.32.2 ``` 在 ansible playbook 中自定义 role 的行为(即指定不同的 **syft** 软件包操作系统架构,如 arm64)。 ``` - hosts: servers roles: - darkwizard242.syft vars: syft_arch: "arm64" ``` ## 许可证 [MIT](https://github.com/darkwizard242/ansible-role-syft/blob/master/LICENSE) ## 作者信息 此 role 由 [Ali Muhammad](https://www.alimuhammad.dev) 创建
标签:Ansible, CISA项目, DevSecOps, SBOM, XXE攻击, 上游代理, 域名收集, 日志审计, 硬件无关, 系统提示词, 自动化运维, 软件供应链安全, 远程方法调用