软件工程实践:从零到一,开发 AI 提示注入闯关平台

一、前言

本学期软件工程课程实践,我和团队(网安盾影队)一起完成了AI 提示注入闯关平台的完整开发。从最开始对需求模糊、技术不熟悉,到最后完成可运行、可演示、可部署的完整项目,经历了完整的软件工程全流程:需求分析、架构设计、编码实现、测试、部署、文档、复盘。整个过程收获巨大,不仅提升了技术能力,更真正理解了软件工程思维、团队协作、规范、质量、沟通、复盘的重要性。

二、项目背景与意义

随着 AI 大模型快速普及,** 提示注入(Prompt Injection)** 成为最常见、最核心的安全漏洞之一。很多网络安全专业学生、CTF 选手、安全爱好者只听过概念,没有真正动手实践。市面上缺少轻量化、易部署、教学式、闯关式的 AI 安全实训平台。

因此我们开发了AI 提示注入闯关平台,目标是:

面向安全初学者,通过闯关学习提示注入原理

阶梯式难度,由易到难,逐步掌握 Payload 构造

轻量化,易部署,适合课堂教学、自学练习

完整闭环:闯关、验证、提示、解法、统计

项目技术栈:

前端:Angular + TypeScript

后端:Node.js + Express + TypeScript

数据库:SQLite

开发工具:VS Code、Git、Postman、Jest

协作工具:GitHub、飞书、墨刀、ProcessOn

三、项目整体架构

架构设计(前后端分离)

前端:页面渲染、交互、AI 对话界面、闯关展示

后端:API 接口、Payload 验证引擎、用户进度管理

数据库:用户表、关卡表、闯关记录表

核心引擎:AIPromptEngine,负责输入处理、规则匹配、漏洞判定

功能模块

闯关模块:8 个递进关卡,难度由易到难

AI 交互模块:模拟真实 AI 对话,支持用户输入 Payload

验证模块:Payload 关键词匹配,自动判定闯关成功 / 失败

进度模块:记录用户闯关状态、得分、尝试次数

提示模块:提供闯关提示与官方解法

四、核心功能展示

  1. 平台首页(关卡列表)

页面清晰简洁,难度分级明确,新手一目了然。

  1. AI 交互闯关页

模拟真实 AI 聊天,输入 Payload 即可触发验证,交互自然。

  1. 闯关成功页面

验证逻辑清晰,结果反馈及时。

  1. 后台核心代码(Payload 验证算法)

    /**

    • Payload验证核心算法
    • 输入:用户输入内容、当前关卡规则
    • 输出:是否成功+提示信息
      */
      function validatePayload(userInput: string, rule: string): boolean {
      // 统一转为小写,忽略大小写差异
      const lowerInput = userInput.trim().toLowerCase();
      // 拆分规则关键词(支持多关键词组合)
      const keywords = rule.split(',').map(k => k.trim().toLowerCase());
      // 检查是否包含所有关键词
      return keywords.every(k => lowerInput.includes(k));
      }

    // 关卡验证主逻辑
    function checkChallenge(
    userInput: string,
    challengeRule: string
    ): { success: boolean; message: string } {
    if (validatePayload(userInput, challengeRule)) {
    return { success: true, message: '🎉 闯关成功!Payload命中注入规则' };
    } else {
    return { success: false, message: '❌ 闯关失败,请尝试构造正确Payload' };
    }
    }

这段代码是项目核心,逻辑严谨、简单高效,支撑所有关卡验证。

  1. 数据库设计截图

表设计清晰,字段合理,满足用户数据持久化。

  1. Git 提交记录

全程版本控制,开发过程可追溯。

五、开发过程与挑战

  1. 技术挑战

跨域问题:前后端联调阶段频繁遇到跨域,最终配置 CORS 解决。

异步数据库操作:Node.js 异步逻辑不熟练,多次调试。

Payload 规则设计:如何简单又能体现注入原理,反复调整。

  1. 协作挑战

初期需求不一致:对关卡规则理解不同,讨论很久。

分工边界模糊:联调阶段责任不清,互相推。

沟通不及时:小问题积累,后期集中爆发。

  1. 如何解决

统一原型 + 文档:前期原型、类图、需求全部对齐。

明确分工:前端、后端、算法固定负责。

每日站会:15 分钟同步进度、暴露问题。

结对互审:代码提交前互相检查。

六、收获与成长

  1. 技术能力提升

掌握前后端分离开发、RESTful API 设计

熟练使用TypeScript、Node.js、Express、SQLite

学会核心算法设计、调试、优化

理解插件化架构、分层设计、模块化

  1. 软件工程能力

完整经历需求→设计→编码→测试→部署→文档→复盘

学会WBS、敏捷迭代、燃尽图、版本管理

养成代码规范、注释、测试、文档习惯

  1. 团队协作能力

从陌生到默契,从磨合到创造

学会分工、沟通、妥协、互助、复盘

理解1+1>2的团队力量

  1. 思维转变

从只会写代码 → 会做产品

从单打独斗 → 团队协作

从不重视规范 → 重视质量与维护

七、心得体会

  1. 软件工程 = 规范 + 协作 + 质量 + 复盘

以前以为软件工程是纸上谈兵,做完项目才知道:规范能减少 80% 错误,协作能提高效率,质量决定产品寿命,复盘让人成长。

  1. 团队比个人重要

一个人能写代码,但一个团队才能做出软件。互相包容、互相支持、及时沟通,是项目成功关键。

  1. AI 是强大工具,但不能替代

AI 帮我写代码、写文档、写测试、整理思路,效率翻倍。但需求理解、逻辑设计、质量把控、创新必须靠人。AI 辅助、人工主导,才是正确方式。

  1. 从零到一,最难的是开始

项目初期最难:技术不熟、需求不清、分工不明、焦虑迷茫。坚持下来,一步一步走,就会慢慢变好。

项目截图:

gitee 地址:SE-NetSec-2026-网安盾影队: 网安23级软件工程课程团队项目仓库,用于网络安全相关工具/系统的开发、协作与版本管理

八、总结

本次软件工程课程实践,不仅完成了AI 提示注入闯关平台,更完成了一次真正的软件工程实战。收获的不只是代码,更是思维、能力、协作、心态的全面成长。未来会继续努力,把学到的软件工程思维用到更多项目中,不断进步。

相关推荐
Mr数据杨12 小时前
【CanMV K210】传感器实验 HC-SR04 超声波测距与状态判断
人工智能·硬件开发·canmv k210
beyond阿亮12 小时前
PicoClaw皮皮虾: 端侧设备能跑AI智能体 超轻量AI智能体 极低成本硬件跑AI Agent,内存小于10MB
人工智能·ai·openclaw·picoclaw
kennyS_Titan12 小时前
PCB多层板升级,支撑智能硬件加速落地
人工智能·智能硬件
新加坡内哥谈技术12 小时前
Apple 和 Google 正在如何改造你的 push notification
人工智能
我材不敲代码12 小时前
【OpenCV零基础实战】键盘交互、像素位运算、通道离合、色彩转换与智能抠像
人工智能·opencv·计算机外设
yubo050912 小时前
计算机视觉第二课:3 个核心操作(灰度图 + 模糊 + 边缘检测)
人工智能·opencv·计算机视觉
Apache RocketMQ12 小时前
全新 AI 消息模型:Apache RocketMQ 如何让 AI 应用拥抱事件驱动架构?
人工智能·apache·rocketmq
TMT星球12 小时前
比亚迪发布中国首款4nm制程智驾芯片,布局高等级自动驾驶
人工智能·机器学习·自动驾驶
金融Tech趋势派12 小时前
企业微信营销获客实战指南:如何用企业微信AI SCRM工具实现低成本高转化
大数据·人工智能·企业微信