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 有關

官方有說明這份教材是從 picoCTFCTF 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自動化、批量測試、快速寫小程式
Gitgit做版本控制、處理 repo 題型

這份 Guide 的核心用途

你可以把它想成「ICOA 入場前的生存包」。

它要你先具備這幾種基本能力:

  1. 會使用 shell
  2. 看得懂基本 Linux 路徑與檔案操作
  3. 能用 Python 寫小腳本
  4. 會用 regex 處理文字
  5. 理解網路、Web、Crypto、SQL、Forensics 的入門觀念
  6. 知道 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 教你最基本的操作:

  • cd
  • pwd
  • mkdir
  • touch
  • ls
  • cat
  • cp
  • nano
  • echo "..." > file

這章真正想培養的能力

不是只會「打出指令」,而是:

  • 你要敢進終端機
  • 你要不怕黑底畫面
  • 你要知道怎麼建立、查看、複製、修改檔案

這是 Day 1 與 Day 2 的共同底座。

3. Virtual Environment

這章是在講「環境」。

內容包括:

  • Web 工具
  • Remote server
  • Virtual machine
  • VPN
  • Authentication
  • IDE
  • 安裝 Linux 的基本觀念

這章你要抓到的重點

  1. 你不一定非得直接用本機裸系統練習
    可以用 VM、WSL、雲端主機。

  2. 工具能不能用,跟環境很有關
    不同題目、不同系統、不同工具版本,可能差很多。

  3. 安全習慣也算基本功
    像密碼管理、多因素驗證、不要亂把敏感資料放到不安全環境。

對 ICOA 的意義

它在提醒你:

  • 比賽前就要熟悉你自己的工作環境
  • 不要到賽場才第一次碰 shell
  • 也不要第一次遇到 VPN、Linux、遠端連線

4. Programming in Python

這章是整份 Starter Guide 非常重要的一章。

它不是在教你完整 Python,而是在教你:

  • 用 Python 快速自動化
  • 用 Python 做字串、迴圈、條件判斷
  • 處理輸入輸出
  • 讀寫檔案
  • 處理例外
  • 傳命令列參數

這章你要會的東西

  • 變數
  • print
  • for
  • if / else
  • list
  • function
  • input()
  • open()
  • try / except
  • sys.argv

為什麼這章重要

因為很多 CTF 題不難,但很重複。

例如:

  • 爆破一串字元
  • 一次試很多可能
  • 批量處理資料
  • 從檔案逐行找特徵

這些用手做很慢,用 Python 會快很多。

你讀這章的正確心態

不是把 Python 當成程式設計課,而是把它當成:

CTF 的萬用小刀

5. Regular Expressions

這章在教文字模式匹配,也就是 regex。

它的核心用途包括:

  • 找網址
  • 找 email
  • 找日期
  • 找 IP
  • 找 flag 格式
  • 驗證輸入
  • 批量替換或過濾內容

這章你要懂的最少概念

  • literal characters
  • metacharacters
  • character classes
  • escaping
  • anchors

你在 CTF 裡會怎麼用

  • grepegrep 搜 flag
  • 用 regex 從 log 裡抓特定型態
  • 在 Python 裡用 re

對初學者來說,先不用追到很深,先會讀、會改、會查就夠。

6. Git & Version Control

這章看起來不像在教打題,但其實很實用。

它在教:

  • git init
  • git add
  • git commit
  • git log
  • git checkout
  • git branch
  • git merge
  • git pull
  • git push

這章的真正價值

  1. 你可以保留不同嘗試版本
    程式改壞了可以回去。

  2. 團隊合作比較不會互相覆蓋
    尤其如果未來真的多人一起練習或共用腳本。

  3. 有些題目本身就可能跟 repo 或 commit 歷史有關
    所以 Git 也可能直接變成題目內容。

對新手的建議

先熟悉這幾個就夠:

  • git init
  • git 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

它要你先懂什麼

  1. HTML 是頁面結構
  2. JavaScript 在瀏覽器執行
  3. Server code 在伺服器執行
  4. 前端和後端分工不同

為什麼這很重要

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 基本語法
  • select
  • where
  • and / 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

對新手最重要的起手式

碰到未知檔案,先想到:

  • file
  • strings
  • grep
  • find

這是最實用的基本功。

Disk analysis 的意義

它讓你知道檔案不一定只存在於表面目錄,也可能藏在:

  • image
  • partition
  • inode
  • deleted file

Packet analysis 的意義

你要學會:

  • 打開 pcap
  • 找異常封包
  • 用 filter 排除雜訊
  • 從封包裡找特徵與資料

12. The ICOA CLI Environment

這章非常重要,雖然官方自己也說目前還是 placeholder。

它告訴你 ICOA 最不一樣的地方:

ICOA 和一般競賽最大的差別

  1. 每位參賽者都在同一種受控 CLI 環境裡作答
  2. 不是一邊比賽一邊任意開一堆外部工具
  3. 操作可記錄、可驗證、可重現

為什麼這個格式重要

  • 公平
  • 可稽核
  • 更接近真實工作情境

這章也在提醒你

你平常練習時要對齊這種思路:

  • 用終端機解題
  • 用腳本輔助
  • 少依賴 GUI
  • 習慣從單一 shell 視角處理問題

這份 Starter Guide 和 ICOA 比賽的關係

你可以這樣理解:

項目角色
Starter Guide入門教材
Practice Environment練習環境
Competition正式比賽
Day 1 AI4CTF傳統 CTF + 官方 AI 協助
Day 2 CTF4AIAI 安全題:prompt injection、guardrail、AI forensics 等

Starter Guide 主要是先把你送到「能進場」的程度。

它沒有把 Day 2 講得很深,但已經預告之後會加入:

  • prompt injection
  • model probing
  • adversarial inputs

這表示官方本來就知道,Starter Guide 現階段比較偏基礎能力建設。

你應該怎麼讀這份 Guide

如果你是新手

建議順序:

  1. The Shell
  2. Programming in Python
  3. Regular Expressions
  4. Forensics
  5. Cryptography
  6. Web Exploits
  7. SQL
  8. ICOA 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 個指令而已。

而是這些習慣:

  1. 遇到東西先觀察,不要亂試
  2. 先用基本工具快速看檔案與輸出
  3. 會把重複工作交給 Python
  4. 願意自己查 man、查文件、查錯誤訊息
  5. 慢慢建立「題型 -> 工具 -> 指令 -> 驗證」的反射

你讀完這份講義後,應該至少知道的事

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、文字處理、觀察能力還是很重要。

最後給你的讀法建議

如果你現在覺得官方頁面很長、很雜,其實很正常。
你不用一次全懂,你只要先抓三層:

  1. ICOA 是 CLI-native 的 AI 安全競賽
  2. Starter Guide 是賽前基礎教材
  3. 先把 shell、Python、forensics、crypto、web 這些地基打好

等你有了這三層概念,再回頭看官方英文原文,就會清楚很多。

快速總結

問題簡短答案
ICOA Starter Guide 是什麼ICOA 的入門訓練教材
它在教什麼CLI、Python、regex、網路、Web、Crypto、SQL、Forensics
它為什麼重要因為 ICOA 的比賽環境以終端機為核心
它適合誰新手、選手、教練、國家隊培訓初期
你怎麼讀最有效邊看邊打指令,自己做速查表
Built with LogoFlowershow