
最近随着OpenClaw“养龙虾”的爆火AI不再是屏幕后的“对话者”而是已经演变成了拥有手脚、能够自主决策的AI Agent智能体。然而当AI Agent开始代你回邮件、管财务、规划行程时其安全风险也随之浮现。在AI Agent进行资源调度与任务执行的过程中不可避免地需要处理高价值、强敏感的数据。如何确保Agent的执行逻辑不被篡改、处理过程中的数据不被泄露、处理的结果可靠可信都是Agent时代安全面临的挑战。本文分三步走手把手介绍了鲲鹏AI Agent安全解决方案展示了从鲲鹏机密虚机配置拉起到OpenClaw高安部署再到龙虾安全skills度量与证明的全流程为鲲鹏开发者提供安全参考方案。智算时代的“安全危机”Agent系统面临的安全挑战在AI技术从“简单的对话框”向“自主决策的Agent智能体”进化的过程中Agent被赋予了前所未有的权限它们可以读取私密文档、调用系统API甚至自主编写并执行代码。然而这种能力的飞跃也带了巨大的安全风险针对Agent的安全攻击也开始涌现。OpenClaw爆火之后网信办发布了Agent安全风险提示OWASP也发布了Agent系统面临的Top 10安全威胁。结合多方观点我们总结了Agent面临的四大核心安全风险提示词注入风险提示词注入攻击是AI时代的新型攻击形式攻击者在Agent与外部交互的数据中嵌入恶意指令诱导Agent执行恶意操作。数据泄露风险在多Agent系统中不同Agent之间往往共享计算资源攻击者可以通过内存嗅探、非法跨域访问等手段窃取其他高价值Agent的核心模型参数与输入数据。超高权限运行风险以OpenClaw为代表的Agent通常拥有调用底层系统资源、访问内网数据库以及操控办公软件等高特权增加了系统级的安全风险。从两个方面看一方面是当Agent自身出现“误操作”时可能带来恶劣的影响如删除邮件篡改关键信息等另一方面当Agent被攻击时很容易成为自动化的横向移动跳板。供应链安全风险 攻击者通过插件、技能包等向Agent植入恶意代码或者污染记忆文件植入恶意指令使Agent执行有害行为。鲲鹏新一代CCA机密计算架构面对上述安全风险鲲鹏下一代机密计算架构CCA通过在芯片层面引入全新的隔离与加密机制将AI Agent的运行环境从“易受攻击的公共环境”搬进了“安全可信的保险箱”。如图所示鲲鹏CCA架构主要有三大安全机制增强硬件隔离的Realm动态管理机制鲲鹏CCA架构中引入了一个超越传统TrustZone安全区Secure的概念——机密域Realms从而将系统通过硬件级强隔离分为了三个不同特权等级的分区普通区normal用以运行传统的系统软件和应用如操作系统Hypervisor等高安区secure用以部署专用的安全应用提供密钥管理、加解密、安全存储、设备认证等服务确保系统核心数据加密密钥的安全性机密区Realm根据客户需求灵活配置资源动态拉起和销毁极大提升了分布式推理服务器的资源利用率。把AI Agent的核心执行逻辑部署在Realm中即便底层的Linux内核被攻破攻击者也无法窥探或进入Realm内部。内存加密技术鲲鹏CCA架构采用国密SM4算法对属于Realm和Secure的内存空间进行硬件级高性能加密。即便是通过 FPGA 进行内存取证或冷启动攻击攻击者抓取的也只能是毫无意义的乱码无法提取保存在内存中的 Agent 的敏感私有知识库可信远程证明用户在向CCA中部署的Agent交付任务前可以通过远程证明协议校验当前运行环境的完整性以及验证用户定义的 Skills、插件的完整性任何细微的代码篡改或投毒都会导致证明失败。为“龙虾”穿上“防弹衣”基于CCA构建机密Agent软硬件结合保证Agent看得见、管得住、用得好当OpenClaw的灵活性遇上鲲鹏CCA的坚固性一套专为 AI Agent 设计的“纵深防御体系”应运而生。如图所示鲲鹏AI Agent安全解决方案包含如下关键技术安全隔离将Agent部署在机密计算环境中防止外部攻击者获取Agent的敏感信息并阻止恶意Agent横向攻击其他Agent实例以及Host。可信授权通过linux内核的eBPF等技术实现Agent的细颗粒度动态权限管控并结合安全沙箱保证进程运行在容器中只能看到预定义的资源防止恶意进程越狱破坏宿主机OS。记忆安全Agent记忆存储按是否涉及用户隐私进行分类隐私数据在私有存储空间加密存储非隐私数据多Agent共享明文存储。结合高安域的高性能密钥管理服务实现一Agent实例一密钥最大可支持1000 Agent实例。同时结合openGauss数据库的闪回技术实现记忆和文件数据的秒级恢复与回滚有效消减了因为Agent高权限带来的误操作风险。具体来说就是将Agent的操作在直接写入文件系统前先写入数据库结合数据库闪回恢复功能可以有选择性的撤销一个已提交事务的影响将数据从人为不正确的操作中进行恢复。在采用闪回技术之前只能通过备份恢复、PITR等手段找回已提交的数据库修改恢复时长需要数分钟甚至数小时。采用闪回技术后恢复已提交的数据库修改前的数据只需要秒级而且恢复时间和数据库大小无关。远程证明对机密虚机的运行环境以及运行在机密虚拟机中的Agent Skills完整性进行校验并通过可视化的报告向用户提供安全性证明。一旦运行环境或者skills被篡改则可以动态报警。该方案的Demo视频及鲲鹏昇腾创享月AI Agent解决方案安全主题演讲可观看下方视频进一步了解该完整方案计划分步骤开源开放当前在已经发布的鲲鹏920新型号上支持了基于virtCCA的机密虚拟机能力和OpenClaw的机密部署。接下来我们会介绍如何一步步在鲲鹏服务器上部署一个机密Agent。机密龙虾部署流程首先服务器需加载TEE License使能TEE套件特性在缺少TEE License情况下特性关闭BIOS无法打开特性使能开关。在TEE License已导入的情况下我们首先通过BIOS配置选项选择开启TEE特性并配置TEE安全内存大小。配置TEE支持Step 1重启或上电服务器登录BIOS配置选项Step 2在BIOS配置选项进入“Advanced Memory Configuration”配置菜单Step 3将“Channel Interleaving 3Way”选项配置为“Disabled”Step 4在BIOS配置选项中进入“Security TEE Configuration”配置菜单Step 5:将“Support TEE”选项配置为“Enabled”Step 6:根据业务场景需要配置TEE安全内存大小说明Max Volume of Secure Memory表示当前内存插法下NUMA均分时允许配置的最大安全内存大小。TEE Memory Size表示选取目标安全内存大小。其中AUTO模式不会考虑NUMA均分会分配尽可能多的安全内存。Step 7按“F10”保存、退出BIOS配置选项。安装核心组件并配置环境变量为构建一个安全的虚拟化环境支持TEE的隔离执行和安全启动需安装libvirt、QEMU、Host Kernel、EDK2、qcow2镜像一系列相关组件。具体安装过程和环境变量的配置可以参考https://www.hikunpeng.com/document/detail/zh/kunpengaiagent/bestpractice/aiagent-0084.html配置机密虚拟机Step 1创建并编辑libvirt启动机密虚拟机的cvm.xml编辑内容如下domain typekvm xmlns:qemuhttp://libvirt.org/schemas/domain/qemu/1.0namecvm/namememory unitGiB8/memoryvcpu placementstatic4/vcpucputunevcpupin vcpu0 cpuset0/vcpupin vcpu1 cpuset1/vcpupin vcpu2 cpuset2/vcpupin vcpu3 cpuset3/emulatorpin cpuset0-3//cputunenumatunememnode cellid0 modestrict nodeset0//numatuneostype archaarch64 machinevirthvm/typeloader readonlyyes typerom/usr/share/edk2/aarch64/QEMU_EFI.fd/loaderboot devhd//osfeaturesacpi/gic version3//featurescpu modehost-passthroughtopology sockets1 dies1 clusters1 cores4 threads1/numacell id0 cpus0-3 memory8 unitGiB//numa/cpuon_poweroffdestroy/on_poweroffon_rebootrestart/on_rebooton_crashdestroy/on_crashdevicesemulator/usr/libexec/qemu-kvm/emulatorconsole typepty/disk typefile devicedisk modelvirtio-non-transitionaldriver nameqemu typeqcow2 queues2 cachenone iommuon/source file/home/virsh/cvm/openEuler-24.03-SP2-cvm-aarch64.qcow2/target devvda busvirtio//diskinterface typebridgesource bridgevirbr0/driver iommuon event_idxoff/model typevirtio-non-transitional//interface/deviceslaunchSecurity typecvm/qemu:commandlineqemu:arg value-object/qemu:arg valuetmm-guest,idtmm0,sve-vector-length128,num-pmu-counters1//qemu:commandline/domainStep 2启动前机密虚拟机的libvirt配置xml文件内容应修改vda disk的source file路径为qcow2文件系统绝对路径。Step 3使用virsh define定义虚拟机配置。virsh define cvm.xmlStep 4执行以下命令启动机密虚拟机virsh start cvmStep 5执行以下命令进入机密虚拟机串口virsh console cvm在机密虚机中部署OpenClawStep 1构建LUKS加密盘作为记忆存储区域。可自定义加密盘大小qemu-img create -f qcow2 disk.qcow2 10GStep 2将镜像写入机密虚拟机启动配置xmldevicesdisk typefile devicediskdriver nameqemu typeqcow2/source file/path/to/disk.qcow2/target devvdb busvirtio/address typepci domain0x0000 bus0x00 slot0x04 function0x0//disk/devicesStep 3启动并登录机密虚机安装加密工具查看挂载镜像路径安装加密工具并查看块设备yum install cryptsetuplsblk使用cryptsetup将磁盘格式化为指定加密模式的磁盘并映射到“/dev/mapper”下作为DM设备后续读写均通过该设备进行设置口令要求至少8位。盘符需根据实际情况选择防止系统盘被破坏确认命令请输入大写YES。cryptsetup luksFormat /dev/vda -c sm4-xts-plain64 --key-size 256 --hash sm3解密并映射磁盘根据提示输入口令映射成功后可通过lsblk查看设备信息。cryptsetup luksOpen /dev/vda crypt1制作文件系统并挂载到指定目录。mkfs.ext4 /dev/mapper/crypt1 #首次部署使用该命令后续可不执行以免数据丢失mkdir -p /mnt/cryptmount /dev/mapper/crypt1 /mnt/crypt使用完毕后解除挂载并使用cryptsetup关闭加密磁盘。umount /mnt/crypt/cryptsetup close cryptStep 4部署并安装依赖更新njs22的源。当前openEuler镜像不支持在njs安装脚本中进行版本检查需注释相关代码。虚拟机内使用wget时可能因证书问题导致下载失败建议在执行wget命令前执行以下命令。echo check_certificateoff ~/.wgetrcwget https://rpm.nodesource.com/setup_22.xsed -i 35,37s/^/#/ setup_22.xbash setup_22.x安装依赖。yum install -y git cmakeyum install -y nsolidwget https://rpm.nodesource.com/pub_22.x/nodistro/nsolid/aarch64/nsolid-22.22.0-ns6.2.0.aarch64.rpmrpm -ivh nsolid-22.22.0-ns6.2.0.aarch64.rpm安装完成后可通过以下命令进行验证。node -v安装pnpm。npm install -g pnpm如果安装过程中出现如下报错可以执行以下命令关闭证书检验。npm config set strict-ssl falseStep 5安装并配置OpenClaw配置环境变量。export OPENCLAW_STATE_DIR/mnr/crypt/.openclawexport OPENCLAW_CONFIG_PATH/mnt/crypt/.openclaw/openclaw.json安装OpenClaw。cdwork dirgit clone https://github.com/openclaw/openclaw.gitcd openclawpnpm install说明如果不希望验证可以配置git config --global http.sslVerify false。pnpm setupsource /root/.bashrcpnpm link --globalpnpm run build查看OpenClaw版本。openclaw -v运行机密龙虾Step 1初次运行OpenClaw需要setup。openclaw setup --workspace /mnt/crypt/.openclaw/workspaceStep 2:修改“.bashrc”文件,在文件中加入如下环境变量export OPENCLAW_STATE_DIR/mnt/crypt/.openclawexport OPENCLAW_CONFIG_PATH/mnt/crypt/.openclaw/openclaw.json修改后导入配置并再次setupsource ~/.bashrcopenclaw setup --workspace /mnt/crypt/.openclaw/workspaceStep 3运行Gatewayopenclaw gatewayStep 4拉起机密OpenClaw开始互动openclaw tui总结与展望AI时代Agent系统的规模应用带来了巨大的机会也带来了严峻的安全挑战如何通过新的安全架构保证Agent系统的安全可信将是未来一段时间安全研究的重中之重。本文介绍了华为鲲鹏AI Agent安全解决方案的整体思路并在鲲鹏已发布产品和开源代码上展示了如何结合鲲鹏机密计算部署OpenClaw实现“机密龙虾”。未来我们会持续在AI和Agent安全上深耕并逐渐开源开放更多的安全方案。