在您使用“氛圍編碼”開發下一個應用之前,請先閲讀本文
隨着AI使得任何人都能輕鬆創建應用,安全問題也隨之而來。本文通過多個案例揭示了“氛圍編碼”應用中的安全隱患,包括SQL注入、未認證訪問和數據泄露,並提供了安全建議。
Bob Starr 對他的“氛圍編碼”網站感到非常滿意。“Boomberg”展示了美國納税人的錢流向了哪些科技公司,Starr 在完成網站後立即將其上線。然而,直到網站運行數月後,他才意識到一個問題:隱藏的 SQL 注入風險。這個漏洞可能讓攻擊者讀取或篡改未經授權的數據。
“這完全是我的疏忽,是在學習這項新技術和理解它的過程中的一個盲點。我相信其他人也在犯同樣的錯誤,”Starr 説,他是一名科技行業的項目經理。
Starr 修復了問題,但他並不孤單。在社交媒體上,充滿了關於“氛圍編碼”應用存在安全漏洞的恐怖故事。PocketOS 的創始人 Jer Crane 在 X 上發帖稱,一個 AI 編碼代理清除了他公司的生產數據庫。連續創業者 Joe Procopio 在“氛圍編碼”一個用於私下展示其他應用的 Web 應用時,遭到了黑客攻擊,不得不將其下線。“現在我通過 Zoom 從本地機器上演示,就像2023年那樣,”他寫道。
正如 The Verge 的 David Pierce 所説,我們已經進入了“個人軟件的新時代”,任何人都可以利用 AI 創建自己的私人應用,實現自己想要的功能。但隨之而來的是新的安全問題。應用可能容易構建,但很難確保安全——尤其是在 AI 也可以被用來攻擊它們的時代。
“我的核心觀點是,‘氛圍編碼’本身並不壞,因為業餘愛好者可以構建軟件。這其實是好的一面,”AI 驅動的網絡安全公司 SentinelOne 的傑出 AI 研究科學家 Gabriel Bernadett-Shapiro 説。
他認為,危險在於當個人應用滑向商業軟件的領域,存儲共享的託管數據,而沒有人意識到這種轉變已經發生。當“氛圍編碼”從用於追蹤偏頭痛、餐食或包裹遞送的本地應用,轉向處理客户日誌、醫療數據、財務記錄或內部文檔的應用時,情況就不同了。
“這些應用需要達到不同的標準。即使它是由一個人在一個下午內構建的,即使創建軟件的軟件是微不足道的。一旦它觸及他人的個人數據,標準就應該改變。”
Corridor(為 AI 原生軟件開發構建的安全平台)的 CEO 兼聯合創始人 Jack Cable 同意這一觀點。
“氛圍編碼適用於低風險的事情,”Cable 説,比如原型或不太敏感的健身追蹤器。但財務記錄應該受到更嚴格的審查,互聯網上的任何內容也是如此。“你是否暴露了自己或他人的數據?考慮一下威脅模型的樣貌,如果不確定自己的操作是否安全,寧可謹慎。”
Max Segall,加密錢包公司 Privy 的首席運營官,在“氛圍編碼”了 EzRun(一種每次和孩子跑步時獎勵 10 美元以太坊的有趣方式)後,就採取了這種態度。幸運的是,一位同事在發佈前發現了一個嚴重缺陷,該缺陷可能讓任何人修改用户賬户以獲取訪問權限。
在更令人擔憂且備受關注的案例中,開發者 Matt Schlicht 在1月底發佈了一個名為 Moltbook 的病毒式社交網絡。它完全是為 AI 代理構建的,他沒有編寫一行代碼。幾天內,安全公司 Wiz 的研究人員發現該應用的整個生產數據庫完全開放,暴露了數萬個電子郵件地址和私人消息。Moltbook 在被告知後迅速修補了漏洞,但這並非個例。Wired 報道稱,網絡安全公司 Red Access 的研究人員發現,大約5000個使用流行“氛圍編碼”工具構建的公開應用沒有認證,其中近2000個似乎在泄露敏感數據,如醫療和財務信息、戰略文檔,甚至聊天機器人對話日誌。
公平地説,許多專業製作的 AI 之前的軟件也非常不安全。但正如“氛圍編碼”成倍增加了應用的數量一樣,安全風險的數量也極有可能急劇增加。它還增加了過度自信的風險。當 AI 工具告訴你代碼是安全的時,很容易相信它。
在常規的“氛圍編碼”過程中,除非你安裝了某些工具,否則沒有東西會停下來檢查,而大多數業餘編碼者並沒有這麼做。構建過程只會繼續。現有的安全工具需要被調用。雖然 Claude Code 有一個 /security-review 命令可以掃描漏洞,但你需要要求它執行。有一個自動版本,但只有當你提前設置好在拉取請求上運行時才有效,而大多數臨時構建者並沒有這樣做。
OpenAI 自己的編碼代理 Codex 有一個內置的安全代理 Codex Security,它會在提交時掃描,並重新掃描其自己的補丁,但它針對的是擁有真實版本控制工作流的開發者,而不是通過聊天構建應用的人。對於其他人來説,建議很簡單:在構建時以及結束時,特別是當工具有權訪問你關心的數據時,必須提示安全性。
“很多安全是上下文相關的,”Cable 説,因此運行編碼代理自己的審查當然無害,但他警告不要因此產生虛假的安全感,尤其是當代理不瞭解你的威脅模型,或者你沒有給予它正確的指導時。
Bernadett-Shapiro 表示,他最大的擔憂不是有漏洞的 AI 生成代碼,而是缺乏認證——當開發者將一個本地運行的應用遷移到雲端,並帶着一大堆他們不理解的配置選項時,他們可能不會考慮這個問題,從而導致敏感數據暴露。這是他最擔心的失敗,理由充分:在本地運行良好的應用放在雲端,就像把一盒秘密放在人行道上一樣——研究人員一直在發現這種情況。
AI 在提示下可以很好地發現錯誤。模型已經有所改進,例如 Anthropic 的 Mythos 模型,它因輕易發現攻擊漏洞而引發警報,但也可以用來加固“氛圍編碼”者正在構建的應用。Bernadett-Shapiro 表示,GPT-5.5-Cyber 或其他應用的基礎模型可以評估安全性並識別出即使有經驗的開發者也可能忽略的問題。當然,他指出,人們可能不瞭解他們正在做出的安全權衡,甚至忽略警告,認為風險可接受。
一些基礎設施已經開始出現。OWASP 發佈了針對組織的 AI 安全驗證標準。Trail of Bits 等公司開始發佈“技能包”,即附加指令包,指導編碼代理執行特定的安全任務,如在發佈前標記不安全的默認設置或硬編碼密碼。Cable 説,技能包需要被專門觸發,因此不太自然地融入開發流程,並且很難在編碼代理間保持更新和同步,同時隨着代碼庫的變化而調整。
此外,技能包可以雙向作用,因為惡意技能包也存在。2月份,1Password 的 Jason Meller 檢查了流行的 OpenClaw 技能註冊表中最常下載的技能包,發現它引導用户安裝了一個最終是惡意的依賴項。那裏仍然是一片狂野西部,很難判斷一個技能包會加固你的應用還是將你的憑證交給攻擊者。
“氛圍編碼”應用的不安全性不僅是業餘愛好者的問題。Cable 説,大型公司的工程師甚至銷售和營銷團隊現在比以前發佈了更多的代理編寫代碼。安全團隊需要了解代理的使用情況,並設置強制執行的護欄——要麼通過技能包,要麼通過 Corridor 銷售的產品這類工具,旨在在代碼編寫之前就阻止缺陷。
對於個人,Cable 的指導原則更簡單:意識到在你的本地計算機上運行的模型遠沒有公開的模型有風險,尤其是當它包含敏感數據時。
“幾乎一夜之間,大多數公司生產軟件的方式完全改變了,”Cable 説。他並不特別擔心編碼代理本身,只要它們被賦予了適當的操作護欄。模型本身越來越多地建立在內存安全堆棧上,從一開始就消除了整類漏洞。“我確實有理由保持樂觀,”他説。
政府事務專家 Jeff Rothblum 在開發一個用於處理大量繁瑣數據輸入的應用時,將安全性放在了首位。他思考了應用持有何種信息、信息的敏感程度以及如果泄露可能發生什麼。這種方法之所以引人注目,是因為它非常罕見,而且我們腳下的土地變化如此之快。
在 Lilt 擔任政府事務和戰略負責人期間,他需要向各政府委員會提交輸入表格,以將想法納入撥款法案。沒有兩份表格是相同的,因此説客可能需要在六週內提交幾十甚至數百份獨特的表格。在經歷了八週每週75小時的工作以及一次裁員後,他構建了一個工具,以防需要再次做這項工作。這是一個應用,它將鏈接和截止日期抓取到一個儀表板中,並使用 LLM 預填每個表格,用户只需檢查和編輯(並粘貼賬號)即可提交。
他非常清楚風險,因為他沒有自己編寫代碼。“我上次寫代碼可能是在2006年本科時用 Fortran 分析流體流動,作為一名航天工程師,”Rothblum 告訴 The Verge。最大的風險是公司可能無意中泄露策略或敏感遊説理由,即使備案是公開的,這些信息也應保持私密。他通過定期在 Claude 中運行安全審查、將用户數據保留在本地而非服務器上,以及建立更嚴格的保留保障措施來減輕這一風險。
他“氛圍編碼”了他的應用,使其清除瀏覽器緩存,並坦誠地説明頁面將數據發送給 Claude,並鏈接到其保留政策。他正在開發一個版本,其中用户輸入的任何內容都不會被 AI 存儲(即使短暫存儲),以及一個單獨的版本,允許用户通過自己的 LLM 而不是他的 Claude 實例路由所有內容。
雖然 Rothblum 考慮過構建一個更廣泛的遊説情報工具,但他説,如果他要處理更敏感的數據,他打算花四到五位數的費用聘請真正的安全工程師來審查他的代碼。“我對開源和臨時性的東西很滿意,但其他一切都有點讓我害怕,”他説。
理想情況下,代碼應由人類專家審查,但 Cable 説這正在成為瓶頸。他説,一個懸而未決的問題是,當大多數代碼在沒有任何人類閲讀的情況下發布時,世界會變成什麼樣,以及我們如何確保那個世界的安全。
目前,對我們其他人來説,答案更小且更易於實現:用“氛圍編碼”構建你夢想的應用,但仔細考慮應用存儲和訪問的數據,以及可能出問題的地方。要求它在構建時考慮安全性,並在每次更改後運行代碼審查,包括 AI 自己編寫的補丁。在將其從本地設備移至雲端或授予其對任何敏感數據或賬户的訪問權限之前,要特別小心。一個有趣的項目和一個恐怖故事之間的區別,始於知道該問什麼問題。