AI 寫代碼=安全危機?第一聲“警哨”已吹響
作者 | 騰訊AI編程安全-啄木鳥團隊
團隊介紹:專注AI編程場景下的安全研究與解決方案,讓AI輸出的每一行代碼,都經得起安全考驗。
一、AI時代帶來編程新變革
因為AI編程工具的誕生,代碼的誕生方式正在經歷一場看不見的變革。
Anthropic 公司(產品:Claude )的 CEO —— Dario Amodei 近日發表看法:一年內,所有代碼都將由AI生成。
無獨有偶,OpenAI 的CPO —— Kevin Weil 也在近期的視頻采訪中表示:今年是人工智能在編程方面永遠優于人類的一年,不再會拖到 2027 年。
截圖來自:《OpenAI CPO Reveals Coding Will Be Automated THIS YEAR,Future Jobs, 2025 AI Predictions & More》
畢竟用AI編程工具,新手開發者對著屏幕輸入prompt,只需要三分鐘就能獲得代碼解決方案;架構師把需求文檔喂給大模型,AI直接連帶原型設計全部輸出完畢,各個技術板塊的知識壁壘在AI算法逐漸消失。
GitHub 2024開發者報告顯示,全球76%的程序員日常使用AI編程工具,每月生成的代碼總量達950億行,相當于人類過去十年的編碼量,代碼倉庫的生態正在經歷結構性變化。
AI編程工具的普及,解放了生產力,也將網絡安全推向更新、更隱蔽的戰場——代碼安全戰場,一場看不見的硝煙開始了。
二、代碼安全防線,正在被AI技術撕開更大的缺口
AI編程工具提高了代碼生產和迭代的頻率,但其中的漏洞隱蔽性、出現速度呈指數級增長————畢竟AI生成代碼的速度是人類的173倍,外加我們對AI生成能力“可信”的觀點,代碼安全不可避免將出現更多挑戰。更可怕的是,攻擊者正在通過AI構建"漏洞自動化軍工廠"
- 漏洞量產:一個AI生成的用戶登錄模塊,可能同時攜帶越權、注入、硬編碼密鑰三重漏洞
- 精準打擊:黑客用自然語言描述攻擊目標(如"盜取電商用戶支付信息"),AI自動生成適配目標系統架構的混合型攻擊代碼
以我們曾攔截到的一例真實攻擊為例:
某金融平臺AI生成的支付接口代碼中,攻擊者利用模型對"高性能"的偏好,誘導生成未加密的緩存日志,導致上萬條銀行卡信息裸奔在服務器上。這場"AI代碼信任危機"正把每個程序員變成潛在的漏洞投放者——你以為在讓AI寫代碼,實則可能在親手給企業埋下隱患。
以下是騰訊AI編程安全-啄木鳥團隊,探測到真實存在于各熱門項目中,常見的AI編程漏洞,如果你也開始習慣使用AI編程工具,那請注意以下幾類風險:
1.XML外部實體漏洞(XXE)
AI生成的XML處理代碼暗藏"致命安檢漏洞"——就像快遞站不拆箱檢查直接簽收包裹。攻擊者只需上傳偽裝成普通數據文件的"特洛伊木馬"(如<!ENTITY xxe SYSTEM "file:///etc/passwd">),就能讓服務器主動交出數據庫密碼、系統配置等核心資產,甚至被植入遠程木馬文件。
(代碼來源:GitHub 某AI生成的代碼開源項目)
2.賬密硬編碼信息泄露
我們在某熱門編程教學視頻中發現,作者使用某AI編程工具生成小程序代碼時,AI“很聽話”的把API密鑰直接寫在代碼里。由于小程序代碼會直接暴露在用戶手機中,相當于把"保險柜密碼"貼在公共走廊——任何人使用該小程序,都能輕易獲取密鑰,導致云服務資源被盜用或數據泄露。
(圖片來源:某視頻平臺熱門AI編程教程截圖)
當開發者用 AI 接入第三方服務時,生成的代碼竟把某頭部音樂平臺的API密鑰直接寫在代碼里(類似把銀行卡密碼貼在外套后面),更危險的是,這些包含密鑰的代碼被新手開發者傳到GitHub開源社區,甚至做成教程發到YouTube,相當于把"大門鑰匙"掛在公共場所,攻擊者可以隨意竊取數據或盜用其計算資源。
(代碼來源:GitHub 某AI生成的代碼開源項目)
3.水平越權漏洞
AI生成的下載功能代碼暗藏"自動泄密"風險——就像快遞員不核對身份,僅憑文件名就送貨。攻擊者只需輸入他人文件名(如"小A的生活照片.jpg"),就能繞過權限驗證,直接竊取存儲在服務器的隱私數據。這種由AI編碼漏洞引發的"自助式數據盜取",正在成為黑產分子新的攻擊溫床。
(代碼來源:GitHub 某 AI 生成的代碼開源項目)
4.目錄穿越漏洞
在下載文件功能中,AI生成的代碼在獲取服務端文件資源時,并未對用戶傳入的文件路徑信息進行嚴格的輸入清洗,導致攻擊者可以通過精心構造包含路徑穿越符的文件名,實現目錄穿越,下載文件存儲目錄之外的后臺系統敏感文件,竊取系統敏感數據(例如后臺賬戶密碼)。
(代碼來源:GitHub 某AI生成的代碼開源項目)
5.XSS漏洞
AI生成的商品評論區代碼一不小心成了"腳本病毒傳播器"——就像允許任何人在公告欄上隨意涂改內容。攻擊者只需在評論里插入惡意代碼(比如偽裝成普通文字的<script>竊取用戶密碼</script>),當其他用戶瀏覽該頁面時,這些代碼就會像自動播放的廣告病毒般在受害者電腦上運行,輕則彈窗騷擾,重則盜取賬號、劫持支付頁面。這種由AI代碼"偷懶"引發的安全隱患,正讓每個用戶都暴露在數據泄露的槍口下。
(代碼來源:GitHub 某 AI 生成的代碼開源項目)
三、如何應對AI編程的安全風險?安全守護者的新使命
1.零信任機制:給 AI 編碼加上“三把鎖”
當AI每分鐘生成數百行代碼,我們選擇用機器對抗機器——用智能監控守住每行代碼的底線。
(1) 敏感信息自動攔截
- AI生成代碼時自動掃描密鑰、密碼等敏感數據,強制替換為安全調用接口。
- 開發環境實時彈窗告警,推送加密存儲方案(如小程序場景自動關聯云密鑰管理)。
(2) 危險指令動態過濾
- 在AI交互過程中攔截高風險指令(如"跳過權限校驗")。
- 對文件操作、數據查詢等關鍵功能,自動添加安全檢查代碼。
(3) 智能觸發「越權熔斷」機制
- 首次檢測到越權代碼,自動插入用戶身份校驗模板。
- 二次發現直接凍結AI編碼功能,觸發人工復核。
2.用AI技術解決AI編程的風險問題
騰訊AI編程安全-啄木鳥團隊,正在搭建AI編程場景下的安全防護新方案。基于大模型技術,研發場景更垂直、效率更高效、體驗更自動化的漏洞審計能力,為新時代提供更安全、更智能的AI代碼質量保障。
(圖:AI編程場景的安全解決方案)
技術方案相比于傳統代碼漏洞檢測工具,有更鮮明的特征:
- 不再依賴定制規則的泛化能力:基于大語言模型的強大代碼理解能力和海量安全知識,不再依賴人工預設的漏洞規則庫,而是通過模型對代碼語義、上下文邏輯的深度理解,自動適配多種編程語言和復雜業務場景。
- 準確率更高,能夠理解業務邏輯:傳統工具因缺乏對業務邏輯的理解,常常因為一些業務特定的邏輯,例如特殊的查詢操作或者命令執行操作導致誤報。通過大模型的推理能力,模擬開發者思維解析代碼執行鏈路,深入業務的代碼邏輯,精準區分“漏洞代碼”與“安全編碼模式”,將業務的一些特殊寫法和特殊邏輯進行識別,顯著減少誤報干擾。
四、寫在最后
當AI逐漸接管代碼編寫工作,就像百年前織布機的出現取代了手工紡錘那樣,但織布機轉速提升百倍時,線頭的脆弱性也將百倍放大——AI生成代碼的時候,最脆弱的地方將會是哪?
在AI改變程序員的時代,網絡安全也隨之迎來新挑戰。我們選擇做AI編程永恒的守衛者,技術為鎬,以敬畏為盾,深耕AI編程安全的戰場。