科技教育創新專區 › 部落格

🛡️ #135 一所小學的程式,送上公共程式平臺:二十分鐘講完三週的資安檢測

黃凱揚(阿凱老師) · 桃園市龍潭區石門國民小學 · 2026-11-03

從一人資訊組的需求、AI 協作開發,到 Fortify 初掃 40 筆中風險以上一路修到 0,再到錯誤通報與開源再利用。這份向數位發展部報告的簡報,把整段上架過程攤開來給你看。

做工具的老師,最怕被問「安全嗎」

學校裡自己寫工具的老師越來越多,尤其有了 AI 協作之後,一個人也能做出全校在用的系統。可是只要有人問一句「這個安全嗎?學生資料放哪裡?別的學校可以用嗎?」,多數人只能回答「應該沒問題」。

科技教育創新專區走到第 134 個工具時,我決定把它送上數位發展部的公共程式平臺。上架標準很明確:不得有中風險(含)以上的弱點。這份簡報,就是 2026-11-06 向數位發展部報告這段過程用的,20 分鐘、17 頁,加上一段開場片頭。

#135 簡報裡有什麼?

為什麼要做:小校資訊組只有一個人,老師的需求很細,市售工具又常卡在註冊、廣告與學生資料的去向。目標只有一句話:免安裝、免註冊,老師打開就能用。

怎麼做到:老師提需求,AI Agent 寫程式,我負責審核與決策;每次修改都會自動測試、自動上線。工具依教學情境分成七大類,集中在一個入口網。

上架之路:從 10/06 收到上架說明,到 10/28 複掃合格送審,大約三週。Fortify 初掃 237 筆、其中中風險以上 40 筆,逐筆修補後在第四次複掃歸零;第三方元件掃描 Mend 原本 15 筆弱點,升級與移除元件後剩 1 筆低風險。簡報用一張表列出每一次掃描的數字,不只講結果,也讓人看到過程。

從掃描學到的事:開發用伺服器改成只走 HTTPS、檔案路徑先正規化再存取、識別碼改用加密等級的安全亂數、沒標授權的元件直接移除改自己寫。這些修改大多是在養成好習慣,修完之後,新寫的程式也照這個標準。

上線之後誰會知道壞了:瀏覽器端用 Sentry 追蹤錯誤,雲端函式把雜訊濾掉、分級限流,再用 Google Chat 卡片通知到手機,最後自動開一張 Issue 讓 AI 協助診斷,但不讓 AI 直接改程式。

讓人和 AI 都找得到:每個工具有介紹頁、每篇教學長文搜尋引擎都讀得到全文,還有給 AI 讀的 llms.txt。

開源與再利用:程式以 MIT 授權公開,工具介紹頁有「開源原始碼」按鈕;文章頁左下角可一鍵複製 AI 開發提示詞,貼給 ChatGPT、Claude 或 Gemini,就能參考原始碼改成自己的版本。

簡報本身的設計

真實技術棧

可以這樣用(情境示例)

以下是可以參考的用法,不是實際成效紀錄。

配對工具推薦

適用對象

想試試?

→ 前往 #135 公共程式平臺上架報告

建議直接翻到「每一次掃描的結果」那一頁:從 40 筆到 0 筆,每一列都是一次具體的修改。

開源原始碼:參考這個工具做出你的版本

阿凱老師大部分的教育工具都在 GitHub 公開原始碼,歡迎老師、學生與開發者參考改造成適合自己情境的版本。文章頁左下角的「複製 AI 開發提示詞」可把工具資料與原始碼連結一次交給 ChatGPT、Claude、Gemini 等 AI 助手。