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验证, 上游代理, 云计算, 代码解释器, 威胁检测, 安全合规, 安全编排, 安全防御评估, 异常检测, 恶意代码分类, 敏感词过滤, 数据可视化, 无后门, 网络代理, 网络安全审计, 规则优化, 规则引擎, 请求拦截, 逆向工具