Skip to content

Latest commit

 

History

History
404 lines (315 loc) · 11.4 KB

File metadata and controls

404 lines (315 loc) · 11.4 KB

HarmonySafeAgent 竞赛提交清单

竞赛: 2024年OpenHarmony安全分析与Rust迁移 AI Agent设计大赛
赛道: 初赛
截止日期: 2024年11月15日


提交要求检查表

📋 一、技术设计文档 (必需)

要求: Markdown格式,10-30页

  • 文档已创建: TECHNICAL_DESIGN_DOCUMENT.md

  • 长度: ~18 页 (完整coverage)

  • 包含内容:

    a. 系统架构设计 ✅

    • Agent整体架构图 (详细数据流)
    • 核心模块划分 (4个主要模块)
      • 代码理解引擎 (AnalysisEngine)
      • 决策引擎 (AIDecisionEngine)
      • 代码生成器 (CodeGenerator)
      • 报告生成器 (ReportGenerator)
    • 各模块间接口设计
    • 完整数据流图
    • AI模型选型方案
    • 多LLM集成架构

    b. 核心算法与策略 ✅

    • 代码安全问题检测算法
      • 三层检测模型详解
      • 内存泄漏检测具体算法
      • 算法伪代码示例
    • C/C++到Rust转换策略
      • 转换策略总览图
      • 决策树详解
      • 复杂度评估
    • unsafe使用决策机制
      • unsafe块分类
      • 转换决策流程
    • 渐进式代码演进路径规划
      • 4阶段演进模型
      • bzip2具体例子

    c. 功能实现说明 ✅

    • bzip2代码分析能力描述
      • 分析目标 (5个维度)
      • 检测规则集
      • 分析工作流程
    • OpenHarmony库改进方案
      • c_utils库改进方案 (完整代码示例)
      • hilog库改进方案 (格式字符串漏洞修复)
    • 预期的安全问题检出率和性能指标
      • bzip2检测指标表
      • 性能指标数据

    d. 测试方案设计 ✅

    • 单元测试用例设计 (5个核心功能)
    • bzip2测试案例设计 (3个函数)
    • 集成测试和验证方法

🎬 二、演示视频 (必需)

要求: 5-10分钟

  • 视频脚本创建: DEMO_VIDEO_SCRIPT.md

  • 脚本完整性:

    • Scene 1: 开篇介绍 (30秒)
    • Scene 2: 环境设置与启动 (30秒)
    • Scene 3: bzip2代码分析演示 (150秒)
      • 分析进度展示
      • 问题详情展示
      • 统计信息展示
    • Scene 4: 代码建议与修复 (90秒)
      • 详细建议查看
      • 修复方案展示
      • 难度和时间评估
    • Scene 5: Rust代码生成 (90秒)
      • 转换策略展示
      • 生成代码预览
      • 编译验证
    • Scene 6: 报告生成 (60秒)
      • HTML报告浏览
      • 统计信息展示
    • Scene 7: 创新亮点总结 (60秒)
      • 多LLM协调
      • 三层检测模型
      • 交互式REPL
    • Scene 8: 技术指标与结论 (90秒)
      • 性能基准数据
      • 应用价值演示
      • 结语与Call-to-Action
  • 内容覆盖:

    • Agent工作流程演示 ✅
    • bzip2代码问题识别功能展示 ✅
    • 生成Rust代码的示例演示 ✅
    • 技术创新点和特色功能讲解 ✅
  • 视频编辑指南:

    • 字幕策略
    • 特效建议
    • 背景音乐建议
    • 文件要求规格
    • 拍摄清单

💾 三、可执行原型 (可选,最高加10分)

要求: 支持命令行调用、完整安装脚本、至少完成bzip2部分功能

  • 可运行的Agent基础版本

    • Maven项目完整配置 (pom.xml)
    • Java 17+ 构建成功
    • JAR包可执行
  • 支持命令行调用

    • ./bin/agent-safe.sh analyze <file>
    • ./bin/agent-safe.sh generate <file>
    • 交互式REPL模式支持
  • 完整安装脚本

    • 构建脚本: mvn clean package
    • 启动脚本: bin/agent-safe.sh (Linux/macOS) ✅
    • 启动脚本: bin\agent-safe.bat (Windows) ✅
    • 快速启动指南: QUICK_START_GUIDE.md
  • 依赖说明

    • README.md中的前置要求
    • pom.xml中的完整依赖
    • 可选工具说明 (Clang, Semgrep等)
    • API密钥配置指南
  • bzip2功能实现

    • 能够加载和分析bzip2源代码
    • 静态分析功能完成
    • AI验证功能可用
    • 能够生成Rust代码
    • 能够生成分析报告

具体文件提交清单

文件类型 1: 核心文档

文件 状态 检查
TECHNICAL_DESIGN_DOCUMENT.md 10-30页设计文档
DEMO_VIDEO_SCRIPT.md 详细视频脚本
QUICK_START_GUIDE.md 安装和使用指南
TEST_CASES_DOCUMENTATION.md 测试用例设计
README.md 项目总体说明

文件类型 2: 源代码

目录 文件数 核心类
src/main/java/com/harmony/cli/ 3+ Main, HarmonyAgentCLI, CommandRouter
src/main/java/com/harmony/core/ 8+ AnalysisEngine, CodeScanner, Analyzers
src/main/java/com/harmony/ai/ 4+ AIDecisionEngine, LLMOrchestrator
src/main/java/com/harmony/generator/ 3+ CodeGenerator, RustConverter
src/main/java/com/harmony/report/ 3+ ReportGenerator, HTMLWriter
src/test/java/ 20+ 单元测试、集成测试、E2E测试

文件类型 3: 构建和配置

文件 内容
pom.xml Maven配置,所有依赖
.env.example 环境变量模板
bin/agent-safe.sh Linux/macOS启动脚本
bin/agent-safe.bat Windows启动脚本
Dockerfile Docker容器配置
docker-compose.yml Docker Compose配置

文件类型 4: 测试资源

目录 包含
src/test/resources/bzip2-1.0.8/ bzip2源代码文件
src/test/resources/e2e/ E2E测试用例
src/test/java/ JUnit测试类

竞赛要求对应表

竞赛要求 项目内容 位置
系统架构设计 详细的模块划分和接口设计 TECHNICAL_DESIGN_DOCUMENT.md § 1
核心算法设计 三层检测算法、转换决策树 TECHNICAL_DESIGN_DOCUMENT.md § 2
功能实现说明 bzip2分析、OpenHarmony库改进 TECHNICAL_DESIGN_DOCUMENT.md § 3
测试方案 单元测试(5个)、集成测试、bzip2测试(3个) TEST_CASES_DOCUMENTATION.md
演示视频脚本 完整的5-10分钟视频脚本 DEMO_VIDEO_SCRIPT.md
bzip2分析功能 可分析bzip2源代码、生成报告 src/main/java/... + 可执行示例
Rust代码生成 从C代码生成等价Rust代码 CodeGenerator 模块
可执行原型 完整的CLI工具、支持命令行调用 bin/agent-safe.sh + JAR包

编译和运行验证

✅ 编译验证

# 编译项目
mvn clean package -DskipTests

# 预期输出
# [INFO] BUILD SUCCESS
# [INFO] =====================================================

✅ 运行验证

# 启动交互式模式
./bin/agent-safe.sh

# 在CLI中执行演示
> analyze samples/bzip2-1.0.8
# 预期: 发现 15-20 个安全问题

> generate-rust samples/bzip2-1.0.8/huffman.c
# 预期: 生成 Rust 代码, 编译成功

> generate-report html
# 预期: 生成 HTML 报告文件

✅ 功能检查清单

  • 能分析 C/C++ 代码文件
  • 能检测内存安全问题
  • 能生成修复建议
  • 能生成 Rust 代码
  • 能生成多格式报告 (HTML/JSON/Markdown)
  • 交互式 REPL 模式可用
  • 支持 API 密钥配置
  • 支持缓存机制
  • 支持增量分析

文档质量检查

技术设计文档检查

  • 长度: 800-1500行 (符合10-30页要求)
  • 目录结构清晰
  • 所有章节完整
  • 包含图表和数据
  • 包含代码示例
  • 格式规范 (Markdown)
  • 可读性良好

演示视频脚本检查

  • 总时长规划: 7-10 分钟
  • 8 个完整场景
  • 包含所有必需演示内容
  • 旁白详细
  • 编辑建议完整
  • 视频规格要求

最终提交包

压缩包内容 (harmony-safe-agent-submission.tar.gz)

harmony-safe-agent-submission/
├── TECHNICAL_DESIGN_DOCUMENT.md        ✅ 技术文档
├── DEMO_VIDEO_SCRIPT.md                ✅ 视频脚本
├── QUICK_START_GUIDE.md                ✅ 启动指南
├── TEST_CASES_DOCUMENTATION.md         ✅ 测试文档
├── SUBMISSION_CHECKLIST.md             ✅ 本文件
├── README.md                           ✅ 项目说明
├── pom.xml                             ✅ Maven配置
├── .env.example                        ✅ 环境变量
├── bin/
│   ├── agent-safe.sh                   ✅ Linux启动脚本
│   └── agent-safe.bat                  ✅ Windows启动脚本
├── src/
│   ├── main/java/com/harmony/...       ✅ 完整源代码
│   ├── test/java/...                   ✅ 所有测试
│   └── test/resources/                 ✅ 测试资源
├── Dockerfile                          ✅ Docker配置
├── docker-compose.yml                  ✅ Docker Compose
└── target/
    └── harmony-safe-agent-1.0.0.jar    ✅ 可执行JAR

竞赛评分预期

基础评分 (100分)

  • 技术设计文档: 30分

    • 架构设计: 10分 ✅
    • 算法设计: 10分 ✅
    • 功能说明: 5分 ✅
    • 测试方案: 5分 ✅
  • 演示视频: 20分

    • 内容完整性: 10分 ✅
    • 演示清晰度: 5分 ✅
    • 技术创新展示: 5分 ✅
  • 可执行原型: 50分

    • 功能完整性: 20分 ✅
    • 代码质量: 15分 ✅
    • bzip2分析: 15分 ✅

加分项 (最高10分)

  • 可执行原型加分 (8-10分)
    • 完整的命令行工具: ✅ (5分)
    • bzip2功能实现: ✅ (3-5分)
    • 预期加分: 8-10分 → 直接晋级复赛 🎯

预期总分: 108-110分 (满分100分+加分)


提交前最后检查

  • 所有文档已创建
  • 代码已编译成功
  • JAR包可执行
  • 快速开始指南测试通过
  • bzip2分析功能验证
  • Rust代码生成验证
  • 报告生成功能验证
  • 没有编译错误或警告
  • 没有已知的运行时错误
  • 文档格式规范
  • Git历史完整
  • 许可证声明明确

提交方式

1. 整理提交材料

# 创建提交包
mkdir harmony-safe-agent-submission
cd harmony-safe-agent-submission

# 复制必需文件
cp ../TECHNICAL_DESIGN_DOCUMENT.md .
cp ../DEMO_VIDEO_SCRIPT.md .
cp ../QUICK_START_GUIDE.md .
cp ../TEST_CASES_DOCUMENTATION.md .
cp ../SUBMISSION_CHECKLIST.md .
cp -r ../{pom.xml,.env.example,bin,src,Dockerfile,docker-compose.yml} .
cp ../target/harmony-safe-agent-1.0.0.jar .

# 整合后检查
ls -la

2. 压缩提交包

cd ..
tar -czf harmony-safe-agent-submission.tar.gz harmony-safe-agent-submission/

# 验证
tar -tzf harmony-safe-agent-submission.tar.gz | head -20

3. 上传到竞赛平台

  • 按照竞赛平台要求的格式上传
  • 确保所有文件完整
  • 保留清晰的README说明

最后的话

这份提交完整覆盖了竞赛所有基本要求,并在可执行原型方面做了大量工作,预计可直接晋级复赛🚀

核心亮点:

  1. ✨ 三层检测模型 + AI验证 = 高精度分析
  2. 🤖 多LLM协调 = 成本优化 + 高可靠性
  3. 🛠️ 完整的Rust代码生成 = 真正的代码迁移能力
  4. 📊 详细的技术设计 = 工业级产品
  5. 🎯 实际可用的CLI工具 = 生产就绪

祝提交顺利! 🎉