hautph/awesome-devsecops-v2
GitHub: hautph/awesome-devsecops-v2
一个集成工具目录、学习资源和最佳实践指南的 DevSecOps 交互式知识平台。
Stars: 0 | Forks: 0
# Awesome DevSecOps v0.2.0
一个全面的 DevSecOps 资源中心,提供安全工具、学习路径、代码示例以及将安全性集成到 DevOps 流水线中的最佳实践。本项目作为一个精选资源集合,旨在帮助开发人员、安全专业人员和 DevOps 工程师在整个软件开发生命周期中实施安全措施。
## 🎯 目标与宗旨
本项目的主要目标是通过提供以下内容来弥合开发、安全和运维团队之间的差距:
- **教育资源**:从基础到高级主题的精选 DevSecOps 概念学习内容
- **实用工具**:包含分类和对比的综合安全工具目录
- **实施指南**:在 CI/CD 流水线中实施安全的真实案例和最佳实践
- **社区协作**:分享 DevSecOps 实践知识和经验的平台
- **路线图指导**:针对不同角色和技能水平的结构化学习路径
## 🚀 功能特性
- **🛠️ 工具目录**:发现并比较多个类别的安全工具
- **📚 学习资源**:精选的书籍、课程、视频和练习平台
- **🛣️ DevSecOps 路线图**:从初学者到专家的循序渐进学习路径
- **💻 代码示例**:即用型 CI/CD 流水线配置
- **👥 社区**:贡献指南和协作资源
## 💡 为什么选择 DevSecOps?
将安全性集成到 DevOps 实践中可带来诸多益处:
- **早期漏洞检测**:在开发生命周期早期识别并修复安全问题
- **更快的修复速度**:通过自动化扫描减少修复安全漏洞的时间
- **降低风险**:最大限度地减少生产环境中的安全相关事件
- **合规性**:通过内置安全检查满足监管要求
- **成本效益**:在安全问题修复成本较低时尽早解决
- **协作**:促进开发、安全和运维团队之间更好的合作
## 📋 前置条件
在开始之前,请确保您已安装以下软件:
- **Node.js**(v18 或更高版本)
- **npm** 或 **yarn** 包管理器
- **Git** 用于版本控制
## 🛠️ 安装说明
1. **克隆仓库:**
git clone https://github.com/hautph/awesome-devsecops-v2.git
cd awesome-devsecops-v2
2. **安装依赖:**
npm install
# 或
yarn install
# 或
bun install
3. **启动开发服务器:**
npm run dev
# 或
yarn dev
# 或
bun dev
4. **打开浏览器:**
访问 `http://localhost:3000` 查看运行中的应用程序。
## 🏗️ 项目结构
```
awesome-devsecops-v2/
├── src/
│ ├── app/ # Next.js 13+ app directory
│ │ ├── api/ # API routes
│ │ ├── community/ # Community page
│ │ ├── examples/ # Code examples
│ │ ├── resources/ # Learning resources
│ │ ├── roadmap/ # DevSecOps roadmap
│ │ ├── tools/ # Tools directory
│ │ ├── globals.css # Global styles
│ │ ├── layout.tsx # Root layout
│ │ └── page.tsx # Home page
│ ├── components/ # React components
│ │ ├── layout/ # Layout components
│ │ └── ui/ # UI components (shadcn/ui)
│ ├── data/ # Static data files
│ │ ├── tools.json # Tools database
│ │ ├── resources.json # Learning resources
│ │ ├── roadmap.json # Roadmap data
│ │ └── examples.json # Code examples
│ ├── hooks/ # React hooks
│ │ ├── use-mobile.ts # Mobile detection hook
│ │ └── use-toast.ts # Toast notification hook
│ ├── lib/ # Utility functions
│ │ ├── db.ts # Database utilities
│ │ ├── types.ts # Type definitions
│ │ └── utils.ts # Helper functions
│ └── types/ # Type definitions
│ └── index.ts # Shared type definitions
├── public/ # Static assets
├── .env.example # Environment variables example
├── .gitignore # Git ignore rules
├── next.config.ts # Next.js configuration
├── package.json # Project dependencies
├── tailwind.config.ts # Tailwind CSS configuration
└── tsconfig.json # TypeScript configuration
```
## 🎯 可用脚本
- `npm run dev` - 启动开发服务器
- `npm run build` - 为生产环境构建
- `npm run start` - 启动生产服务器
- `npm run lint` - 运行 ESLint
- `npm run format` - 使用 Prettier 格式化代码
- `npm run db:push` - 将 Prisma schema 推送到数据库
- `npm run db:generate` - 生成 Prisma client
- `npm run db:migrate` - 运行 Prisma 迁移
- `npm run db:reset` - 重置 Prisma 数据库
- `bun run dev` - 使用 Bun 启动开发服务器
- `bun run build` - 使用 Bun 为生产环境构建
- `bun run start` - 使用 Bun 启动生产服务器
- `bun run db:push` - 使用 Bun 将 Prisma schema 推送到数据库
- `bun run db:generate` - 使用 Bun 生成 Prisma client
- `bun run db:migrate` - 使用 Bun 运行 Prisma 迁移
- `bun run db:reset` - 使用 Bun 重置 Prisma 数据库
## 🛡️ 包含的 DevSecOps 工具
### 静态应用程序安全测试 (SAST)
- SonarQube
- Semgrep
- CodeQL
- Bandit
- Brakeman
### 动态应用程序安全测试 (DAST)
- OWASP ZAP
- Burp Suite
- Nuclei
### 软件成分分析 (SCA)
- Snyk
- OWASP Dependency-Check
- Trivy
### 容器安全 (Container Security)
- Trivy
- Clair
- Hadolint
- Falco
### 基础设施即代码 安全
- Checkov
- tfsec
- Terrascan
- KICS
### 密钥管理
- GitLeaks
- TruffleHog
- HashiCorp Vault
- detect-secrets
## 📚 学习资源
该平台包含分类的学习材料:
- **书籍**:综合安全指南
- **课程**:在线培训计划
- **视频**:教程和会议演讲
- **练习平台**:动手实践的 CTF 和实验室
- **文档**:官方指南和参考资料
## 🛣️ DevSecOps 路线图
遵循我们结构化的学习路径:
1. **初学者**(4-6 周):基础知识和基本工具
2. **中级**(8-12 周):高级工具和实践
3. **高级**(12-16 周):专家级安全架构
## 🎨 技术栈
- **框架**:Next.js 16+ (App Router)
- **语言**:TypeScript
- **样式**:Tailwind CSS
- **UI 组件**:shadcn/ui
- **图标**:Lucide React
- **状态管理**:React Hooks, Zustand
- **数据获取**:TanStack Query
- **表单**:React Hook Form with Zod validation
- **图表**:Recharts
- **动画**:Framer Motion
- **拖放**:@dnd-kit
- **数据表格**:TanStack Table
- **认证**:NextAuth.js
- **国际化**:next-intl
- **数据库**:Prisma ORM
- **数据**:静态 JSON 文件
- **代码检查**:ESLint
- **格式化**:Prettier
## 🔧 配置
### 环境变量
创建一个 `.env.local` 文件用于特定环境的配置。您可以参考项目根目录下的 `.env.example` 文件:
```
# Analytics(可选)
NEXT_PUBLIC_GA_ID=your-google-analytics-id
# API Keys(如果需要)
API_KEY=your-api-key
# Database URL(如果使用数据库)
DATABASE_URL=your-database-url
```
### 自定义
- **主题**:修改 `src/app/globals.css` 和 `tailwind.config.ts`
- **组件**:在 `src/components/ui/` 中自定义 UI 组件
- **数据**:更新 `src/data/` 中的 JSON 文件或在 `prisma/schema.prisma` 中配置 Prisma 数据库
- **数据库**:使用 Prisma 命令管理数据库 schema 和迁移
## 🚨 安全
本项目遵循 DevSecOps 安全最佳实践:
- 通过自动化扫描定期更新依赖项
- 静态应用程序安全测试 (SAST) 集成
- 遵循安全优先原则的安全配置默认值
- 整个应用程序中的输入验证和清理
- 遵守所有集成工具和服务的安全准则
- 妥善处理密钥和环境变量
## 📄 许可证
本项目基于 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。
该项目是开源的,欢迎贡献。通过贡献,您同意您的贡献将基于相同的 MIT 许可证进行授权。
## 📞 支持
- **问题**:在 [GitHub Issues](https://github.com/hautph/awesome-devsecops-v2/issues) 上报告错误
- **讨论**:加入我们的 [GitHub Discussions](https://github.com/hautph/awesome-devsecops-v2/discussions)
- **社区**:与其他 DevSecOps 从业者联系
## 🔄 更新
我们定期更新:
- 包含新安全工具的工具数据库
- 学习资源和教程
- 包含当前最佳实践的路线图
- 针对现代 CI/CD 平台的代码示例
如果您觉得有用,请 **Star 本仓库**! ⭐
*为 DevSecOps 社区用 ❤️ 制作*
标签:Awesome 列表, CI/CD 安全, DAST, DevSecOps, IaC 安全, SAST, Web截图, 上游代理, 学习路线图, 安全工具列表, 安全左移, 安全开发运维, 容器安全, 恶意软件分析, 数据投毒防御, 文档安全, 最佳实践, 盲注攻击, 结构化查询, 网络安全, 自动化安全, 自动化攻击, 软件供应链安全, 软件开发工具包, 远程方法调用, 隐私保护