scanner-inc/validate-detection-rules

GitHub: scanner-inc/validate-detection-rules

一个 GitHub Action,封装 scanner-cli 对仓库中的 YAML 检测规则文件进行格式校验和测试运行,并在 GitHub 上以标注形式展示结果。

Stars: 0 | Forks: 1

# Detection Rule Validator Action 一个 GitHub Action,通过使用 scanner-cli 工具扫描存储库中的 YAML 文件来验证检测规则。 ## 用法 ``` name: Validate Detection Rules on: [push, pull_request] jobs: validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: scanner-inc/validate-detection-rules@v0.2.0 with: check_action: "validate_and_run_tests" scanner_api_url: "${{ secrets.SCANNER_API_URL }}" scanner_api_key: "${{ secrets.SCANNER_API_KEY }}" ``` ## 输入 | 输入 | 描述 | 必需 | 默认值 | | ----------------- | -------------------------------------------------------------- | -------- | --------------- | | `check_action` | 要执行的操作:`validate_only` 或 `validate_and_run_tests` | 否 | `validate_only` | | `scanner_api_url` | Scanner 实例的 API URL | 是 | - | | `scanner_api_key` | Scanner API key | 是 | - | | `file` | 检测规则文件 - 逗号分隔的列表 | 否 | - | | `dir` | 检测规则文件的目录 | 否 | - | | `recursive` | 递归搜索目录以查找有效的 YAML 文件 | 否 | `true` | ### 检查操作模式 - **`validate_only`**(默认):运行 `scanner-cli validate` 来检查检测规则是否为有效的 YAML 并且符合预期的 schema。 - **`validate_and_run_tests`**:运行 `scanner-cli run-tests` 来验证规则,并执行检测规则中定义的任何嵌入式测试。 如果未指定 `file` 和 `dir`,该操作将递归扫描当前目录(`.`)。我们建议默认使用此行为,因为它与 Scanner 的 Github 同步逻辑的行为相匹配。 有关获取 API URL 和密钥的详细信息,请参阅 [Scanner.dev CLI 文档](https://docs.scanner.dev/scanner/using-scanner/beta-features/detection-rules-as-code/cli)。 ## 工作原理 该操作会安装 scanner-cli 工具,并使用指定的文件、目录和选项运行 `scanner-cli validate` 或 `scanner-cli run-tests`(取决于 `check_action` 输入)。 CLI 在两种模式下都会使用 `--json` 运行,并且会解析结构化响应,以便在每个失败的文件上显示 GitHub 标注(并在每个带有非致命建议的文件上显示警告标注)。对于 `validate_and_run_tests`,单个失败的测试也会作为标注显示在规则的 YAML 文件上。 ## 开发 此存储库使用 Yarn 4(通过 Corepack 管理)。 准备发布: 1. 安装依赖项:`yarn install` 2. 构建打包发行版:`yarn build` 3. 提交 `dist/` 文件夹:`git add dist && git commit -m "Build dist"` 4. 标记发布版本:`git tag v{$VERSION} && git push --tags` 打包后的 `dist/index.js` 包含所有依赖项,因此用户无需安装任何内容。 ### 重新生成 schema bundle 要重新生成,请安装 [`gh`](https://cli.github.com/) 并进行身份验证(`gh auth login`),然后: ``` yarn gen_schema ```
标签:GitHub Action, MITM代理, 安全检测规则, 自动化攻击