acidghost/falco-validator

GitHub: acidghost/falco-validator

一个用于 CI/CD 场景的 Falco 规则验证工具,自动处理插件依赖并生成配置,确保规则在部署前语法正确。

Stars: 0 | Forks: 0

# falco-validator 通过按需插件安装和配置生成来验证 Falco 规则。 ## 功能特性 - **按需规则集加载**:从 falcoctl artifacts 或本地文件加载规则 - **自动插件安装**:从规则中提取插件依赖并通过 falcoctl 进行安装 - **动态配置生成**:即时构建包含所需插件的 Falco 配置 - **灵活输入**:支持以任意顺序混合使用 artifact 名称和文件路径 ## 用法 ### GitHub Action 使用 falco-validator action 在 CI/CD 流水线中验证您的 Falco 规则。 #### 基本示例 ``` name: Validate Falco Rules on: [push, pull_request] jobs: validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: acidghost/falco-validator@v1.0.0 with: rules: "k8saudit-rules ./my-rules.yaml" stable: "true" ``` #### 输入参数 | Input | Required | Default | Description | | -------- | -------- | ------- | -------------------------------------------------------------------------------- | | `rules` | Yes | - | Space-separated list of rules to validate (mix of artifact names and file paths) | | `stable` | No | `false` | Inject Falco stable ruleset | #### 示例 验证多个 artifacts: ``` - uses: acidghost/falco-validator@v1.0.0 with: rules: "k8saudit-rules cloudtrail-rules" ``` 验证本地文件: ``` - uses: acidghost/falco-validator@v1.0.0 with: rules: "./rules.yaml ./overrides.yaml" ``` 混合 artifacts 和文件: ``` - uses: acidghost/falco-validator@v1.0.0 with: rules: "/etc/falco/falco_rules.yaml k8saudit-rules ./my-overrides.yaml" stable: "true" ``` ### 容器镜像 直接通过 Docker 或 Podman 使用预构建的容器镜像。 #### 拉取镜像 ``` docker pull ghcr.io/acidghost/falco-validator:v1.0.0 ``` #### 运行验证 ``` docker run --rm \ -v ./my-rules.yaml:/rules.yaml:ro \ ghcr.io/acidghost/falco-validator:v1.0.0 \ k8saudit-rules /rules.yaml ``` ### 从源码构建 ``` just build just build-image ``` ## 工作原理 1. **输入处理**:接受 artifact 名称(例如 `k8saudit-rules`)或文件路径(例如 `./rules.yaml`) 2. **Artifact 安装**:对于 artifacts,使用 `falcoctl artifact install` 进行下载和安装 3. **插件提取**:解析规则 YAML 文件以提取 `required_plugin_versions` 部分 4. **去重**:移除重复的插件 5. **配置生成**:创建包含所需插件声明的 `falco.yaml` 6. **规则合并**:将所有规则文件合并为单个文件 7. **验证**:运行 `falco -c config.yaml -V combined_rules.yaml` 进行验证 ## 许可证 UNLICENSE - 详情请参阅 [UNLICENSE](UNLICENSE) 文件。
标签:AMSI绕过, CI/CD 安全, DevSecOps, Docker 容器, EVTX分析, Falco, falcoctl, GitHub Action, Kubernetes 安全, SRE 工具, 上游代理, 云安全监控, 威胁检测, 插件安装, 敏感词过滤, 数据投毒防御, 模型鲁棒性, 规则验证, 请求拦截, 静态分析