actions-marketplace-validations/StamusNetworks_suricata-rules-check

GitHub: actions-marketplace-validations/StamusNetworks_suricata-rules-check

一个用于在 GitHub Actions 工作流中自动验证 Suricata 规则文件并将诊断信息报告为 PR 注释的 GitHub Action。

Stars: 0 | Forks: 0

# 验证 Suricata 规则 一个 GitHub Action,用于验证 Suricata 签名文件,并将诊断信息作为 GitHub 注释报告在你的 Pull Request 和工作流运行中。 ## 用法 ``` - uses: StamusNetworks/suricata-rules-check@v1 ``` 默认情况下,该 Action 会在仓库中查找所有 `*.rules` 文件,并使用 `suricata-language-server` 对每个文件进行验证。 ## 示例工作流 ### 在每次 Pull Request 时进行验证 ``` name: Validate Suricata Rules on: pull_request: push: branches: [main] jobs: validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: StamusNetworks/suricata-rules-check@v1 ``` ### 警告时报错并使用固定版本的 Suricata ``` - uses: StamusNetworks/suricata-rules-check@v1 with: fail-on-warnings: 'true' suricata-image: 'jasonish/suricata:7.0' ``` ### 快速验证(跳过引擎分析) 引擎分析能发现更多问题,但需要拉取 Docker 镜像并运行 Suricata。跳过此步骤可更快地获得仅针对语法的检查反馈: ``` - uses: StamusNetworks/suricata-rules-check@v1 with: engine-analysis: 'false' ``` ### 使用输出来控制部署 ``` - uses: StamusNetworks/suricata-rules-check@v1 id: check - name: Summarize results run: | echo "Errors: ${{ steps.check.outputs.error-count }}" echo "Warnings: ${{ steps.check.outputs.warning-count }}" ``` ## 输入 | 输入 | 必填 | 默认值 | 描述 | |-------|----------|---------|-------------| | `rules-path` | 否 | `.` | 搜索规则文件的目录 | | `rules-pattern` | 否 | `*.rules` | 用于在仓库中定位规则文件的 `find -name` 模式 | | `suricata-image` | 否 | `jasonish/suricata:latest` | 用于引擎分析的 Suricata Docker 镜像 | | `fail-on-warnings` | 否 | `false` | 如果发现任何警告,除错误外,也会以失败状态退出 | | `engine-analysis` | 否 | `true` | 运行 Suricata 引擎分析。设置为 `false` 可仅验证语法并加快 Action 的运行速度 | ## 输出 | 输出 | 描述 | |--------|-------------| | `error-count` | 在所有文件中发现的错误级别诊断的总数 | | `warning-count` | 在所有文件中发现的警告级别诊断的总数 | ## 工作原理 对于每个匹配的规则文件,该 Action 会调用 `suricata-language-server` 生成结构化的诊断信息。这些诊断信息会被转换为 [GitHub 工作流注释](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions#setting-a-notice-message)(错误、警告和通知),并直接显示在 Pull Request 的文件差异和工作流摘要页面中。 在 Action 退出之前,始终会检查所有文件,因此即使多个文件存在问题,你也可以在单次运行中查看全面的情况。 如果任何文件产生了错误级别的诊断信息,或者在启用了 `fail-on-warnings` 的情况下发现了任何警告,该 Action 将以非零状态退出。 ## 要求 运行器必须安装有 Docker。该 Action 会自动安装 Python 和 `suricata-language-server`。
标签:AMSI绕过, DevSecOps, DNS解析, Docker, GitHub Action, Metaprompt, Suricata, Suricata语言服务器, 上游代理, 云安全监控, 云计算, 代码审查, 威胁检测, 安全防御评估, 开源框架, 开源项目, 持续集成, 现代安全运营, 网络安全, 规则引擎, 规则验证, 请求拦截, 逆向工具, 隐私保护, 静态分析