【案例共创】AI驱动的代码安全卫士:CodeArts代码智能审计助手实战
华为云码道(CodeArts)代码智能体是基于智能生成、智能问答两大核心能力构建起一套全方位、多层次的智能开发体系。本案例使用华为云码道自动生成SKILL,构建代码安全审计助手应用。
本案例由开发者:周周的奇妙编程提供,华为开发者空间案例中心优化并收录。
最新案例动态,请查阅【案例共创】AI驱动的代码安全卫士:CodeArts代码智能审计助手实战小伙伴们快来进行实操吧!
一、概述
1.1 案例介绍
华为云码道(CodeArts)代码智能体是基于智能生成、智能问答两大核心能力构建起一套全方位、多层次的智能开发体系。在智能生成方面,它能够依据开发者输入的需求描述,准确且高效地生成高质量代码;智能问答功能则如同开发者身边的专属技术顾问。本案例使用华为云码道自动生成SKILL,构建代码安全审计助手应用。
-
华为云码道(CodeArts)代码智能体:一个理解项目需求,懂得编码之道,善用百器的实干派AI研发专家,开启你的编码自动驾驶模式。本案例中作为交互工具,自动生成项目代码。
-
技能(Skill)是一种能力封装机制,用于将专业知识组织为可复用的模块。技能本质上是由指令、脚本和资源构成的集合,智能体可按需动态加载这些专业化的“技能包”,从而提升特定任务的执行能力与执行效率。本案例中使用码道生成代码安全审计的SKILL。
1.2 适用对象
- 个人开发者
- 高校学生
- 企业开发者
1.3 案例时间
本案例总时长预计60分钟。
1.4 案例流程

说明:
- 开发者下载安装AI IDE,完成华为云码道(CodeArts)代码智能体安装部署;
- 使用华为云码道(CodeArts)代码智能体,自动生成代码安全审计SKILL;
- 华为云码道结合SKILL,自动生成代码安全审计助手应用;
- 浏览器调试运行代码安全审计助手应用。
1.5 资源总览
本案例预计花费0元。
| 资源名称 | 规格 | 单价(元) |
|---|---|---|
| 华为云码道(CodeArts)代码智能体 | 通用体验版 | 免费 |
二、基础环境与资源准备
2.1 AI IDE华为云码道安装部署
参考案例《Windows版AI IDE华为云码道(CodeArts)代码智能体安装部署》完成Windows版AI IDE华为云码道(CodeArts)代码智能体安装部署。

2.2 领取华为云MaaS平台大模型Tokens福利(任选其一)
方式一: 登录华为开发者空间,参考案例《华为开发者空间 - ModelArts Studio大模型通用代金券领取使用指导》中的“二、 开通MaaS平台大模型”章节内容领取代金券,获取到模型的API地址、模型名称和API Key。
方式二: 登录华为开发者空间,参考案例《华为云MaaS平台大模型Tokens领取使用指导》中的“二、 领取MaaS平台大模型Tokens”章节内容,领取MaaS平台DeepSeek V3系列大模型Tokens代金券,购买ModelArts Studio DeepSeek Tokens套餐包,开通模型服务,最后获取到模型的API地址、模型名称和API Key。


注意:记录API Key、API地址以及模型名称留作后面步骤使用。
三、基于CodeArts代码智能体高效构建自动化代码审计助手
3.1 代码审计SKILL构建
考虑到代码审计是专业性比较强的东西,所以这里计划使用SKILL来构建,先简单介绍一下SKILL。
Skill是由claude提出的概念,其核心是一份 Markdown 文件(SKILL.md)。当Skill被调用时,系统并不会去“运行”这个 Skill,而是读取这个文件,将其中的大量指令、工作流和知识“展开”并“注入”到当前的对话历史中。
Skill本质上来说是一种“提示词扩展”,而非具体的“代码执行”,与传统的提示词相比,只是加载方式不同。
那么,它与MCP之间究竟有何区别?
MCP刚兴起时,业界普遍将其比喻为给AI装上了“手”和“脚”,那如果说MCP是让AI具备“行动力”的肢体,那 Skill就像是它的“操作手册”或“行为指南”。
举例来说,一个“篮球 Skill”可能定义了:何时拍球、何时跨步、何时起跳投篮——它将复杂动作拆解为可执行的步骤,并指导AI在特定情境下做出恰当响应。
从这个角度看,Skill 确实具备类似workflow的结构化特征,但它又比传统workflow更具灵活性:它不仅描述“怎么做”,还隐含“为什么这么做”和“在什么条件下做”,更贴近人类专家的经验式决策逻辑。
这里,我们采用智能体的规范驱动模式,让CodeArts代码智能体理解我的意图,给出prompt如下:
核心诉求:我想做一个能"自动做代码安全审计"的Skill,请帮我实现。
任务背景:我经常需要做代码审计,找出源码中的安全风险,生成漏洞报告。报告需要给出完整的source到sink的调用链路径,并提供漏洞触发PoC。我希望这个工具能一键搞定。
具体要求:
1. 仅针对Web框架,从HTTP请求入口出发作为source点
2. 支持正向审计:从source出发,完整分析代码逻辑,找调用链,理解业务,发现漏洞
3. 支持反向审计:通过规则梳理所有sink点,从sink往回找,最终必须能追溯到HTTP入口
4. 利用Claude LSP来做代码跳转和检索,而不是单纯搜索匹配
5. 最终漏洞必须可通过网络请求触发,需要完整调用链和PoC
6. 能组合多个漏洞/功能,构建完整攻击链

点击发送按钮后,码道按照需求规格设计->实现方案创建->编码任务规划->任务执行来帮助我们实现功能。
开始阶段1:生成需求规格说明文档(spec.md)

此时,我们选择开始实现方案创建,提交后,码道会先生成design.md,这是详细设计文档,包含了技术架构和具体模块和函数接口。
执行阶段2:实现方案创建(生成design.md)

design.md文件生成后,我们点击开始编码任务规划。
执行阶段3:编码任务规划(生成tasks.md)

编码任务规划完成后,点击开始任务执行。
最后阶段4:任务执行
已经完成了Web代码安全审计Skill的完整SDD规划,包括需求规格说明、实现方案设计和详细的编码任务规划,开始代码实现。

等待一段时间后,华为云码道帮助我们生成了代码审计SKILL。项目文件结构如下:
web-code-audit/
├── .codeartsdoer/specs/web_code_audit/ # SDD文档
├── src/
│ ├── types/index.ts # 类型定义
│ ├── services/ # 基础服务层
│ │ ├── ConfigManager.ts
│ │ ├── LogManager.ts
│ │ ├── LSPClient.ts
│ │ ├── CodeParser.ts
│ │ ├── RuleEngine.ts
│ │ └── CacheManager.ts
│ ├── index.ts # 主入口
│ └── cli.ts # CLI接口
├── config/config.yaml # 配置文件
├── examples/django-vulnerable-app/ # 示例应用
├── package.json # 项目依赖
├── tsconfig.json # TypeScript配置
├── README.md # 项目文档
└── PROJECT_SUMMARY.md # 项目总结
代码生成后,给码道发送“运行代码”的指令,码道自动帮助我们安装依赖、构建项目代码并解决编译错误。

Web代码安全审计Skill的基础框架已经成功实现并稳定运行!
3.2 创建代码审计助手WEB应用
在华为云码道对话框中,输入以下prompt。
创建一个Web应用,让用户可以上传代码包,然后利用我们刚开发的Web Code Audit Skill进行自动审计,并且需要集成大模型来执行审计流程。
AI功能使用ModelArts Studio的API实现,具体参数如下:
API地址:YOUR_API_URL;
model参数:YOUR_MODEL_NAME;
API KEY:YOUR_API_KEY
注意:
- YOUR_API_URL:替换成步骤“2.2 领取华为云MaaS平台大模型Tokens福利”中获取的API地址。
- YOUR_MODEL_NAME:替换成步骤“2.2 领取华为云MaaS平台大模型Tokens福利”中获取的模型名称。
- YOUR_API_KEY:替换成步骤“2.2 领取华为云MaaS平台大模型Tokens福利”中获取的API Key。
几分钟后,华为云码道帮助我们生成了完整的代码,代码结构如下:
web-app/
├── server/ # 后端服务器
│ ├── server.js # Express服务器
│ ├── package.json # 依赖配置
│ ├── .env # 环境变量示例
│ └── services/
│ ├── auditService.js # 审计服务(集成Web Audit Skill)
│ └── aiService.js # AI服务(集成大模型)
├── client/ # 前端界面
│ ├── index.html # 主页面(现代化UI)
│ └── app.js # 前端脚本
├── uploads/ # 上传文件存储
├── start.bat # Windows启动脚本
├── start.sh # Linux/Mac启动脚本
├── README.md # 使用文档
└── WEB_APP_SUMMARY.md # 完成总结
应用启动后,打开浏览器访问:http://localhost:3000

注意:
- 本项目运行需Node.js环境,请提前安装配置。
- 如果生成的代码出现报错,可将具体错误信息发送给码道,码道会协助排查和解决。
3.3 测试验证代码审计助手
上传web-app/test-code.zip文件,测试代码审计助手。
点击开始审计:

上传文件->解压文件->代码分析,开始审计。

审计结果:


注意:由于本应用是CodeArts代码智能体自动生成,每次提问生成的代码及最后的运行结果均存在出入,开发者可根据自己的需求,调教模型生成自己想要的结果。若想体验与案例一样的结果,请下载源码进行体验。
至此,AI驱动的代码安全卫士:CodeArts代码智能审计助手实战的案例已全部完成。
四、反馈改进建议
如您在案例实操过程中遇到问题或有改进建议,可以到论坛帖评论区反馈即可,我们会及时响应处理,谢谢!
更多推荐




所有评论(0)