oke-py/npm-audit-action

GitHub: oke-py/npm-audit-action

一个运行 npm audit 并自动报告依赖漏洞的 GitHub Action,支持创建 Issue 和 PR 评论进行安全告警。

Stars: 46 | Forks: 26

# npm audit 操作 [![Coverage Status](https://coveralls.io/repos/github/oke-py/npm-audit-action/badge.svg?branch=main)](https://coveralls.io/github/oke-py/npm-audit-action?branch=main) 运行 `npm audit` 并报告漏洞的 GitHub Action。 ## 功能特性 - 当发现漏洞时发布 pull request 评论 - 当发现漏洞时,在推送或计划运行时创建 GitHub issue ![Issue example](https://github.com/oke-py/npm-audit-action/blob/main/issue.png) ## 使用方法 ### 权限 创建评论或 issues 时,请授予写入权限: ``` permissions: contents: read issues: write pull-requests: write ``` ### 输入参数 | 参数 | 必填 | 默认值 | 描述 | | :-- | :--: | :--: | :-- | | `audit_level` | false | `low` | `npm audit --audit-level` 的值 | | `create_issues` | false | `true` | 当发现漏洞时创建 issues | | `create_pr_comments` | false | `true` | 当发现漏洞时创建 pull request 评论 | | `dedupe_issues` | false | `false` | 对未关闭的 issues 进行去重 | | `fail_on_vulnerabilities` | false | `true` | 当发现漏洞时使 action 失败 | | `github_context` | false | `${{ toJson(github) }}` | `github` 上下文 | | `github_token` | true | N/A | GitHub Access Token。使用 `${{ secrets.GITHUB_TOKEN }}` | | `issue_assignees` | false | N/A | Issue 负责人(逗号分隔) | | `issue_labels` | false | N/A | Issue 标签(逗号分隔) | | `issue_title` | false | `npm audit found vulnerabilities` | Issue 标题 | | `json_flag` | false | `false` | 使用 `--json` 运行 `npm audit` | | `production_flag` | false | `false` | 使用 `--omit=dev` 运行 `npm audit` | | `working_directory` | false | N/A | 包含 `package.json` 的目录 | ### 输出 | 参数 | 描述 | | :-- | :-- | | `npm_audit` | `npm audit` 报告输出的文本格式 | ### 示例工作流 ``` name: npm audit on: pull_request: push: branches: - main - 'releases/*' # on: # schedule: # - cron: '0 10 * * *' jobs: scan: name: npm audit runs-on: ubuntu-latest permissions: contents: read issues: write pull-requests: write steps: - uses: actions/checkout@v6 - name: install dependencies run: npm ci - uses: oke-py/npm-audit-action@v4 with: audit_level: moderate github_token: ${{ secrets.GITHUB_TOKEN }} issue_assignees: oke-py issue_labels: vulnerability,test dedupe_issues: true ``` 此 action 灵感来源于 [homoluctus/gitrivy](https://github.com/homoluctus/gitrivy)。
标签:CMS安全, DevSecOps, GitHub Action, GNU通用公共许可证, Issue 创建, JavaScript, MITM代理, Node.js, npm, npm audit, Pull Request 检查, 上游代理, 代码安全, 包管理器, 安全合规, 对称加密, 暗色界面, 漏洞枚举, 统一API, 网络代理, 自动化审计, 自动化攻击, 自动化攻击