譯者 | 晶顏
審校 | 重樓
代理式人工智能(Agentic AI)具備自主編寫(xiě)與部署代碼的能力,由此衍生出新的安全風(fēng)險(xiǎn),因而需要人工監(jiān)督與強(qiáng)有力的保障機(jī)制。
自2022年底ChatGPT及生成式人工智能(GenAI)成為主流以來(lái),其影響力的持續(xù)攀升對(duì)軟件開(kāi)發(fā)行業(yè)產(chǎn)生了直接影響。生成式人工智能工具編寫(xiě)可執(zhí)行代碼的能力被視作顯著優(yōu)勢(shì)之一,且此后人工智能一直在持續(xù)迭代優(yōu)化。代理式人工智能的興起是軟件開(kāi)發(fā)領(lǐng)域的下一個(gè)重大變革,它能夠自主編寫(xiě)、調(diào)試代碼,并將代碼部署至運(yùn)行環(huán)境,這一特性也要求我們從安全視角對(duì)其進(jìn)行重新審視。
長(zhǎng)期以來(lái),網(wǎng)絡(luò)安全專業(yè)人士始終強(qiáng)調(diào)“左移”方法是至關(guān)重要的安全支柱,即盡可能在軟件開(kāi)發(fā)生命周期的早期階段集成安全控制措施。然而,隨著人工智能的智能化程度不斷提升,當(dāng)前我們面臨著在完全由人工智能編寫(xiě)、無(wú)需人類參與的環(huán)境中保障軟件安全的新課題。
本文旨在研究這一范式轉(zhuǎn)變所帶來(lái)的新挑戰(zhàn),以及為應(yīng)對(duì)代理式人工智能環(huán)境,必須實(shí)施的人機(jī)協(xié)同審查機(jī)制。
人工智能軟件代理的興起
近年來(lái),人工智能生成代碼的技術(shù)迅速發(fā)展,亞馬遜Q Developer、GitHub Copilot和谷歌Gemini等工具借助大型語(yǔ)言模型(LLM)實(shí)現(xiàn)代碼生成功能。這些工具起初扮演輔助開(kāi)發(fā)者的角色,助力代碼創(chuàng)建與調(diào)試工作,而代理式人工智能則通過(guò)賦予系統(tǒng)自主性,將這一能力提升至全新高度,使其能夠在無(wú)人干預(yù)的情況下完成代碼生成、調(diào)試、測(cè)試及部署全流程操作。
這種功能并不局限于單個(gè)人工智能代理,實(shí)際應(yīng)用中已出現(xiàn)多個(gè)AI代理協(xié)同作業(yè)的場(chǎng)景,它們分別承擔(dān)軟件設(shè)計(jì)、測(cè)試、編碼及項(xiàng)目管理等不同角色。這一模式轉(zhuǎn)變影響深遠(yuǎn),不僅改變了軟件開(kāi)發(fā)的傳統(tǒng)模式,也對(duì)網(wǎng)絡(luò)安全領(lǐng)域產(chǎn)生了顛覆性影響,從根本上重塑了網(wǎng)絡(luò)安全威脅格局。
除了傳統(tǒng)軟件開(kāi)發(fā)中已存在的風(fēng)險(xiǎn)外,人工智能生成的代碼還可能引入新的安全隱患,任何有意在軟件開(kāi)發(fā)中采用人工智能代理的企業(yè),都必須對(duì)這些潛在問(wèn)題予以充分考量。
新的威脅形勢(shì)
以下將對(duì)這一模式引入的新型安全風(fēng)險(xiǎn)展開(kāi)分析:
1. 安全性設(shè)計(jì)薄弱
傳統(tǒng)軟件開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)人員與網(wǎng)絡(luò)安全專業(yè)人士憑借自身經(jīng)驗(yàn),能夠充分考慮潛在威脅場(chǎng)景,遵循安全設(shè)計(jì)模式,并運(yùn)用專業(yè)領(lǐng)域知識(shí)進(jìn)行開(kāi)發(fā)。然而,人工智能代理若未得到明確指導(dǎo),便缺乏實(shí)際應(yīng)用場(chǎng)景理解與威脅建模能力。
若在提示信息或訓(xùn)練數(shù)據(jù)中未融入安全設(shè)計(jì)原則,人工智能代理生成的代碼雖可能具備基礎(chǔ)功能,但在抵御攻擊方面存在嚴(yán)重缺陷,例如出現(xiàn)硬編碼密鑰、未對(duì)輸入進(jìn)行安全校驗(yàn)、訪問(wèn)控制配置錯(cuò)誤等問(wèn)題。
2. 有毒的訓(xùn)練數(shù)據(jù)和模型偏差
人工智能代理高度依賴從公共存儲(chǔ)庫(kù)中抓取的大型數(shù)據(jù)集。若這些數(shù)據(jù)集中包含不安全代碼或惡意模式(如已知存在安全漏洞的依賴項(xiàng)、不良編程實(shí)踐等),代理可能會(huì)在無(wú)意識(shí)的情況下“學(xué)習(xí)”并復(fù)制這些不安全行為。
此外,攻擊者可能試圖投毒訓(xùn)練數(shù)據(jù)集或注入惡意代碼,誘使代理生成包含后門(mén)的代碼。在持續(xù)集成(CI)環(huán)境中使用人工智能代理時(shí),這一問(wèn)題尤為突出,可能引發(fā)嚴(yán)重的安全后果。
3. 缺乏可追溯性
在人工開(kāi)發(fā)模式下,Git等版本控制系統(tǒng)能夠完整記錄代碼編寫(xiě)的歷史信息,實(shí)現(xiàn)代碼的可追溯性。但人工智能代理生成的代碼片段往往缺乏明確的來(lái)源標(biāo)識(shí)與背景信息。這種可追溯性的缺失使得以下問(wèn)題難以確定:
- 代碼是從哪里來(lái)的;
- 代碼是否復(fù)用自存在安全隱患或已遭破壞的來(lái)源;
- 是否存在違反軟件許可證使用規(guī)定的情況。
4. 代理式AI漏洞
如果代理能夠訪問(wèn)文檔、外部應(yīng)用程序編程接口(API)及運(yùn)行時(shí)環(huán)境,這些代理自身便成為攻擊目標(biāo)。惡意提示、被污染的文檔或不安全的插件,都可能操縱代理生成不安全的配置或?qū)е聭{證泄露。
這意味著軟件安全防護(hù)工作已延伸至保護(hù)人工智能代理的運(yùn)行環(huán)境,而這一全新挑戰(zhàn)或許超出了當(dāng)前網(wǎng)絡(luò)安全專業(yè)人士的應(yīng)對(duì)能力范疇。以下為具體威脅場(chǎng)景分析:
(1)與開(kāi)發(fā)者意圖不一致
代理系統(tǒng)無(wú)法真正理解人類價(jià)值觀及企業(yè)安全政策,僅以任務(wù)成功執(zhí)行為優(yōu)化目標(biāo),這可能導(dǎo)致目標(biāo)不一致問(wèn)題。例如,開(kāi)發(fā)人員創(chuàng)建用于“自動(dòng)化新工程師入職流程”的人工智能代理,該代理可能出于追求效率與簡(jiǎn)便性,為新用戶賬戶賦予過(guò)高的管理權(quán)限,從而違反企業(yè)最小權(quán)限原則。此類情況并非出于惡意,而是自然語(yǔ)言表達(dá)與安全設(shè)計(jì)理念之間存在理解偏差所致。
(2)代理接管和提示劫持
具備文件、命令或API讀寫(xiě)權(quán)限的代理系統(tǒng),可能因惡意或已遭破壞的數(shù)據(jù)源而被攻擊者劫持。這類攻擊可能類似于供應(yīng)鏈攻擊,不同之處在于此處的“供應(yīng)鏈”涉及文檔、提示信息或插件等。截至2025年,已有相關(guān)案例報(bào)道顯示代理遭受攻擊后執(zhí)行了未經(jīng)授權(quán)的操作。
新方法:Secure-AI-DevOps
對(duì)人工智能代理的安全防護(hù)不能僅局限于代碼審查與掃描,而需重新審視“左移”策略的實(shí)施方式。為此,我們提出一種全新的方法——Secure-AI-DevOps,該方法集成了以下核心原則:
1. 人在循環(huán)(HITL)監(jiān)督
無(wú)論人工智能代理的技術(shù)如何先進(jìn),人類監(jiān)督始終是整個(gè)流程中不可或缺的關(guān)鍵環(huán)節(jié),具體涵蓋以下方面:
- 對(duì)人工智能生成的代碼進(jìn)行邏輯錯(cuò)誤檢查;
- 手動(dòng)開(kāi)展威脅建模工作;
- 運(yùn)用靜態(tài)和動(dòng)態(tài)分析工具對(duì)代碼進(jìn)行驗(yàn)證;
- 對(duì)架構(gòu)決策進(jìn)行核實(shí),尤其是當(dāng)代理生成基礎(chǔ)設(shè)施即代碼(Infrastructure as Code,IaC)模板時(shí),需進(jìn)行嚴(yán)格審查。
代理防護(hù)機(jī)制和提示工程
提示工程已成為保障安全的關(guān)鍵技能。如同編寫(xiě)安全的函數(shù)一樣,我們必須精心設(shè)計(jì)安全的提示內(nèi)容。例如:
- “編寫(xiě)一個(gè)采用安全密碼哈希算法和速率限制機(jī)制的登錄函數(shù)”;
- “避免出現(xiàn)任何硬編碼密鑰或明文日志記錄”;
- “在身份與訪問(wèn)管理(IAM)角色中遵循最小權(quán)限原則”。
此外,還應(yīng)為人工智能代理設(shè)置下述防護(hù)措施:
- 限制其可導(dǎo)入的軟件包范圍;
- 在代碼執(zhí)行前執(zhí)行嚴(yán)格的質(zhì)量標(biāo)準(zhǔn)檢查;
- 隔離其對(duì)生產(chǎn)環(huán)境的訪問(wèn)權(quán)限,防止?jié)撛陲L(fēng)險(xiǎn)擴(kuò)散。
3. 人工智能代理行為監(jiān)測(cè)
人工智能代理不應(yīng)僅被視為開(kāi)發(fā)工具,而應(yīng)作為具有實(shí)際操作影響的軟件實(shí)體進(jìn)行全面監(jiān)控。需重點(diǎn)關(guān)注以下行為:
- 代理是否對(duì)不應(yīng)修改的配置進(jìn)行了變更;
- 是否調(diào)用了未經(jīng)驗(yàn)證的應(yīng)用程序編程接口(API);
- 是否在生產(chǎn)環(huán)境而非預(yù)發(fā)布環(huán)境中創(chuàng)建資源。
將人工智能代理的行為監(jiān)測(cè)、日志記錄及警報(bào)機(jī)制集成到持續(xù)集成/持續(xù)交付(CI/CD)管道中,是保障系統(tǒng)安全的重要控制手段。
4. 協(xié)同責(zé)任機(jī)制
在人工智能時(shí)代,開(kāi)發(fā)人員的角色不再局限于編寫(xiě)代碼,同時(shí)還需承擔(dān)人工智能輸出內(nèi)容優(yōu)化與審核的工作。安全保障也演變?yōu)槎喾絽f(xié)作的模式,各相關(guān)方需共同承擔(dān)以下責(zé)任:
- 開(kāi)發(fā)人員:編寫(xiě)安全提示內(nèi)容,審查代碼,并確保開(kāi)發(fā)過(guò)程符合相關(guān)規(guī)范;
- 安全團(tuán)隊(duì):構(gòu)建自動(dòng)化掃描工具并制定人工智能安全策略;
- 運(yùn)維團(tuán)隊(duì):實(shí)時(shí)監(jiān)控代理活動(dòng),維護(hù)環(huán)境隔離;
- 法律/合規(guī)部門(mén):追蹤軟件許可證使用情況及代碼來(lái)源,確保合規(guī)性;
- 從被動(dòng)到主動(dòng):安全防護(hù)必須從被動(dòng)應(yīng)對(duì)轉(zhuǎn)向主動(dòng)防御,安全性應(yīng)從首個(gè)提示輸入階段便開(kāi)始嵌入。
核心結(jié)論
- 人工智能代理正逐漸從單純的生產(chǎn)力工具轉(zhuǎn)變?yōu)榫邆渥灾骶幋a能力的實(shí)體,在GPT-4.1、Gemini Code Assist等工具的推動(dòng)下,深刻影響著應(yīng)用程序開(kāi)發(fā)模式。
- 當(dāng)人工智能代理生成的代碼缺乏明確的設(shè)計(jì)意圖與威脅建模時(shí),便容易出現(xiàn)安全漏洞,進(jìn)而導(dǎo)致邏輯缺陷、不安全默認(rèn)設(shè)置及配置隱患等問(wèn)題。
- 當(dāng)前,網(wǎng)絡(luò)安全威脅形勢(shì)正在不斷演變,數(shù)據(jù)投毒、代碼來(lái)源不透明以及因代理行為導(dǎo)致的攻擊面擴(kuò)大等新型風(fēng)險(xiǎn)日益凸顯。
- 在此背景下,Secure-AI-DevOps這一全新范式成為必要選擇,它融合了人工監(jiān)督、安全提示設(shè)計(jì)、軟件溯源以及人工智能代理行為監(jiān)測(cè)等關(guān)鍵要素。
- 開(kāi)發(fā)人員需要轉(zhuǎn)變角色定位,不僅要履行編碼職責(zé),更要承擔(dān)起人工智能監(jiān)督者的重任,確保代理生成的內(nèi)容符合安全標(biāo)準(zhǔn)與組織策略要求。
- 安全防護(hù)工作需再次深化“左移”理念,從提示輸入、約束條件設(shè)定到工作流程設(shè)計(jì)的各個(gè)初始環(huán)節(jié),均應(yīng)引導(dǎo)人工智能代理的行為,以保障系統(tǒng)安全。
原文標(biāo)題:Securing Software Created by AI Agents: The Next Security Paradigm,作者:Pranjal Sharma