Bob Starr 對他以「隨性寫碼」開發的網站感到非常滿意。他的「Boomberg」網站展示了美國稅金流向科技公司的金額,他在完成後立即上線。直到網站上線數月後,他才意識到一個問題:存在一個隱藏的 SQL 注入風險。

這可能讓網站容易受到攻擊,讓攻擊者讀取或更改他們不應存取的資料。「這完全是我個人的疏忽」科技業專案經理 Starr 說。「在學習和理解這項新技術的過程中,這是一個完全的盲點,我相信還有其他人也犯了同樣的錯誤。」

Starr 修正了這個問題,但他並非個案。在社群媒體上,充斥著關於「隨性寫碼」應用程式充滿資安漏洞的恐怖故事。PocketOS 創辦人 Jer Crane 在 X 上發文,提到一個 AI 程式碼代理程式清除了他們公司的生產資料庫。

連續創業家兼前開發者 Joe Procopio 曾用「隨性寫碼」開發了一個網路應用程式,用於私下展示他開發的其他應用程式。然而,駭客入侵後,他只好將應用程式下架。「現在我用老方法展示,從我的本地機器透過 Zoom」他寫道。「這真是太 2023 年了。」

正如 The Verge 的 David Pierce 所說,我們已進入一個「個人軟體」的新時代,任何人都可以利用 AI 建立自己專屬的應用程式,精確地實現他們想要的功能。然而,隨之而來的是新的資安問題。

應用程式可能很容易建立,但要確保其安全性卻很困難,尤其是在 AI 也可能被用來攻擊它們的世界裡。

「我的核心觀點是,隨性寫碼並非因為業餘愛好者可以開發軟體而不好。這其實是好的一面」AI 驅動的網路安全公司 SentinelOne 的傑出 AI 研究科學家 Gabriel Bernadett-Shapiro 說。

他表示,危險在於當個人應用程式轉變為商業軟體,並在無人意識到這種轉變的情況下儲存共享、託管的資料時。他還說,當隨性寫碼從用於追蹤偏頭痛、餐點或包裹遞送的本地應用程式,轉向處理客戶日誌、醫療資料、財務記錄或內部文件的應用程式時,情況就完全不同了。

「這些應用程式需要符合不同的標準。即使它是由一個人花一個下午建立的。即使建立軟體的軟體微不足道。一旦它接觸到其他人的個人資料,那麼我認為標準就改變了。」

Corridor(為 AI 原生軟體開發建立的資安平台)的執行長兼共同創辦人 Jack Cable 同意此觀點。

「隨性寫碼對於低風險的事物非常有用」Cable 說,例如原型或不太敏感的健身追蹤器。但他表示,財務記錄需要更嚴格的審查,任何公開在網路上的東西也是如此。「你是否在其中暴露了自己或他人的資料?」他問道。「仔細思考威脅模型是什麼樣子,如果你不確定自己正在做的事情是否安全,寧可謹慎為上。」

這正是加密錢包公司 Privy 的營運長 Max Segall 所做的事情。他曾以「隨性寫碼」開發了 EzRun,作為一種有趣的方式,每次他和孩子一起跑步時,就獎勵孩子 10 美元的 Ethereum。幸運的是,一位同事在發布前發現了一個關鍵漏洞,該漏洞可能讓任何人修改使用者帳戶以取得存取權限。

在 1 月下旬一個更令人擔憂且備受矚目的案例中,開發者 Matt Schlicht 推出了一個病毒式傳播的社群網路 Moltbook。它完全是為 AI 代理程式建立的,他甚至沒有寫一行程式碼。幾天之內,資安公司 Wiz 的研究人員表示,他們發現該應用程式的整個生產資料庫完全開放,暴露了數萬個電子郵件地址和私人訊息。

Moltbook 在被告知後不久就修補了這個錯誤,但這並非個案。Wired 報導稱,網路安全公司 Red Access 的研究人員發現大約 5,000 個使用熱門「隨性寫碼」工具建立的公開應用程式沒有任何身份驗證,其中近 2,000 個似乎正在洩露敏感資料,例如醫療和財務資訊、策略文件,甚至聊天機器人對話記錄。

公平地說,許多專業製作的非 AI 軟體也存在嚴重的資安問題。但正如「隨性寫碼」呈指數級地增加了應用程式的產量,資安風險的數量也可能隨之飆升。這還增加了過度自信的風險。當 AI 工具告訴你程式碼是安全的時,人們很容易相信它。

在一般的「隨性寫碼」過程中,除非你安裝了具備檢查功能的工具,否則它不會自行停止檢查,而大多數休閒開發者都沒有這樣做。開發過程只是不斷進行。現有的資安工具必須被主動調用。

雖然 Claude Code 有一個 /security-review 指令可以掃描漏洞,但你必須要求它這麼做。有一個自動版本,但只有在你預先設定它在 pull requests 上運行時才有效,而這也是大多數休閒開發者不會做的事情。

OpenAI 自己的程式碼代理程式 Codex 內建了一個資安代理程式 Codex Security,它會在提交時掃描,並重新掃描其提出的修補程式,但它的目標是具有實際版本控制工作流程的開發者,而不是那些透過聊天建立應用程式的人。對於其他人來說,重點很簡單:在建立時,以及在結束時,你都必須預先提示資安,特別是當工具可以存取你重視的資料時。

「很多資安問題都是情境相關的」Cable 說,因此雖然運行程式碼代理程式自己的審查絕對沒有壞處,但他警告不要因此產生虛假的安全感,特別是當代理程式不了解你的威脅模型,或者你沒有給予它正確的指導時。

Bernadett-Shapiro 表示,他最大的擔憂不是 AI 生成程式碼的錯誤,而是缺乏身份驗證。開發者在將本地運行的應用程式轉移到雲端時,可能不會考慮到這一點,加上他們不理解的許多配置選項,導致敏感資料暴露。這是他最擔心的失敗,而且有充分的理由:在本地運行良好的應用程式部署到雲端後,就像把一盒秘密文件放在人行道上,研究人員不斷發現這種情況。

AI 在被提示時擅長發現錯誤。模型方面已經有所改進,例如 Mythos,這個 Anthropic 模型曾因其輕易發現攻擊漏洞的能力而引發警報,但它也可以用來強化「隨性寫碼」開發的應用程式。Bernadett-Shapiro 表示,GPT-5.5-Cyber,甚至其他應用程式的基本模型,都可以評估應用程式的安全性並識別出連熟練開發者都可能忽略的問題。

當然,他指出人們可能不理解他們正在做的資安權衡,甚至可能將警告視為可接受的風險而忽略。

一些基礎設施正在開始建立。OWASP,許多網路安全標準背後的非營利組織,已經發布了一項針對組織的 AI 安全驗證標準。像 Trail of Bits 這樣的公司已經開始發布「技能」(skills),這些是附加的指令包,可以引導程式碼代理程式執行特定的資安任務,例如在發布前標記不安全的預設設定或硬編碼密碼。

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 表示這正成為一個瓶頸。他說,開放的問題是,當大多數程式碼在沒有任何人類閱讀的情況下發布時,世界會是什麼樣子,以及我們如何確保那個世界的安全。

目前,對我們其他人來說,答案更小也更容易實現:「隨性寫碼」開發你夢想中的應用程式,但要仔細思考應用程式正在儲存和存取哪些資料,以及可能出錯的地方。要求它在開發時就考慮資安,並進行程式碼審查。