mitre/saf

GitHub: mitre/saf

MITRE 推出的安全自动化命令行框架,旨在统一各类安全工具的输出格式并简化 DevOps 流程中的合规性管理。

Stars: 174 | Forks: 42

# Security Automation Framework CLI MITRE Security Automation Framework (SAF) Command Line Interface (CLI) 汇集了 MITRE 和安全社区开发的应用程序、技术、库和工具,旨在为系统和 DevOps 流程简化安全自动化 SAF CLI 是 [Heimdall Tools](https://github.com/mitre/heimdall_tools) 和 [InSpec Tools](https://github.com/mitre/inspec_tools) 的继任者。 ## 术语 - ["Heimdall"](https://github.com/mitre/heimdall2) - 所有安全结果数据的可视化工具 - ["OASIS Heimdall Data Format (OHDF) - aka HDF"](https://saf.mitre.org/#/normalize) - 一种用于保存和转换安全数据的通用数据格式 ## 安装 * [通过 NPM](#installation-via-npm) * [通过 NPM 更新](#update-via-npm) * [通过 Brew](#installation-via-brew) * [通过 Brew 更新](#update-via-brew) * [通过 Docker](#installation-via-docker) * [通过 Docker 更新](#update-via-docker) * [通过 Windows 安装程序](#installation-via-windows-installer) * [通过 Windows 安装程序更新](#update-via-windows-installer) ## 开发者 有关 SAF 项目的开发、测试和贡献的详细信息,请参阅 [MITRE SAF Development](https://github.com/mitre/saf/blob/main/docs/contributors-guide.md) ## 用法 ### 认证 HDF 数据 * [认证](#attest) * [创建认证](#create-attestations) * [应用认证](#apply-attestations) ### [获取 Convert 命令帮助](#convert-command) ### 将 HDF 转换为其他格式 * [从 HDF 转换](#convert-from-hdf) * [HDF 转 ASFF](#hdf-to-asff) * [HDF 转 Splunk](#hdf-to-splunk) * [HDF 转 XCCDF Results](#hdf-to-xccdf-results) * [HDF 转 Checklist](#hdf-to-checklist) * [HDF 转 CSV](#hdf-to-csv) * [HDF 转 Condensed JSON](#hdf-to-condensed-json) ### 将其他格式转换为 HDF * [转换为 HDF](#convert-to-hdf) * [Anchore Grype 转 HDF](#anchore-grype-to-hdf) * [ASFF 转 HDF](#asff-to-hdf) * [AWS Config 转 HDF](#aws-config-to-hdf) * [Burp Suite 转 HDF](#burp-suite-to-hdf) * [CKL 转 POA&M](#ckl-to-poam) * [CycloneDX SBOM 转 HDF](#cyclonedx-sbom-to-hdf) * [DBProtect 转 HDF](#dbprotect-to-hdf) * [Dependency-Track 转 HDF](#dependency-track-to-hdf) * [Fortify 转 HDF](#fortify-to-hdf) * [gosec 转 HDF](#gosec-to-hdf) * [Ion Channel 转 HDF](#ion-channel-2-hdf) * [JFrog Xray 转 HDF](#jfrog-xray-to-hdf) * [Tenable Nessus 转 HDF](#tenable-nessus-to-hdf) * [Microsoft Secure Score 转 HDF](#msft_secure-to-hdf) * [Netsparker 转 HDF](#netsparker-to-hdf) * [NeuVector 转 HDF](#neuvector-to-hdf) * [Nikto 转 HDF](#nikto-to-hdf) * [Prisma 转 HDF](#prisma-to-hdf) * [Prowler 转 HDF](#prowler-to-hdf) * [Sarif 转 HDF](#sarif-to-hdf) * [Scoutsuite 转 HDF](#scoutsuite-to-hdf) * [Snyk 转 HDF](#snyk-to-hdf) * [SonarQube 转 HDF](#sonarqube-to-hdf) * [Splunk 转 HDF](#splunk-to-hdf) * [Trivy 转 HDF](#trivy-to-hdf) * [Trufflehog 转 HDF](#trufflehog-to-hdf) * [Twistlock 转 HDF](#twistlock-to-hdf) * [Veracode 转 HDF](#veracode-to-hdf) * [XCCDF Results 转 HDF](#xccdf-results-to-hdf) * [OWASP ZAP 转 HDF](#owasp-zap-to-hdf) ### eMASSer 客户端 * [eMASSer API CLI](#emasser-api-cli) ### 查看 HDF 摘要和数据 * [查看](#view) * [Heimdall](#heimdall) * [摘要](#summary) ### 验证 HDF 阈值 * [验证](#validate) * [阈值](#thresholds) ### 生成数据报告及更多 * [生成](#generate) * [Delta](#delta) * [Delta 支持命令](#delta-supporting-options) * [CKL 模板](#ckl-templates) * [InSpec 元数据](#inspec-metadata) * [Inspec Profile](#inspec-profile) * [阈值](#thresholds-1) * [电子表格 (csv/xlsx) 转 InSpec](#spreadsheet-csvxlsx-to-inspec) * [DoD Stub 与 CIS Stub 格式化](#dod-stub-vs-cis-stub-formatting) * [映射文件](#mapping-files) ### 增强和补充 HDF 数据 * [补充](#supplement) * [透传](#passthrough) * [读取](#read) * [写入](#write) * [目标](#target) * [读取](#read-1) * [写入](#write-1) ### 许可证和作者 * [许可证和作者](#license-and-author) ## 安装 ### 通过 NPM 安装 可以使用 `npm` 安装和更新 SAF CLI,`npm` 通常包含在大多数版本的 [NodeJS](https://nodejs.org/en/) 中。 ``` npm install -g @mitre/saf ``` #### 通过 NPM 更新 使用 `npm` 更新 SAF CLI: ``` npm update -g @mitre/saf ``` [返回顶部](#installation) ### 通过 Brew 安装 可以使用 `brew` 安装和更新 SAF CLI。 ``` brew install mitre/saf/saf-cli ``` #### 通过 Brew 更新 使用 `brew` 更新 SAF CLI: ``` brew upgrade mitre/saf/saf-cli ``` [返回顶部](#installation) ### 通过 Docker 安装 **在 Linux 和 Mac 上:** 下面的 docker 命令可用于一次性运行 SAF CLI,其中 `arguments` 包含您想要运行的命令和标志。例如:`--version` 或 `view summary -i hdf-results.json`。 ``` docker run -it -v$(pwd):/share mitre/saf ``` 要在一个持久化的 shell 中运行 SAF CLI 以执行一个或多个命令,请使用以下命令,然后运行每个完整的命令。例如:`saf --version` 或 `saf view summary -i hdf-results.json`。您可以更改希望使用的 entrypoint。例如,使用 `--entrypoint sh` 以在 shell 终端中打开。如果找不到指定的 entrypoint,请尝试使用路径,如 `--entrypoint /bin/bash`。 ``` docker run --rm -it --entrypoint bash -v$(pwd):/share mitre/saf ``` **在 Windows 上:** 下面的 docker 命令可用于一次性运行 SAF CLI,其中 `arguments` 包含您想要运行的命令和标志。例如:`--version` 或 `view summary -i hdf-results.json`。 ``` docker run -it -v%cd%:/share mitre/saf ``` 要在一个持久化的 shell 中运行 SAF CLI 以执行一个或多个命令,请使用以下命令,然后运行每个完整的命令。例如:`saf --version` 或 `saf view summary -i hdf-results.json`。您可以更改希望使用的 entrypoint。例如,使用 `--entrypoint sh` 以在 shell 终端中打开。如果找不到指定的 entrypoint,请尝试使用路径,如 `--entrypoint /bin/bash`。 ``` docker run --rm -it --entrypoint sh -v%cd%:/share mitre/saf ``` **注意:** 请根据需要使用 Docker CLI 标志来运行各种子命令。 例如,要运行 `emasser configure` 子命令,您需要传入一个包含您的证书并且可以存储生成的 .env 文件的卷 (volume)。此外,您需要传入用于启用伪 TTY 和交互性的标志。 ``` docker run -it -v "$(pwd)":/share mitre/saf emasser configure ``` 其他命令可能不需要 `-i` 或 `-t` 标志,而只需要绑定挂载的卷 (bind-mounted volume),例如基于文件的 `convert`。 ``` docker run --rm -v "$(pwd)":/share mitre/saf convert -i test/sample_data/trivy/sample_input_report/trivy-image_golang-1.12-alpine_sample.json -o test.json ``` 还有其他标志用于开放网络端口或传递环境变量,因此请确保使用成功运行命令所需的任何标志。 #### 通过 Docker 更新 使用 `docker` 更新 SAF CLI: ``` docker pull mitre/saf:latest ``` [返回顶部](#installation) ### 通过 Windows 安装程序安装 要在 Windows 上安装最新版本的 SAF CLI,请从 [Releases](https://github.com/mitre/saf/releases) 🌬️ 页面下载并运行适合您系统架构的最新安装程序。 #### 通过 Windows 安装程序更新 要在 Windows 上更新 SAF CLI,请从系统中卸载任何现有版本,然后从 [Releases](https://github.com/mitre/saf/releases) 🌬️ 页面下载并运行适合您系统架构的最新安装程序。 [返回顶部](#installation) ## 用法 ### 认证 (Attest) 对“未审查”(Not Reviewed) 的控制进行认证:有时安全工具无法自动测试要求,因此需要人工审查,即某人通过采访人员或检查系统来确认(即认证)控制要求是否已满足。 #### 创建认证 ``` attest create Create attestation files for use with `saf attest apply` USAGE $ saf attest create -o [-i -t ] FLAGS -i, --input= (optional) An input HDF file to search for controls -o, --output= (required) The output filename -t, --format=
标签:Anchore, ASFF, Burp Suite, DevSecOps, GNU通用公共许可证, GPT, HDF, Heimdall, InSpec, MITM代理, MITRE, Node.js, Ruby, Web截图, XCCDF, 上游代理, 威胁建模, 安全可视化, 容器安全, 开源框架, 持续集成, 数据转换, 测试覆盖率, 漏洞管理, 知识库, 自动化攻击, 自动化攻击, 请求拦截