本实现计划将AWS资源扫描报告工具分解为可执行的开发任务。采用前后端分离架构,后端使用Python Flask + Celery,前端使用React + TypeScript + Ant Design。
[x] 1. 项目初始化和基础架构
Requirements: 9.1, 9.2
[x] 1.2 创建前端项目结构
使用Vite创建React + TypeScript项目
配置Ant Design和相关依赖
设置项目目录结构(components/, pages/, services/, hooks/, types/)
Requirements: 7.1
[x] 1.3 配置数据库和ORM
创建SQLAlchemy模型基类
配置数据库连接(PostgreSQL/SQLite3切换)
设置Flask-Migrate数据库迁移
Requirements: 9.1, 9.2, 9.4
[x] 1.4 配置Celery和Redis
创建Celery应用配置
配置Redis作为Broker和Result Backend
设置任务序列化和超时配置
Requirements: 4.1
[x] 2. 用户认证模块
Requirements: 1.7, 9.3
[x] 2.2 实现JWT认证服务
创建JWT token生成和验证逻辑
实现token过期检查
创建认证装饰器
Requirements: 1.1, 1.2
[x] 2.3 实现认证API端点
POST /api/auth/login - 用户登录
POST /api/auth/logout - 用户登出
GET /api/auth/me - 获取当前用户
POST /api/auth/refresh - 刷新Token
Requirements: 1.1, 1.2
[ ]* 2.4 编写认证模块属性测试
Property 2: JWT Token Validation
Validates: Requirements 1.1, 1.2
[x] 2.5 实现RBAC权限控制
创建角色权限装饰器(admin_required, power_user_required)
实现资源访问控制逻辑
Requirements: 1.3, 1.4, 1.5, 1.6
[ ]* 2.6 编写RBAC属性测试
Property 1: Role-Based Access Control (RBAC)
Validates: Requirements 1.3, 1.4, 1.5, 1.6
[x] 3. 用户管理模块 (Admin)
Requirements: 1.7
[ ]* 3.2 编写用户创建验证属性测试
Property 3: User Creation Validation
Validates: Requirements 1.7
[x] 4. AWS凭证管理模块
Requirements: 2.1, 2.3, 9.3
[ ]* 4.2 编写凭证加密属性测试
Property 6: Credential Encryption
Validates: Requirements 2.3, 9.3
[x] 4.3 实现凭证管理API
GET /api/credentials - 获取凭证列表(分页,敏感信息脱敏)
POST /api/credentials/create - 创建凭证
POST /api/credentials/update - 更新凭证
POST /api/credentials/delete - 删除凭证
POST /api/credentials/validate - 验证凭证
Requirements: 2.1, 2.4, 2.6, 2.7
[ ]* 4.4 编写敏感数据脱敏属性测试
Property 5: Sensitive Data Masking
Validates: Requirements 2.7
[x] 4.5 实现凭证分配功能
POST /api/users/assign-credentials - 分配凭证给用户
实现凭证分配验证逻辑
Requirements: 1.8, 2.5
[ ]* 4.6 编写凭证分配属性测试
Property 4: Credential Assignment Enforcement
Validates: Requirements 1.8, 2.5
[x] 4.7 实现基础Assume Role配置
GET /api/credentials/base-role - 获取配置
POST /api/credentials/base-role - 更新配置
Requirements: 2.2
[x] 5. Checkpoint - 认证和凭证模块完成
[x] 6. AWS扫描器模块
Requirements: 10.1, 10.2
[x] 6.2 实现AWS凭证获取
实现Assume Role凭证获取
实现Access Key凭证获取
Requirements: 2.2, 2.3
[x] 6.3 实现AWS扫描器基础框架
创建AWSScanner类继承CloudProviderScanner
实现并行扫描逻辑(concurrent.futures)
实现重试机制(指数退避,最多3次)
Requirements: 4.3, 4.4, 5.5
[ ]* 6.4 编写重试机制属性测试
Property 13: Retry Mechanism
Validates: Requirements 5.5
[x] 6.5 实现VPC相关资源扫描
VPC, Subnet, Route Table, Internet Gateway, NAT Gateway
Security Group, VPC Endpoint, VPC Peering
Customer Gateway, Virtual Private Gateway, VPN Connection
Requirements: 5.1
[x] 6.6 实现EC2相关资源扫描
EC2 Instances (含EBS, AMI信息)
Elastic IPs
Requirements: 5.1
[x] 6.7 实现Auto Scaling和ELB扫描
Auto Scaling Groups (含Launch Template)
Load Balancers (ALB, NLB, CLB)
Target Groups
Requirements: 5.1
[x] 6.8 实现数据库服务扫描
RDS DB Instances
ElastiCache Clusters
Requirements: 5.1
[x] 6.9 实现计算和存储服务扫描
EKS Clusters
Lambda Functions
S3 Buckets, S3 Event Notifications
Requirements: 5.1
[x] 6.10 实现全局服务扫描
CloudFront Distributions
Route 53 Hosted Zones
ACM Certificates
WAF Web ACLs
Requirements: 5.1, 5.2
[ ]* 6.11 编写全局资源扫描属性测试
Property 8: Global Resource Scanning
Validates: Requirements 3.2, 5.2
[x] 6.12 实现监控和管理服务扫描
SNS Topics
CloudWatch Log Groups
EventBridge Rules
CloudTrail Trails
Config Recorders
Requirements: 5.1
[ ]* 6.13 编写资源属性提取属性测试
Property 14: Resource Attribute Extraction
Validates: Requirements 5.4
[ ]* 6.14 编写区域过滤属性测试
Property 9: Regional Resource Filtering
Validates: Requirements 5.3
[ ]* 6.15 编写多账号资源标识属性测试
Property 10: Multi-Account Resource Identification
Validates: Requirements 3.3, 5.7
[x] 7. Checkpoint - 扫描器模块完成
[x] 8. 报告生成模块
Requirements: 6.1
[x] 8.2 实现占位符替换
替换项目元数据占位符(Client Name, Project Name等)
替换日期和版本信息
Requirements: 6.2
[ ]* 8.3 编写占位符替换属性测试
Property 15: Template Placeholder Replacement
Validates: Requirements 6.2
[x] 8.4 实现横向表格生成(HORIZONTAL)
VPC, Subnet, Route Table, NAT Gateway等服务
Security Group, Lambda, SNS, CloudTrail, Config等服务
Requirements: 6.3
[x] 8.5 实现纵向表格生成(VERTICAL)
EC2, RDS, ELB, Auto Scaling Group等服务
CloudFront, S3, Internet Gateway等服务
Requirements: 6.3
[x] 8.6 实现空服务过滤
跳过无资源的服务
Requirements: 6.4
[ ]* 8.7 编写空服务排除属性测试
Property 12: Empty Service Exclusion
Validates: Requirements 4.6, 6.4
[x] 8.8 实现网络拓扑图嵌入
处理用户上传的Network Diagram图片
嵌入到报告指定位置
Requirements: 6.8
[x] 8.9 实现目录更新
自动更新Word文档目录
Requirements: 6.5
[x] 8.10 实现报告存储
保存生成的报告文件
记录报告元数据到数据库
Requirements: 6.6, 6.7
[ ]* 8.11 编写报告内容完整性属性测试
Property 16: Report Content Completeness
Validates: Requirements 6.3, 6.8, 6.9, 3.8
[x] 9. Checkpoint - 报告生成模块完成
[x] 10. 任务管理模块
Requirements: 3.1
[x] 10.2 实现Celery扫描任务
创建scan_aws_resources任务
实现进度更新逻辑
实现任务重试机制
Requirements: 4.1, 4.9, 4.10
[ ]* 10.3 编写任务重试属性测试
Property 22: Worker Task Retry
Validates: Requirements 4.10
[x] 10.4 实现任务管理API
GET /api/tasks - 获取任务列表(分页,状态筛选)
POST /api/tasks/create - 创建任务
GET /api/tasks/detail - 获取任务详情
POST /api/tasks/delete - 删除任务
GET /api/tasks/logs - 获取任务日志(分页)
Requirements: 3.1, 3.4
[ ]* 10.5 编写任务创建验证属性测试
Property 7: Task Creation Validation
Validates: Requirements 3.1
[x] 10.6 实现报告管理API
GET /api/reports - 获取报告列表(分页)
GET /api/reports/detail - 获取报告详情
GET /api/reports/download - 下载报告
POST /api/reports/delete - 删除报告
Requirements: 6.6, 6.7
[ ]* 10.7 编写报告访问属性测试
Property 17: Report Storage and Accessibility
Validates: Requirements 6.6, 6.7
[x] 10.8 实现Worker管理API
GET /api/workers - 获取Worker状态
GET /api/workers/stats - 获取统计信息
POST /api/workers/purge - 清除队列任务
Requirements: 4.8
[x] 11. 错误处理和日志模块
Requirements: 8.1, 8.5
[ ]* 11.2 编写错误日志完整性属性测试
Property 18: Error Logging Completeness
Validates: Requirements 8.1
[x] 11.3 实现任务错误日志
记录扫描过程中的错误
关联错误日志到任务
Requirements: 8.2, 8.3
[ ]* 11.4 编写任务错误显示属性测试
Property 19: Task Error Display
Validates: Requirements 8.3
[ ]* 11.5 编写错误恢复属性测试
Property 11: Error Resilience in Scanning
Validates: Requirements 4.5, 5.6, 8.2
[ ]* 11.6 编写系统错误恢复属性测试
Property 20: System Error Resilience
Validates: Requirements 8.5
[x] 12. Checkpoint - 后端核心功能完成
[x] 13. 前端认证模块
Requirements: 7.1
[x] 13.2 实现路由守卫
创建认证路由守卫
实现角色权限路由控制
Requirements: 7.1
[x] 14. 前端Dashboard模块
[x] 15. 前端任务管理模块
Requirements: 7.3, 7.4
[x] 15.2 实现创建任务表单
AWS账号选择(多选)
区域选择(多选)
项目元数据输入
网络拓扑图上传
Requirements: 7.3, 3.1, 3.8
[x] 15.3 实现任务详情页面
显示任务进度
显示错误日志
Requirements: 7.4, 7.7
[x] 16. 前端报告管理模块
Requirements: 7.5
[x] 16.2 实现报告操作
报告预览功能
报告下载功能
报告删除功能
Requirements: 7.5
[x] 17. 前端管理面板模块 (Admin)
Requirements: 7.6
[x] 17.2 实现凭证管理页面
凭证列表(分页)
创建/编辑/删除凭证
凭证验证
基础Assume Role配置
Requirements: 7.6
[x] 17.3 实现Worker管理页面
Worker状态显示
队列统计信息
Requirements: 7.6
[x] 18. 数据库迁移
Requirements: 9.4
[ ]* 18.2 编写数据库迁移安全属性测试
Property 21: Database Migration Safety
Validates: Requirements 9.4
[x] 19. Final Checkpoint - 全部功能完成
* 的任务为可选测试任务,可跳过以加快MVP开发