本目录包含 LDesign 项目的 GitHub 配置文件,包括 Actions workflows 和 Dependabot 配置。
.github/
├── workflows/ # GitHub Actions workflows
│ ├── security-scan.yml # 依赖安全扫描 (每周自动运行)
│ └── dependency-review.yml # PR 依赖审查
├── dependabot.yml # Dependabot 自动更新配置
├── SECURITY_SCANNING.md # 安全扫描使用指南
└── README.md # 本文件
用途: 定期扫描项目依赖的安全漏洞、许可证合规性和过时依赖
触发条件:
- ⏰ 每周一早上 8:00 (北京时间) 自动运行
- 🔘 手动触发 (workflow_dispatch)
- 📝 修改 package.json 或 pnpm-lock.yaml 时
包含的检查:
-
依赖安全审计 (dependency-audit)
- 运行
pnpm audit检查已知漏洞 - 生成 JSON 格式的审计报告
- 上传报告到 Artifacts (保留 30 天)
- 运行
-
许可证合规性检查 (license-check)
- 使用
license-checker检查所有依赖的许可证 - 生成许可证摘要和详细报告
- 上传报告到 Artifacts
- 使用
-
过时依赖检查 (outdated-check)
- 运行
pnpm outdated检查可更新的依赖 - 生成过时依赖列表
- 上传报告到 Artifacts
- 运行
查看结果:
- Actions 页面 → Security Scan → 最新运行 → Summary
- 下载详细报告: Artifacts 部分
用途: 在 PR 中审查依赖变更,防止引入安全漏洞或不兼容许可证
触发条件:
- 📝 PR 修改了 package.json 或 pnpm-lock.yaml
包含的检查:
-
依赖审查 (dependency-review)
- 使用 GitHub 官方 dependency-review-action
- 检查新增依赖的安全漏洞
- 验证许可证兼容性
- 在 PR 中自动添加审查评论
-
依赖变更分析 (analyze-dependency-changes)
- 显示新增和删除的依赖
- 运行安全审计
- 生成变更摘要
-
打包体积影响 (check-bundle-size-impact)
- 显示依赖树大小
- 提醒关注打包体积
许可证策略:
- ❌ 拒绝: GPL-2.0, GPL-3.0, AGPL-3.0
- ✅ 允许: MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC
安全策略:
⚠️ 失败条件: 发现高危 (high) 或严重 (critical) 漏洞
更新频率: 每周一早上 8:00 (北京时间)
监控范围:
-
npm 依赖 (/)
- 所有 package.json 中的依赖
- 自动创建更新 PR
-
GitHub Actions (/)
- workflows 中使用的 Actions
- 保持 Actions 版本最新
版本更新策略:
- ✅ 补丁版本 (x.x.X): 自动创建 PR
- ✅ 次要版本 (x.X.x): 分组创建 PR
- ❌ 主要版本 (X.x.x): 忽略,需手动审查
分组更新:
dev-dependencies: 开发依赖 (@types/, eslint, vitest, typescript)production-dependencies: 生产依赖 (vue, react, @vue/*)
PR 限制:
- 最多同时打开 10 个 PR
- 自动添加标签:
dependencies,automated - 提交信息前缀:
chore(deps)
- 访问 Actions 页面
- 选择 "Security Scan" workflow
- 查看最新运行的 Summary
- 下载 Artifacts 获取详细报告
- 访问 Actions 页面
- 选择 "Security Scan" workflow
- 点击 "Run workflow" 按钮
- 选择分支并运行
- 查看 PR 中的变更日志
- 检查 CI 测试结果
- 审查依赖审查报告
- 确认无破坏性变更后合并
# 检查安全漏洞
pnpm audit
# 仅显示高危及以上
pnpm audit --audit-level=high
# 自动修复
pnpm audit --fix# 检查所有过时依赖
pnpm outdated
# 更新依赖
pnpm update# 安装 license-checker
pnpm add -g license-checker
# 检查许可证
license-checker --summary创建时间: 2025-11-24
维护者: LDesign Team