逆向 Agent「kunglao-agent」:讓 AI 自己想辦法拆樣本,而不是跑到一半就宣布完工
11 月 5 日,開發者 SlipStupig 在 V2EX 的「分享創造」板發布了一個開源專案 kunglao-agent,定位是以強化學習為控制核心的逆向工程 Agent。貼文發布約九小時內累積近五百次瀏覽,並有 Android 客戶端工程師上來提問互動。
它想解決的問題:AI 半途宣布「我搞定了」
開發者在貼文中對痛點的描述相當直白:逆向任務一複雜,AI 很容易跑偏,或者分析到一半就聲稱自己已完成。這是當前通用 AI 工具做長鏈條任務時的共同毛病,而逆向工程因為步驟多、回饋慢、失敗常要回頭換路線,把這個毛病放大得特別明顯。
kunglao-agent 的做法是把強化學習放在 controller 的位置。用日常一點的比喻:一般 AI 助手像個照著食譜做菜的廚師,做到第三步就說菜好了;強化學習驅動的 controller 則像個被要求「端出這道菜才算數」的廚師,會根據目標自己試、自己換方法,直到結果對得上為止。
專案目前支援 WEB、PE、ELF、APK 與固件等方向,並會把做過的方法與結果沉澱下來,後續任務能累積經驗。這個「越用越熟」的設計,是它與一次性腳本工具的主要差異。
回覆裡最有資訊量的一段:真實使用場景
留言區的提問來自一位 Android 客戶端工程師。他的問題很具體:碰到 R8 全量混淆加字串加密的樣本,該先做靜態去混淆,還是直接上動態 hook?native 的 .so 部分要走符號執行還是讀組語?他還提到被自家混淆坑過的實際經歷,線上崩潰棧還原不出版本對應關係,一直想找能自動跟的工具。
開發者的回覆也值得注意:有線上的 dump 資訊就直接交給 agent,它會根據目標自己想辦法。這種「你給目標和材料,路徑它自己找」的姿態,正是無人值守承諾的核心,也同時是它最需要被驗證的部分。
放進更大的脈絡看
這不是本站第一次注意到逆向工程與 AI 結合的動向。先前分析的REA 五天十一萬顆星現象顯示,把逆向工具接上 AI Agent、讓門檻快速下降,已經是一條明確的路線。kunglao-agent 的差異點在於強化學習這個 controller 設計:多數同類專案是把既有工具包一層對話介面,它則強調任務導向的自我修正與經驗累積。
所以呢
對做安全研究、APP 加固或韌體分析的人,這類專案的價值不在於取代人工,而在於把「崩潰棧還原」「混淆樣本初步分析」這類繁瑣且重複的前置工作交出去。判斷方式也簡單:拿一個自己已經知道答案的難樣本丟給它,看它是真的走完全程,還是又出現那個老毛病,半途宣布搞定。專案仍在迭代,開發者也明說歡迎拿真實樣本交流,這對想驗證的人是個低門檻的入口。