scanner-inc/sync-detection-rules
GitHub: scanner-inc/sync-detection-rules
一个 GitHub Action,通过 scanner-cli 将仓库中的检测规则 YAML 自动同步到 Scanner 平台。
Stars: 0 | Forks: 0
# 检测规则同步 Action
## 用法
```
name: Sync Detection Rules
on:
push:
branches: [main]
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: scanner-inc/sync-detection-rules@v0.1.0
with:
scanner_api_url: "${{ vars.SCANNER_API_URL }}"
scanner_api_key: "${{ secrets.SCANNER_API_KEY }}"
push_key: "${{ vars.SCANNER_PUSH_KEY }}"
```
## 输入项
| 输入项 | 说明 | 必填 | 默认值 |
| ----------------- | ------------------------------------------------------------------------------------------------------------ | -------- | ------- |
| `scanner_api_url` | Scanner 实例的 API URL | 是 | - |
| `scanner_api_key` | Scanner API key | 是 | - |
| `push_key` | 用于标识 Scanner 上目标 push 同步源的 push key (Settings > Detection Rule Sync) | 是 | - |
| `path` | 检出目录中需要同步的路径。`scanner-cli` 会解析所属的 git 根目录并上传整个目录树。 | 否 | `.` |
有关如何获取 API URL、API key 和 push key 的详细信息,请参阅 [Scanner.dev CLI 文档](https://docs.scanner.dev/scanner/using-scanner-complete-feature-reference/beta-features/detection-rules-as-code/cli#sync-an-entire-repository-sync-git-repo)。
## 工作原理
该 action 会安装 scanner-cli 工具,并对检出的仓库执行 `scanner-cli sync-git-repo --push-key ` 命令。当前的分支和 commit SHA(如果工作区存在未提交的更改,则会带有 `+dirty` 后缀)将从仓库中提取,并与 zip 文件一起上传。
## 开发说明
本仓库使用 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, LNA, MITM代理, 安全运营, 扫描框架, 检测规则, 网络调试, 网络资产发现, 自动化, 自动化攻击