oke-py/npm-audit-action
GitHub: oke-py/npm-audit-action
一个运行 npm audit 并自动报告依赖漏洞的 GitHub Action,支持创建 Issue 和 PR 评论进行安全告警。
Stars: 46 | Forks: 26
# npm audit 操作
[](https://coveralls.io/github/oke-py/npm-audit-action?branch=main)
运行 `npm audit` 并报告漏洞的 GitHub Action。
## 功能特性
- 当发现漏洞时发布 pull request 评论
- 当发现漏洞时,在推送或计划运行时创建 GitHub issue

## 使用方法
### 权限
创建评论或 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, 网络代理, 自动化审计, 自动化攻击, 自动化攻击