ICOA Starter Guide 繁中講義
ICOA Starter Guide 繁中講義
這份講義是做什麼的
這份講義是把 ICOA Starter Guide 整理成較容易閱讀的繁體中文版本,重點不是逐字翻譯,而是幫你抓出:
- ICOA 到底在考什麼
- 為什麼它一直強調
CLI-native - Starter Guide 想先訓練你哪些基礎能力
- 每一章你應該怎麼讀、讀完要會什麼
這樣你之後回頭看官方英文版時,就比較不會迷路。
一句話先理解 ICOA Starter Guide
ICOA Starter Guide 是給新手與國家隊培訓初期使用的入門教材,目的是先把你訓練成「能在終端機內完成基礎 CTF 與 AI 安全題目的人」。
它不是正式比賽規則全文,也不是完整進階教材,而是:
- 比賽前的共同基礎讀本
- 讓大家先熟悉 CLI 環境與常用指令
- 幫參賽者建立 Day 1 與 Day 2 都用得到的底層能力
先看最重要的觀念
1. ICOA 是 CLI-native
官方反覆強調:ICOA is CLI-native。
意思是:
- 比賽主要在終端機中進行
- 不依賴一堆圖形化工具點來點去
- 題目、工具、操作流程,會盡量集中在同一個 CLI 環境
所以這份 Starter Guide 才會先教你 shell、Python、regex、網路指令、crypto、forensics 這些內容。
2. 這份 Guide 是給新手的
它很明確地說,這份教材適合:
- 第一次準備 CTF 的學生
- 國家隊選訓初期的參賽者
- 想建立共同基礎的教練與帶隊老師
也就是說,這不是預設你已經很強,而是從「看得懂 shell、願意自己打指令」開始。
3. 它和 picoCTF 有關
官方有說明這份教材是從 picoCTF 的 CTF Primer 改編而來,保留很多原本的教學精神,但做了 ICOA 版本的調整:
- 保留 CLI 核心章節
- 拿掉太依賴 GUI 的部分
- 補上 ICOA 專屬的競賽情境
所以你會感覺它既像 CTF 入門,又明顯在為 ICOA 的比賽型態鋪路。
這份 Guide 在教什麼
官方說這份 Starter Guide 涵蓋大約 48 個常用指令,這些指令大多會出現在 ICOA 的競賽環境裡。
常見指令群
| 類型 | 代表指令 | 你會拿來做什麼 |
|---|---|---|
| 檔案與路徑 | ls cd pwd cat cp mv rm | 看檔案、切目錄、整理資料 |
| 搜尋與觀察 | find grep egrep strings file head less | 找關鍵字、判斷檔案型態、快速看內容 |
| 解碼與取證 | base64 xxd binwalk exiftool sha256sum | 解碼、看 hex、查 metadata、驗 hash |
| 網路 | curl wget dig nc netcat nmap | 打 API、抓頁面、查 DNS、連服務 |
| 壓縮 | zip unzip gunzip | 解題檔常見的壓縮處理 |
| Python 與腳本 | python python3 bash | 自動化、批量測試、快速寫小程式 |
| Git | git | 做版本控制、處理 repo 題型 |
這份 Guide 的核心用途
你可以把它想成「ICOA 入場前的生存包」。
它要你先具備這幾種基本能力:
- 會使用 shell
- 看得懂基本 Linux 路徑與檔案操作
- 能用 Python 寫小腳本
- 會用 regex 處理文字
- 理解網路、Web、Crypto、SQL、Forensics 的入門觀念
- 知道 ICOA 的競賽環境和一般 CTF 哪裡不同
各章重點整理
1. Introduction
這章是整份 Guide 的導覽。
重點是告訴你:
- 這份教材是為 ICOA 2026 準備的
- 它不是要你只會背概念,而是要你真的打指令
- 每章都應該邊看邊練
最重要的一句話是:
不要只讀例子,要把指令真的打出來。
因為在 CLI 題裡,真正有用的是手感,不是看過。
2. The Shell
這章是在建立你的終端機直覺。
它在講幾件事:
- Shell 是什麼
- GUI 和 CLI 的差別
- 怎麼取得一個 Linux shell
- 為什麼 shell 對 CTF 很重要
這章你要學會什麼
- 理解 prompt 長什麼樣
- 看懂使用者、主機名稱、目前目錄
- 知道
~是 home directory - 知道
$前面是 prompt,後面才是你要輸入的命令
這章最重要的練習
Shell nav exercise 教你最基本的操作:
cdpwdmkdirtouchlscatcpnanoecho "..." > file
這章真正想培養的能力
不是只會「打出指令」,而是:
- 你要敢進終端機
- 你要不怕黑底畫面
- 你要知道怎麼建立、查看、複製、修改檔案
這是 Day 1 與 Day 2 的共同底座。
3. Virtual Environment
這章是在講「環境」。
內容包括:
- Web 工具
- Remote server
- Virtual machine
- VPN
- Authentication
- IDE
- 安裝 Linux 的基本觀念
這章你要抓到的重點
-
你不一定非得直接用本機裸系統練習
可以用 VM、WSL、雲端主機。 -
工具能不能用,跟環境很有關
不同題目、不同系統、不同工具版本,可能差很多。 -
安全習慣也算基本功
像密碼管理、多因素驗證、不要亂把敏感資料放到不安全環境。
對 ICOA 的意義
它在提醒你:
- 比賽前就要熟悉你自己的工作環境
- 不要到賽場才第一次碰 shell
- 也不要第一次遇到 VPN、Linux、遠端連線
4. Programming in Python
這章是整份 Starter Guide 非常重要的一章。
它不是在教你完整 Python,而是在教你:
- 用 Python 快速自動化
- 用 Python 做字串、迴圈、條件判斷
- 處理輸入輸出
- 讀寫檔案
- 處理例外
- 傳命令列參數
這章你要會的東西
- 變數
printforif / else- list
- function
input()open()try / exceptsys.argv
為什麼這章重要
因為很多 CTF 題不難,但很重複。
例如:
- 爆破一串字元
- 一次試很多可能
- 批量處理資料
- 從檔案逐行找特徵
這些用手做很慢,用 Python 會快很多。
你讀這章的正確心態
不是把 Python 當成程式設計課,而是把它當成:
CTF 的萬用小刀
5. Regular Expressions
這章在教文字模式匹配,也就是 regex。
它的核心用途包括:
- 找網址
- 找 email
- 找日期
- 找 IP
- 找 flag 格式
- 驗證輸入
- 批量替換或過濾內容
這章你要懂的最少概念
- literal characters
- metacharacters
- character classes
- escaping
- anchors
你在 CTF 裡會怎麼用
- 用
grep或egrep搜 flag - 用 regex 從 log 裡抓特定型態
- 在 Python 裡用
re
對初學者來說,先不用追到很深,先會讀、會改、會查就夠。
6. Git & Version Control
這章看起來不像在教打題,但其實很實用。
它在教:
git initgit addgit commitgit loggit checkoutgit branchgit mergegit pullgit push
這章的真正價值
-
你可以保留不同嘗試版本
程式改壞了可以回去。 -
團隊合作比較不會互相覆蓋
尤其如果未來真的多人一起練習或共用腳本。 -
有些題目本身就可能跟 repo 或 commit 歷史有關
所以 Git 也可能直接變成題目內容。
對新手的建議
先熟悉這幾個就夠:
git initgit add .git commit -m "..."git log
7. The Network
這章在講網路基礎與封包觀念。
包括:
- packet 是什麼
- network layers
- sniffing
- Wireshark 的基本用途
它最想讓你理解的事
當你打開一個網站、送出帳密、下載檔案時,背後其實是封包在傳。
所以如果你要做:
- packet analysis
- network forensics
- web 題觀察
你至少要知道封包、協定、分層模型在幹嘛。
注意
Starter Guide 雖然整體偏 CLI,但這章還是提到 Wireshark 這種 GUI 工具,因為網路取證本來就常需要它。
8. Web Exploits
這章是在建立你對 Web 題的基本世界觀。
它依序講:
- HTML
- JavaScript
- server-side code
- XSS
它要你先懂什麼
- HTML 是頁面結構
- JavaScript 在瀏覽器執行
- Server code 在伺服器執行
- 前端和後端分工不同
為什麼這很重要
Web 題很多時候不是要你會寫網站,而是要你分辨:
- 哪段程式在 client 跑
- 哪段在 server 跑
- 哪個資料是使用者可控
- 哪裡可能出現 XSS / SQLi / 驗證錯誤
你在這章最該記住的
- 不要把 secret 放在前端
- 使用者輸入若直接進 HTML 或 script,可能變成 XSS
- 要會基本的 request / response 思維
9. Cryptography
這章是 crypto 入門,非常長,但你不用一開始全吞。
它大致分成:
- practical example
- substitution ciphers
- transposition ciphers
- key ciphers
- modern cryptography
- AES
- RSA
- hashing
這章對新手最重要的是什麼
不是數學推導,而是先建立辨識能力。
你要開始有這些感覺:
- 這看起來像 Caesar 嗎
- 這是不是 Base64
- 這是 hash 嗎
- 這題是在考加密,還是考使用方式
這章最實用的部分
sha256sum- Caesar cipher 觀念
- RSA 弱參數概念
- hash 的用途與限制
你要特別記住
Crypto 題很多時候不是叫你發明演算法,而是:
- 辨認常見編碼或密碼方式
- 找錯誤使用法
- 利用參數太弱、padding 錯誤、重複模式等問題
10. Infiltrating in a Database
這章是在教 SQL 與 SQL injection 的基礎。
內容包含:
- SQL 基本語法
selectwhereand / or- basic SQL injection
- blind SQL injection
這章的重點不是背資料庫理論
而是讓你理解:
- 後端怎麼查資料
- 使用者輸入如何影響查詢
- 為什麼字串拼接危險
初學者最該懂的
select * from ...where- 單引號的重要性
or 1=1為什麼會出事- blind SQLi 是怎麼「一個字元一個字元猜」
這章和 Web 題的關係
它其實就是在幫你補 Web Security 裡常見的一個大題型。
11. Forensics
這章是數位鑑識入門。
它分成幾個區塊:
- 什麼是 forensics
- 怎麼搜字串與檔名
- disk analysis
- packet analysis
對新手最重要的起手式
碰到未知檔案,先想到:
filestringsgrepfind
這是最實用的基本功。
Disk analysis 的意義
它讓你知道檔案不一定只存在於表面目錄,也可能藏在:
- image
- partition
- inode
- deleted file
Packet analysis 的意義
你要學會:
- 打開 pcap
- 找異常封包
- 用 filter 排除雜訊
- 從封包裡找特徵與資料
12. The ICOA CLI Environment
這章非常重要,雖然官方自己也說目前還是 placeholder。
它告訴你 ICOA 最不一樣的地方:
ICOA 和一般競賽最大的差別
- 每位參賽者都在同一種受控 CLI 環境裡作答
- 不是一邊比賽一邊任意開一堆外部工具
- 操作可記錄、可驗證、可重現
為什麼這個格式重要
- 公平
- 可稽核
- 更接近真實工作情境
這章也在提醒你
你平常練習時要對齊這種思路:
- 用終端機解題
- 用腳本輔助
- 少依賴 GUI
- 習慣從單一 shell 視角處理問題
這份 Starter Guide 和 ICOA 比賽的關係
你可以這樣理解:
| 項目 | 角色 |
|---|---|
| Starter Guide | 入門教材 |
| Practice Environment | 練習環境 |
| Competition | 正式比賽 |
| Day 1 AI4CTF | 傳統 CTF + 官方 AI 協助 |
| Day 2 CTF4AI | AI 安全題:prompt injection、guardrail、AI forensics 等 |
Starter Guide 主要是先把你送到「能進場」的程度。
它沒有把 Day 2 講得很深,但已經預告之後會加入:
- prompt injection
- model probing
- adversarial inputs
這表示官方本來就知道,Starter Guide 現階段比較偏基礎能力建設。
你應該怎麼讀這份 Guide
如果你是新手
建議順序:
The ShellProgramming in PythonRegular ExpressionsForensicsCryptographyWeb ExploitsSQLICOA CLI Environment
如果你是要備賽
不要把它當小說看完就算。
你應該邊讀邊做:
- 每章至少打一次裡面的命令
- 自己做一份常用指令表
- 每章記「我以後遇到這類題,第一步做什麼」
建議你做成自己的速查表
Shell 起手式
| 情境 | 第一個動作 |
|---|---|
| 不知道目前在哪 | pwd |
| 想看目前有哪些檔案 | ls |
| 想看檔案內容 | cat / less |
| 想建立資料夾 | mkdir |
| 想建立空檔 | touch |
Forensics 起手式
| 情境 | 第一個動作 |
|---|---|
| 拿到未知檔案 | file |
| 懷疑有可讀字串 | strings |
| 想搜特定字 | grep / egrep |
| 想找特定檔名 | find |
Crypto 起手式
| 看到什麼 | 先想到什麼 |
|---|---|
一串像亂碼但尾巴有 = | Base64 |
只由 0-9a-f 組成 | Hex |
| 看起來像位移替換 | Caesar / substitution |
| 固定長度雜湊字串 | hash |
Web / SQL 起手式
| 類型 | 先想什麼 |
|---|---|
| Web 題 | request / response / input / output |
| XSS | 使用者輸入是否進 HTML / JS |
| SQLi | 後端是否把輸入直接拼進查詢 |
這份 Guide 真正要你養成的習慣
不是記 48 個指令而已。
而是這些習慣:
- 遇到東西先觀察,不要亂試
- 先用基本工具快速看檔案與輸出
- 會把重複工作交給 Python
- 願意自己查
man、查文件、查錯誤訊息 - 慢慢建立「題型 -> 工具 -> 指令 -> 驗證」的反射
你讀完這份講義後,應該至少知道的事
1. ICOA 不只是傳統 CTF
它是 AI Security Olympiad。
2. ICOA 很重視 CLI 能力
不是只會點 GUI 就夠。
3. Starter Guide 是基礎建設
它不是最後一步,但它是必要地基。
4. Python 很重要
因為它會讓你解題速度和效率差很多。
5. Day 1 和 Day 2 都需要底層技能
就算 Day 2 是 AI security,底層的 shell、文字處理、觀察能力還是很重要。
最後給你的讀法建議
如果你現在覺得官方頁面很長、很雜,其實很正常。
你不用一次全懂,你只要先抓三層:
ICOA 是 CLI-native 的 AI 安全競賽Starter Guide 是賽前基礎教材先把 shell、Python、forensics、crypto、web 這些地基打好
等你有了這三層概念,再回頭看官方英文原文,就會清楚很多。
快速總結
| 問題 | 簡短答案 |
|---|---|
| ICOA Starter Guide 是什麼 | ICOA 的入門訓練教材 |
| 它在教什麼 | CLI、Python、regex、網路、Web、Crypto、SQL、Forensics |
| 它為什麼重要 | 因為 ICOA 的比賽環境以終端機為核心 |
| 它適合誰 | 新手、選手、教練、國家隊培訓初期 |
| 你怎麼讀最有效 | 邊看邊打指令,自己做速查表 |