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
























