falcosecurity/falco-playground
GitHub: falcosecurity/falco-playground
一个基于浏览器的 Falco 规则在线编辑与验证工具,利用 WebAssembly 在客户端运行完整的 Falco 引擎,帮助用户快速检查自定义规则的准确性。
Stars: 20 | Forks: 18
# Falco-Playground
[](https://github.com/falcosecurity/evolution/blob/main/REPOSITORIES.md#infra-scope) [](https://github.com/falcosecurity/evolution/blob/main/REPOSITORIES.md#sandbox) [](./LICENSE)
一个简单的 Web 应用程序,您可以在其中创建、编辑和验证 [falco 规则](https://github.com/falcosecurity/rules))。这是一个快速解决方案,适合希望轻松检查其自定义规则准确性的用户。该应用程序完全在客户端运行,不会向任何后端服务器发起调用。它利用了 [WebAssembly](https://webassembly.org/) 的强大功能来测试您的规则。
## 使用方法
### Falco-playground 托管地址:https://falcosecurity.github.io/falco-playground
## 开发说明
该应用程序使用 [React](https://react.dev/) 作为其前端框架,并结合了 [TypeScript](https://www.typescriptlang.org/) 以增强类型安全性。它还使用 [Vite](https://vitejs.dev/) 作为构建工具。
### 安装依赖
```
npm install
```
### 下载额外构建产物的步骤
由于 `falco-playground` 使用了 WebAssembly,因此它依赖于一个与 `.js` 文件链接的 `.wasm` 文件。您可以在 falco 最近**已完成**的 `ci` 构建中找到 `falco.js` 和 `falco.wasm`。
1. 访问 https://github.com/falcosecurity/falco/actions/workflows/ci.yml
2. 选择一个**成功**的工作流。
3. 在下方的 **Artifact** 部分下载 `falco-*-wasm.tar.gz`。
### 将 `falco.wasm` 和 `falco.js` 文件移动到目标位置
由于构建工具无法转译 WebAssembly 文件 (`.wasm`),我们需要确保它们保持静态。为此,我们应该将 `falco.wasm` 文件重新定位到 `public` 目录中。此外,为了让应用程序能与 falco.wasm 进行有效交互,我们应该将 `falco.js` 移动到 `hooks` 目录中。
解压 `falco-*-wasm.tar.gz` 后,可以在 `falco-*-wasm/usr/bin` 路径下找到 `falco.js` 和 `falco.wasm`。
1. 将 `falco.wasm` 移动到 `public` 中
2. 将 `falco.js` 移动到 `src/Hooks` 中
### 启动开发服务器
```
npm run dev
```
## 测试
`falco-playground` 使用 [cypress](https://www.cypress.io/) 作为其测试工具。
### 配合 launchpad 使用 cypress
```
npm run cy:open
```
### 配合 CLI 使用 cypress
```
npm run cy:run
```
标签:AI工具, AMSI绕过, Chrome Headless, CMS安全, Falco, Falco规则, JavaScript, Kubernetes安全, npm, React, SCAP文件, Syscalls, TypeScript, URL发现, Vite, WASM, WebAssembly, Web截图, 事件分析, 代码校验, 合规性测试, 在线编辑器, 威胁检测, 安全插件, 安全检测, 安全策略, 客户端应用, 容器安全, 提示词设计, 敏感词过滤, 沙箱工具, 测试工具, 测试验证, 网络安全, 自动化攻击, 规则验证, 隐私保护, 静态资源