OSAI Review: 用 AI 打 AI System

OffSec AI-300 (OSAI) Reivew。從課程、Challenge Lab 到考試,以及 AI 幫上忙和添亂的地方。

背景

在講 AI-300 的課程和考試之前,先大概講一下我的背景,供大家參考一下。 證照方面我幾年前通過了 OSCP、OSEP,對於 Windows AD 和滲透都有基本概念,平常的工作主要是 Web、Product Security、挖洞,對於 LLM 的知識大多是應用面 + 稍微知道 LLM 的運作,所以稱不上是非常熟悉。

前言

前幾天收到了通過 OSAI 的信件,因為這張蠻新的(2026年3月推出),相關的資訊也比較少,而且整體考試風格也很不一樣,趁著記憶還很新鮮就打算來分享一下,而且這次跟我的好戰友 Billy 一起唸受苦。

offsec AI-300

考這張的理由也很單純,裡面的東西對我來說實在太新鮮了,我原本對於 LLM 攻擊大概就是 Prompt Injection 或透過 tool call 實現 Command Injection / SSRF。 也剛好上次 Billy 在之前的 OffSec Meetup 講了一場 LLM Security 101,裡面也有提到一些相關的手法,才讓我把目光移到這張身上。

這張很特別的是,OffSec 很直白的告訴你「沒有限制任何工具」、「不使用 AI 來考試會特別具有挑戰性」

Learners who choose not to make use of AI will likely find the exam extremely challenging.

there are no restrictions on the tools you may use — you may employ any tooling, framework, or technique you find appropriate to complete the objectives.

課程 / Challenge Lab

https://www.offsec.com/courses/ai-300/

從官方的 Syllabus 也看得出來,目標專注在整個 AI 流程和應用上,Supply Chain, AI system, MCP, RAG, Embedding 等等。就差沒有數學了

而課程中間也帶了很多章節 Lab,這種比較簡單,大致上都是按照課程步驟進行就行,如果牽涉到 LLM Response 的話有機會要多試幾次,我通常都直接開一個 loop 試到成功。

而課程的編排則維持一貫的 OffSec 風格,也會有幾章需要特別耗費心力,不過整體來說並不需要額外的資源,我個人是只讀 AI-300 的內容和 Lab 就去考試。

Challenge Lab 則是另一個大重點,如果你正在或準備念這門課,請無論如何一定要完成 Challenge Lab,我的經驗上大概是:

Everything is fine until Challenge Lab

建議你這時候開始嘗試搭配 LLM Agent,熟悉與 Agent 的合作方式,例如將你的筆記餵給 Agent 當上下文、Skill 和其他。

不過 Challenge Lab 跟考試的網路架構/環境有一點不太一樣,Challenge Lab 裡面的 Task 給了很多提示。另外有時候會出現明明已經做了但 Grade 沒有成功,所以 Grade 部分不用太糾結。如果真的碰到完全卡關的,可以直接去官方的 Discord 找 Student Mentor,基本上你遇過和沒遇過的他都知道通靈的出來,不會叫你 Try Harder。

在 Challenge Lab 的時候的需要練習的另一件事情就是「寫報告」,這是一個超大雷區,而且我不覺得只有我碰過,例如:

  • Command 和 Output 有部分被省略、它自己加字。
  • 該有的前提消失了: 例如雖然它確實成功,但卻忘記或把不正確的前置條件(Enum, Info)給你。
  • 把必要的 Exploit 刪了

以上是我原本有寫在 Skill, AGENTS.md 的內容, 但顯然指令遵循是另一回事,所以你每打完一個 Lab 一定要確保你真的知道它怎麼打的,而且你可以復現那些行為和結果。

Exam

雖然考試內容受規範限制無法透露具體內容,不過請務必要讀完 Exam Guide,裡面有一切你需要的提示。

Exam Guide 裡面直接寫明:

  • 裡面有10台機器,有兩個 Rabbit Hole (增加真實度)
  • 不要求彈 Shell
  • 從配分上來看只會有一種組合,但我覺得不是很重要
  • 還有最重要的 Network Setup

這個是 Billy 找到的 Review,關於考試的網路拓樸畫得非常清楚:

https://tech.leonardotamiano.xyz/posts/osai-certification.html

exam network topology

OSAI 本身涵蓋的範圍蠻廣的,除了 AI 相關的題目,也有傳統的滲透、紅隊類的題目互相組成。 以 300 等級的課程來說,24小時其實算蠻緊迫的,除了本身的難度之外,我覺得還有與 AI 的協作方式 + 不完全信任它。

以我原本熟悉的模式簡化大概是:

Enum -> 找突破點 -> 把 Rabbit hole 丟在旁邊 -> Exploit 成功 -> 截圖 -> 原文丟進報告晚點整理

加上 AI 後它會:

同時 Enum 一堆 -> 把每個可能都當成能打的 -> 慢慢排除 -> 瞬間產好 Exploit (還有不同版本) -> 某個成功 -> 沒有截圖 -> 寫一段看起來合理的丟進報告。

如果你沒有很熟悉與 LLM 協作,你會發現你不知道該在哪裡插手/整理報告/截圖,特別是你想復現某個洞的時候有可能同時干擾它,導致它誤判。

我的考試經驗來說,我確定及格之後剩下的時間其實不少,所以我就拿來磕最後那台 + revert 重打寫報告。我真心推薦如果你尚有時間,也覺得報告完整度差不多了,Revert 整個環境然後不帶腦的,完全依照報告重打一次,確保所有前置條件、必要的截圖、所需程式碼都有。

總結

AI-300 涵蓋的知識、Challenge Lab 和考試,整體而言我會給很高的分數。不過我仍然建議至少有滲透基礎,而且對於整個攻擊流程有基礎的認知,否則你會需要花費額外的心力了解那些內容。

從我的整體經驗來看,Frontier LLM 仍然有的最大問題大概是下面這幾個:

  • 鑽牛角尖
  • 太早放棄
  • 亂寫報告
  • 自信的幻覺
  • 上下文丟失
  • 遵循指令的方式可能跟你想的不一樣
  • Session 被 Flag 導致中斷和丟失一部分內容

每個都有相對應的解決/緩解方法,但「人」是一定需要在當中指揮的,加上 OffSec 在設計這個考試的難度是以「考生會使用 AI」為前提。

在唸這門課的時候我就一直建立筆記(甚至比我當初念 OSCP / OSEP 還完整),就是為了在需要的時候可以給更多上下文,並且有能力判斷狀況、給出方向。

考試期間 Grok 大概燒了4億 Token,我同時也有訂閱 Claude、GPT,另外還準備了 Local LLM + OpenRouter 30美金,但最後都沒用上,可喜可賀。

另外我要特別 shout out Herdr,推薦各位可以試試看。Herdr 主要解決我「多 Agent 管理」、「Agent 互相溝通」、「實時監看戰場資訊」(讓一個 AI 讀其他 session)這幾點。

由於時間只有24小時,範圍又蠻寬的,如果你不使用 AI 幫忙,應該真的會蠻痛苦的,對我來說整場考試 AI 幫助最多的部分應該是 Enumeration。

對於考試建議大致為以下幾點:

  • Enumeration more
  • 判斷何時 LLM 鑽牛角尖、何時太早放棄
  • 確保你隨時知道戰況、替它選擇方向、解讀資訊
  • 有空截圖就截圖
  • Report 如果有 AI 輔助,一定要確保自己知道所有邏輯,重複的檢查是否符合 Exam Guide 的要求,時間充足可以拿著你自己的最終報告重打
  • 確保你有充足的 Usage/Token (O)