erenkcoban/security-incident-tracker
GitHub: erenkcoban/security-incident-tracker
一个基于 Node.js 和 PostgreSQL 的全栈安全事件响应追踪平台,帮助安全团队以结构化和可审计的方式管理网络安全事件的完整生命周期。
Stars: 0 | Forks: 0
# 🛡️ 安全事件响应追踪器
一个全栈 Web 应用程序,供安全运营团队以结构化和可审计的方式记录、管理、调查和解决网络安全事件。
## ✨ 功能
- **基于角色的访问控制** — 具有不同权限的分析师和管理员角色
- **完整的 CRUD** — 创建、读取、更新和删除事件
- **搜索与筛选** — 按严重程度、状态或关键字筛选;按任意列排序
- **调查时间线** — 添加笔记和评论以追踪事件进展
- **管理面板** — 用户管理、分析仪表板、审计概览
- **JWT 身份验证** — 安全的登录和会话管理
## 🛠️ 技术栈
| 层级 | 技术 |
|---|---|
| 前端 | HTML, CSS, Vanilla JavaScript |
| 后端 | Node.js, Express.js |
| 数据库 | PostgreSQL |
| 认证 | JWT + bcryptjs |
| 部署 | Render (后端) + Vercel (前端) |
| CI/CD | GitHub Actions |
## 🚀 快速开始
### 前置条件
- Node.js 18+
- PostgreSQL 14+
### 1. 克隆仓库
```
git clone https://github.com/your-username/security-incident-tracker.git
cd security-incident-tracker
```
### 2. 设置数据库
```
psql -U postgres -f server/database/schema.sql
```
### 3. 配置环境变量
```
cd server
cp .env.example .env
```
编辑 `.env`:
```
DATABASE_URL=postgresql://postgres:password@localhost:5432/security_tracker
JWT_SECRET=your_secret_key
JWT_EXPIRES_IN=7d
PORT=3000
```
### 4. 安装依赖并运行
```
cd server
npm install
npm run dev
```
在浏览器中打开 `http://localhost:3000`。
### 默认管理员账户
```
Email: admin@tracker.com
Password: password
```
## 📁 项目结构
```
security-incident-tracker/
├── client/
│ ├── css/style.css
│ ├── js/
│ │ ├── api.js
│ │ └── auth.js
│ ├── index.html
│ ├── register.html
│ ├── dashboard.html
│ ├── incidents.html
│ ├── incident-detail.html
│ ├── submit.html
│ └── admin.html
└── server/
├── database/schema.sql
├── src/
│ ├── controllers/
│ ├── middleware/
│ └── routes/
└── server.js
```
标签:Express, GNU通用公共许可证, JWT认证, MITM代理, Node.js, PostgreSQL, 后端开发, 安全运营, 扫描框架, 测试用例