darkwizard242/ansible-role-syft
GitHub: darkwizard242/ansible-role-syft
该 Ansible Role 用于在 Debian/Ubuntu 和 EL 系统上自动化安装和管理 Syft——一个从容器镜像和文件系统生成软件物料清单(SBOM)的工具。
Stars: 5 | Forks: 0
[](https://github.com/darkwizard242/ansible-role-syft/actions?query=workflow%3Abuild-and-test) [](https://github.com/darkwizard242/ansible-role-syft/actions?query=workflow%3Arelease)  [](https://sonarcloud.io/dashboard?id=ansible-role-syft) [](https://sonarcloud.io/dashboard?id=ansible-role-syft) [](https://sonarcloud.io/dashboard?id=ansible-role-syft)  
# 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攻击, 上游代理, 域名收集, 日志审计, 硬件无关, 系统提示词, 自动化运维, 软件供应链安全, 远程方法调用