Portfolio

從資安實作出發,走向系統建造與可量測的 GPU AI Infrastructure 研究。

Overview

我喜歡把抽象問題做成可以操作、可以檢驗的系統。資安解題教我從線索重建過程; 入侵偵測與多人遊戲讓我碰到模組整合的真實摩擦;GPU 排程研究則逼我回答: 改進在實機上是否仍然成立?

以下作品各自從一個我想釐清的問題出發,留下關鍵實作、可觀察的結果,以及下一次會帶著走的方法。

作品與研究

Kelpflux · GPU 工作負載智慧排程

AI Infrastructure / Research

  • 共用 GPU 叢集遇到工作互搶資源時,光提高使用率還不夠:等待時間、長尾延遲與中斷代價也得一起考慮。這是我開始研究排程的問題。
  • 整合 Slurm 與 Kubernetes,加入彈性伸縮、GPU MPS 共用和 checkpoint-aware draining,再以深度強化學習選擇排程策略。
  • 在實驗室 2-GPU 叢集的中、重度負載下,平均工作完成時間(JCT)較 Backfill 改善約 8.1–12.0%;P99 與公平性仍有取捨。
  • 這個專案讓我把『提出策略』推進到『建出系統、在實機上比較,並解釋數字為何可信』。

漆彈多人遊戲

C++ / Computer Graphics

  • 我想知道圖學課學到的渲染技術,能不能不靠現成遊戲引擎,撐起一場真正可玩的多人對戰。
  • 以 C++17、OpenGL 4.5 自製渲染器與 GLSL 效果;用 GPU SplatMap 顯示塗地、CPU 網格計算碰撞與分數,再接上 Valve GameNetworkingSockets、miniaudio 和 ImGui。
  • 完成雙隊、180 秒一局的 3D 漆彈遊戲,從畫面到計分都能在同一場對戰中運作。
  • 最難的不是單一特效,而是讓渲染、遊戲狀態與連線結果一致;這次實作把我對『系統整合』的理解從概念變成了除錯經驗。

區塊鏈入侵偵測系統

Security / Systems

  • 課堂上的偵測規則若只停在主機端日誌,事後要怎麼追查事件有沒有被改過?我把『可追溯』當成期末專案的設計起點。
  • 蒐集 Windows Sysmon 與 Security Event Log,用 Frida 監控 DLL 載入,再以 Solidity 智慧合約記錄事件,透過 Flask/Vue 儀表板查詢。
  • 做出從端點採集、鏈上紀錄到網頁檢視的完整流程,而不只是一個孤立的偵測腳本。
  • 做完才真正感受到:資安系統的價值也取決於證據能否留下、能否被別人讀懂。

Malware Detector · Windows 惡意行為偵測

Malware Analysis / Endpoint Security

  • Sysmon 會留下大量事件;TeamT5 寒假培訓時,我想釐清哪些行為值得再往程序記憶體追查。
  • 以 C++20 整合 Sysmon 事件、可疑操作觸發條件與程序記憶體掃描,將 process tampering、遠端執行緒與高權限程序存取串成可解釋的 finding。
  • 用掃描結果與短時間去重控制警報,而不只憑單一事件 ID 判定惡意;專案未宣稱真實環境的偵測率。
  • 這段實作讓我開始把端點事件視為線索,再用程序狀態確認,而不是把一個可疑 API 當成完整證據。

低資源語言與新語言的 LLM 繞過研究

AI Security / Research

  • 如果安全測試大多用主流語言,模型碰到低資源語言或新造語言時,原本的防線還算數嗎?
  • 我在 AIS3 暑期營隊以多種模型測試跨語言 Prompt Injection,讓不同語言條件下的繞過情形可以放在一起比較。
  • 比起只展示單次成功的提示詞,我更在意測試條件是否一致,能不能說明語言變化如何影響防護。

APT-41 攻擊鏈復現

Threat Research / Security

  • 看懂一個漏洞,仍不足以看懂一次入侵;我想練習把分散的攻擊行動串成完整脈絡。
  • 在 AIS3 實驗環境復現 APT-41 相關攻擊鏈,依 MITRE ATT&CK 整理各階段 TTP,並逐步驗證攻擊流程。
  • 最後留下的是一條可以講清楚的證據鏈,也讓我開始習慣從攻擊者的連續行動,而不是單點工具來分析威脅。

CVE 漏洞利用與攻擊流程報告

Vulnerability Research / Security

  • 公開 PoC 能跑起來,不等於同學能理解漏洞如何形成;我希望把復現結果整理成可交接的攻擊流程。
  • 在資安課程攻防平台復現 CVE-2024-4577 與 CVE-2025-55182,擔任組長分工整理 PoC、漏洞報告與流程視覺化。
  • 這次練習讓我把『自己打得出來』變成『其他人能依證據重現、理解並討論』。