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 工具, 上游代理, 云安全监控, 威胁检测, 插件安装, 敏感词过滤, 数据投毒防御, 模型鲁棒性, 规则验证, 请求拦截, 静态分析