作者:wolf
原文鏈接:https://opensec-cn.github.io/#/articles/2
受限于本人的思考深度和技術水平,無法保障以下內容和結論的絕對真實,僅為分享個人觀點供學習參考。
0x0 背景
隨著ChatGPT在2022年底發布,AI正式出圈火爆全網,各行各業都開始思考和嘗試如何利用AI來輔助或代替人工作。而互聯網巨頭的加入,更加速了這個過程,涌現出大量利用AIGC改進的產品,例如微軟的Microsoff 365 Copilot、new bing,Google的bard、Workspace,還有其他初創公司或開源的:自動開發網站、自動開發APP、自動3D設計、AI修圖、數字人、AutoGPT等等,持續半年每周都涌現出令人驚喜的AI產品,作為一個安全從業者,也有一定的工程能力,看得我心癢癢,決定在安全領域也嘗試一番。
為什么這次值得嘗試呢:
- 此次以OpenAI的GPT3.5/4和Anthropic的Claude為首的大語言模型(LLM),擁有很強的知識庫和邏輯推理能力(至于為什么出現了推理能力,有專業的文章解讀),具有極高上限和應用空間,用阿里巴巴集團CEO張勇的話來說,AI時代“所有產品都值得用大模型重做一次”。
- 頂尖的大模型已對外開放了API或計劃開放,即使沒有人工智能的專業知識也能很快上手使用。
- AI行業的工程師非常open且正處于大爆發時間,有大量的開源項目可以參考學習。
- 深度體驗過GPT3.5/4的同學應該能感受到其智能程度,在這種里程碑事件和AI改變生活的年代,已足夠讓人著迷。
0x1 調研
應用路線
當前大語言模型有兩種應用路線
- 通過其本身就擁有的巨量知識庫和語言組織能力,再加上私有知識庫的方式,作為各細分領域的問答機器人。
- 利用其對話能力和邏輯推理能力,調用第三方程序,實現通過自然語言來進行操作。
其一的路線在文字類的工作上應用是強大的,幾乎無所不能,但在非文字類是較為受限的,因為它只能通過文字形式跟你描述,無法幫你更進一步的工作,因為在工程領域知道怎么做只是第一步且大部分情況下都是知道怎么做,但更重要的是需要有人去執行,所以只能相對的代替搜索引擎,在整體生產力的提升上是有限的。 二路線為當前較為專業的應用方式,例如new bing,其原理即調用搜索結果再根據原有知識庫進行整理回答,還有offer全家桶、Workspace、AutoGPT、Chat2DB,均為此原理,根據用戶輸入的自然語言,由AI轉換為操作指令控制專業程序,當前最強的ChatGPT也在3月份增加了插件功能,此路徑給了AI應用無限的可能,但對模型的邏輯推理能力有很高的要求。
由此,在安全領域上,一路線我能想到的就是學習階段和搜索非擅長的知識領域時,能起到一定的作用,但并不能與Google等搜索引擎有多少效率的提升,且全球TOP的搜索引擎也都接入了AI解讀能力,由此我認為此方向是意義較小的。 所以我更傾向于看好二路線,通過AI調用專用工具或者在已有的專業工具上進行改造,改變人和程序的交互的方式,由原本的專業操作流程變為自然語言表達需求,大大降低了專業門檻,如同當初的GUI操作系統出現,降低了電腦的入門難度,由原本只有高端工程師才會使用變化到現在幾十億人用電腦來作為生產力工具,也如同當初橫空出世的iphone手機,由硬件按鈕進入純屏幕操作時代,APP/游戲的體驗上升了一個量級,對此,我預言后續的網站、APP、程序可能會專門給AI提供相對標準的接口。
AI如何操控第三方程序
這里就不展開描述,可以參考AutoGPT和langchain項目或者使用OpenAI接口的function能力,目前已經進入行業標準化時段,至于最后誰能統一這個標準,拭目以待。
模型選擇
而在模型的選擇上,目前也有2條路線
- 開源方案,例如:ChatGLM、Llama、Vicuna、falcon、Alpaca等等幾十個
- 商業API,例如:OpenAI、Anthropic、文心一言等
經過簡單測試,開源方案目前只在路線一表現可以,二線路難以滿足,目前能滿足二路線的大模型是少之又少。
0x2 落地
安全領域哪些場景可以落地呢?在專業模型上已經有不少的應用場景,例如:防火墻、流量分析、人機對抗(人機驗證/過人機驗證)、代碼泄露檢測等等,但目前看僅少有的場景真實發揮了技術優勢,其余的頗有阿斗與趙云七進七出曹營的味道,鑒于現在的趨勢看,AI還是將會慢慢的增強或代替常規技術方案。 不過不管從原理、性能還是效果上看,在此緯度上大語言模型的能力是不如專業模型的甚至不如常規的技術方案的,當然這也不是它的應用方式,只是強大的知識庫和邏輯能力讓他看起來無所不能,都能秀上兩把。 故我認為目前只有2種有價值的落地方式:
- 讓AI學會使用大量的安全工具/服務,通過自然語言讓其協助你完成瑣碎的工作,作為你的助手。
- 改造現有的安全產品,增加自然語言操作入口,通過對話驅動AI操作產品實現想要的動作,降低專業產品的使用門檻。
受限于當前所有AI產品均有的token上限和其他瓶頸,難以同時滿足1和2,只能在全面和精細權衡。 很遺憾之前維護的開源項目因為工作和風險原因爛尾了,第二個落地方式只能放棄了,最后決定嘗試做一個會操作大量安全工具和服務,通過對話即可讓AI幫我們完成一些較為簡單瑣事的工作,就像你的助手一樣,所以暫且就叫他AI安全助手把。
0x3 效果
能力
經過多個晚上的開發和調教,實現了以下能力:
- 通過對話理解你背后的需求,使用相應的插件來輔助回答你
- 支持雙向文字、圖片、文件的交互
- 單次對話同時識別并執行多個插件
- 上下文關聯能力,多個工具組合使用
- 支持添加自定義插件,且插件數量無限制
talk is cheap show me the code,真實效果如下:
使用第三方服務
使用第三方工具
什么都可以
建立漏洞靶場/漏洞測試/修復建議一條龍
不需要具體的操作命令(用什么去做什么),而是告訴他需求,他能理解并挑選合適的插件來回答你
上下文關聯
非文本交互
除了支持文字交互,也支持文件、圖片的方式 搜集子域名,打包成文件(可以看到AI可以理解v2ex就是指v2ex.com)
當然這個交互是雙向的 發送apk給AI助手,讓他幫你反編譯,可以看到有時候它會說將執行但實際上沒有使用插件,這個時候跟它說請執行就可以。
插件擴展
AI能使用的安全工具決定了它的能力范圍,所以支持靈活的插件擴展是必須的。 這里實現了在線的Python插件擴展,且只需要遵守最基本的格式即可,其他自由發揮,AI能立馬就學會使用他。
0x4 價值/意義
根據以上的例子可以看到AI可以使用工具來完成你的任務,這與自動化程序和常規的IM機器人有什么差異呢?
- 輸入的信息不需要固定的標準格式和明確的工具,自然語言描述你的需求即可,什么情況下使用什么工具來解決問題本身也是一種專業技能,而AI龐大的知識庫可以讓他做出專業的選擇。
- 能力擴展,AI可以理解你提供的插件并自己判斷在什么時候使用它,它的專業能力由你提供給他的專業工具決定,有很大的上限空間。
- 工具(即插件)返回的結果無需格式化,不管是字符串,還是JSON,還是工具控制臺打印的信息,AI都能很好的理解并解釋結果。
- 超強的原生知識庫和上下文理解能力,在上面的例子可以看到,描述v2ex時它知道你要的是v2ex.com,說百度首頁它也知道是baidu.com,它會利用自己的知識庫來從你的語言描述中嘗試補全工具(插件)所需的參數,這是自動化程序和IM機器人無法比擬的。
所以AI助手的意義就是你可以把它當作你的員工,用正常分配工作的方式安排事情給他,他會自己去嘗試用各種工具來完成(當前實驗的這個版本還達不到,但此從技術角度是可行的),說不定將來有這么一天,在釘釘或企業微信上與你協同工作的同事原來都是一個個的AI機器人,而你還無法識別出來。
0x5 計劃
由于每天只有晚上1-2個小時可以開發,進度緩慢,目前還只是個有趣的玩具,但我相信再過幾個月,隨著AI能使用的安全工具和服務越來越全面,將是一個真正能幫你提高生產力的助手。 項目已部署到http://secasst.com,鑒于當前項目還不夠完善和部分能力存在風險,先進行小范圍的測試,對此項目有興趣的可以聯系我(wx: _ywolf email:wolf_cn#outlook.com),我會給你邀請碼。 目前大語言模型的生態還在快速發展中,此測試項目背后的技術也在快速變化,例如前幾天openai就出了function功能,降低了操作工具的門檻,說不定過幾天就有針對如何更好調用第三方程序的微調模型,所以在背后的技術方案較為穩定后,這個項目在Github開源也是選項之一(主要看實際反饋,如果最后發現意義不大那就放棄)。
0x6 總結
- 語言大模型(LLM)涌現出的推理和邏輯能力是最重要的能力指標,智能的標志,生產力的來源。
- 本次AI革命是真實存在且正在快速發展,除了此例子的文本領域外,在圖片、語言、視頻也都在快速發展且效果顯著,特別是在圖片領域已經非常強大,非概念炒作,AI代替部分工作崗位是可以預見到的。
- 除了模型本身在快速發展,AI的應用也同步進行,目前做得快的冒出來的產品就有幾百款,可能在未來幾年就能在各個場景感受到AI帶來的變化。
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/2085/
暫無評論