aravindavvaru/falco-rule-studio
GitHub: aravindavvaru/falco-rule-studio
AI 驱动的 Falco 规则工作室,用自然语言创建、解释、验证和优化云原生运行时安全检测规则。
Stars: 0 | Forks: 0
# Falco Rule Studio
**Falco 生态系统中缺失的功能。** 现有的 Falco 工具都不支持用自然语言编写规则、理解规则的实际作用,或在部署到生产环境之前发现错误。本项目旨在填补这一空白。
## 功能特性
| 标签页 | 功能说明 |
|-----|-------------|
| **Generate (生成)** | 用通俗易懂的英语描述威胁 → 获取包含 macros、lists 和 MITRE ATT&CK 标签的生产级 Falco YAML |
| **Explain (解释)** | 粘贴任意 Falco 规则 → 获取通俗的安全上下文解析和调优建议 |
| **Validate (验证)** | YAML 语法检查 + 必填字段验证 + 最佳实践 Linting |
| **Optimize (优化)** | AI 审查条件排序、误报风险和覆盖缺口 → 返回改进后的规则及变更摘要 |
| **AI Chat (AI 对话)** | 与 Falco 专家进行多轮对话 —— 询问关于 syscalls、eBPF、MITRE 映射或规则调试的问题 |
## 快速开始
### 1. 克隆
```
git clone https://github.com/aravindavvaru/falco-rule-studio.git
cd falco-rule-studio
```
### 2. 设置 API Key
```
cp .env.example .env
# 编辑 .env 并添加您的 Anthropic API key
```
```
ANTHROPIC_API_KEY=sk-ant-your-key-here
```
在 [console.anthropic.com](https://console.anthropic.com) 获取密钥。
### 3. 运行
**使用 Python:**
```
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000
```
**使用 Docker:**
```
docker compose up
```
打开 [http://localhost:8000](http://localhost:8000)
## 项目结构
```
falco-rule-studio/
├── app/
│ ├── main.py # FastAPI app — 6 REST endpoints
│ ├── rule_engine.py # AI logic — generate, explain, validate, optimize, chat
│ ├── models.py # Pydantic request/response schemas
│ └── examples.py # Sample rules, prompts, Falco field reference
├── static/
│ ├── index.html # Single-page web UI — 5 tabs
│ ├── style.css # Dark theme with YAML syntax highlighting
│ └── app.js # Vanilla JS — no framework
├── Dockerfile
├── docker-compose.yml
└── requirements.txt
```
## API 参考
所有端点均接受和返回 JSON。
### `POST /api/generate`
将自然语言描述转换为 Falco 规则。
```
{
"description": "Alert when kubectl is executed inside a pod",
"context": "Kubernetes environment",
"severity": "WARNING",
"tags": []
}
```
### `POST /api/explain`
用通俗易懂的英语解释 Falco 规则。
```
{
"rule_yaml": "- rule: ...\n condition: ..."
}
```
### `POST /api/validate`
验证 Falco 规则的语法和最佳实践。
```
{
"rule_yaml": "- rule: ..."
}
```
### `POST /api/optimize`
获取 Falco 规则的优化建议。
```
{
"rule_yaml": "- rule: ..."
}
```
### `POST /api/chat`
与 Falco AI 专家进行多轮对话。
```
{
"message": "How do I detect cryptomining?",
"history": []
}
```
### `GET /api/examples`
返回 UI 的示例规则和提示建议。
## 示例 — 生成规则
**输入:**
**输出:**
```
- list: sensitive_files
items: [/etc/shadow, /etc/gshadow, /etc/master.passwd]
- rule: Sensitive file read in container
desc: >
A process attempted to read a sensitive credential file inside a container.
This may indicate credential harvesting by an attacker.
condition: >
open_read and
container and
fd.name in (sensitive_files) and
not proc.name in (known_credential_access_tools)
output: >
Sensitive file read inside container
(user=%user.name command=%proc.cmdline file=%fd.name
container=%container.name image=%container.image.repository
pod=%k8s.pod.name ns=%k8s.ns.name)
priority: CRITICAL
tags: [container, filesystem, mitre_credential_access, T1003]
```
## 技术栈
- **后端:** FastAPI + Uvicorn
- **AI:** Anthropic Claude (`claude-sonnet-4-6`)
- **前端:** 原生 HTML/CSS/JS (零依赖)
- **规则验证:** PyYAML + Claude
## 为什么这很重要
Falco 附带了约 100 条由安全专家编写的默认规则。但团队需要针对自身工作负载的自定义规则 —— 编写它们需要深入掌握以下知识:
- Sysdig filter syntax
- Linux syscalls
- Falco 的字段 schema (300+ 字段)
- MITRE ATT&CK 映射
- 条件排序中的性能权衡
**Falco Rule Studio 消除了这一障碍。** 描述您想检测的内容,即可获得可用的规则。
## 什么是 Falco
[Falco](https://falco.org) 是一个 CNCF 毕业项目,通过 eBPF 解析 Linux syscalls 来检测运行时安全威胁。它为全球数千个 Kubernetes 集群提供运行时安全支持。本项目构建在 Falco 规则系统之上的工具 —— 它不修改 Falco 本身。
## 许可证
MIT
标签:AI代码生成, AMSI绕过, Anthropic Claude, AV绕过, Cloudflare, CNCF, CSV导出, DevSecOps, Docker, Falco, FastAPI, FTP漏洞扫描, HTTP工具, MITRE ATT&CK, Python, SRE工具, Syscall监控, web渗透, YAML验证, 上游代理, 云计算, 代码解释器, 威胁检测, 安全合规, 安全编排, 安全防御评估, 异常检测, 恶意代码分类, 敏感词过滤, 数据可视化, 无后门, 网络代理, 网络安全审计, 规则优化, 规则引擎, 请求拦截, 逆向工具