# 4. 把故事壓成三句話的檢查表 有人把這些案例(包括 K 的、包括新聞上的那些「工程師求職遇詐」「延伸套件害他噴掉資產」)一起整理之後,發現一個很殘酷、也很簡單的事實: > 大部分災難不是因為你太笨,而是因為你太急。 於是就有了那份被整理出來的「三句話檢查表」: 1. No email/login/pay buttons - 不用信裡的連結登入/付款,只用自己打的官網。 2. No code you don’t understand - 不執行看不懂、說不清用途的檔案或指令。 3. No “Trust” for unknown repos in VS Code - 對陌生專案,一律先別按「信任作者」,先當成只讀資料夾看完再說。
這份檢查表教你在收到「面試作業/陌生程式碼」時,用三招降低被詐騙和植入木馬的風險:不用信裡連結登入/付款、不執行看不懂的程式、不對陌生 repo 按 VS Code「信任」。英文版同樣用簡單句子,初級程式設計師也能看懂,並提供一段通用 AI 問句,幫你再檢查信件、連結和 repo 是否可疑。
---
有一個工程師,叫他 K 好了。
K 不年輕也不老,在行業裡打滾十多年,寫過網站、後端服務,也碰過一點金融相關專案。那一年景氣不佳,他更新了履歷,在幾個求職平台勾選「對遠端工作開放」。
不久,一封信出現在他的收件匣和私訊裡:
- 公司名查得到官網,Logo 也不陌生
- 職缺內容剛好對到他的技術堆疊
- 薪水區間比他現在多出一大截
信裡的英文自然、格式工整,還附了一個「技術招募顧問」的頭像連結,看起來就像那些職涯文章裡會出現的人物。
對正在找工作的人來說,這是一個「合理到有點幸運」的機會,而不是那種一看就知道在騙你的垃圾信。
***
流程很標準:
先線上聊 15 分鐘,互相介紹,確認履歷,再進行一個「小型 take‑home 作業」。
作業內容是審視一個既有專案:
- 從指定平台下載或 clone 一份程式碼
- 在自己熟悉的 IDE 裡打開
- 看看專案結構與實作,有什麼優化建議
這對任何一個工程師來說,都不是什麼「不合理的要求」。
K 下載了專案,在自己平常用的編輯器裡打開;畫面看起來就像日常工作:
資料夾、原始碼、README、幾個設定檔。
他甚至比多數人更小心一點: - 沒有直接執行二進位檔 - 只是用編輯器瀏覽程式碼 - 還把看起來可疑的部分丟給 AI 請它幫忙分析 AI 給了幾個提醒,但沒有斷言「這一定有問題」。K 把這當成「暫時沒有明顯爆炸物」,決定繼續看下去。 ***
幾天後,他發現自己某個資產帳戶出現異常:
- 有一串不是自己發出的操作紀錄
- 某個本來打算長期持有的資產不見了
- 排查電腦時,看不出「明顯被遠端控制」的畫面
那不是你熟悉的「假銀行網站」「假支付頁面」那種老派釣魚,而是更靠近今天工程師日常:
- 藏在設定檔、腳本、延伸模組、外連服務
- 只靠打開專案、載入環境、啟用某些功能,就悄悄開始運作
後來的分析(包含資安社群和媒體的整理)指出,近年有一類攻擊專門針對開發者:
利用「看似正常的面試作業、測試專案、語言延伸套件」,把複雜的惡意行為拆散,藏到:
- IDE 的設定與自動化任務 - 開發環境的外掛市場 - 專案的建置腳本與依賴鏈 換句話說,攻擊不再是「一個大大的 .exe」,而是把你的日常操作變成攻擊流程的一部分。 **
如果把 K 的行為跟一般使用者比,他其實做對了很多事:
- 沒有在明顯釣魚頁面輸入二次驗證碼
- 沒有隨便執行寄來的安裝程式
- 有用編輯器檢視程式碼,而不是直接雙擊執行
- 有把可疑片段丟給 AI 請它幫看
在多數防詐宣導裡,他已經算「高於平均水準」。
但面對這種專挑工程師下手的新型攻擊,這些還不夠。
真正致命的,是三個看似很小的差距:
1. 信裡的登入/下載按鈕,他仍然直接點了
沒有堅持「我全部自己打官網」。
沒有把這個對話框當成「最後一道防火牆」。
3. 對於自己看不懂、說不清用途的腳本與設定,他沒有一律停手
心裡那個「有點怪」被「很想拿到這份工作」壓過去。
這三個縫隙,就是攻擊設計者預先算好的空隙。
***
有人把這些案例(包括 K 的、包括新聞上的那些「工程師求職遇詐」「延伸套件害他噴掉資產」)一起整理之後,發現一個很殘酷、也很簡單的事實:
> 大部分災難不是因為你太笨,而是因為你太急。
於是就有了那份被整理出來的「三句話檢查表」:
1. No email/login/pay buttons
- 不用信裡的連結登入/付款,只用自己打的官網。
2. No code you don’t understand
- 不執行看不懂、說不清用途的檔案或指令。
3. No “Trust” for unknown repos in VS Code
- 對陌生專案,一律先別按「信任作者」,先當成只讀資料夾看完再說。
> 任何你覺得怪的信、連結、README、script,
> 先整段丟給 AI,請它幫你找紅旗、評分
Low / Medium / High。AI 不會替你賺回那筆錢,
但可以用 30 秒提醒你:「這份作業,可能貴得離譜。」
***
K 的故事不是「某年某月某平台」的八卦,而是工程師職涯裡一個新的常態:
- 你越有經驗、越有資產、越習慣快速處理工作,越容易成為這類攻擊的標的。
- 對方不再問你要不合理的事情,只是請你做你每天都在做的事:看程式、開專案、跑指令、裝外掛。
真正的差別,只在於:
> 你願不願意先停三秒,讓自己走「慢一點但安全很多」的路。
如果這個故事有什麼用,
大概就是讓你在下一次看到「完美機會」跟「看起來很正常的面試作業」時,心裡自動浮出那三句話:
- 信裡的登入/付款按鈕先不要點。
- 看不懂的程式先不要跑。
- VS Code 問要不要信任作者,先按 No。 其他更細的檢查表和 AI 問句,可以慢慢學; 但只要這三句話留在腦裡,就已經幫你少掉很多「超高學費」。
如果你不希望自己的故事也被騙,可以從今天就多加一個小習慣:
- 每次收到「面試作業/陌生程式碼」,先提醒自己:
- 不用信裡連結登入/付款。
- 不執行看不懂的程式。
- 不對陌生 repo 按 VS Code 的「Trust」。
- 覺得哪裡怪,就把內容丟給 AI,請它幫你找紅旗,再決定要不要繼續。
這三招,比起那些已經不見的錢,成本低得多。
完整檢查表與 AI 問句範本,都在這裡:
https://dawson54068.medium.com/...
https://opensourcemalware.com/...
當規則簡化到這種地步,它就不再是軟體工程,而是生物演化。
🍎 小紅帽的「大野狼防護協定」
大野狼換裝(偽裝連結): 「奶奶,妳的聲音怎麼變了?妳寄給我的按鈕怎麼怪怪的?」
→ 只要聲音(網址)不對,絕對不開門。
籃子裡的炸彈(陌生程式碼): 「別人的籃子不要隨便打開,更不要隨便拿出來玩。」
→ 看不懂的東西,就是垃圾,直接丟掉。
大野狼的邀請(信任按鈕): 「奶奶叫我按『信任』,但我知道那不是奶奶。」
→ 只要心中有一秒鐘的懷疑,就永遠按「No」。