安全、隱私與授權
用 AI 寫程式時,最容易出事的不是程式寫錯,而是把不該貼的東西貼出去、裝了不該裝的套件。這堂課幫你建立三條安全底線,並把整個單元串起來。
前面五堂,你學會了 AI 怎麼寫程式、怎麼把需求說清楚、怎麼請它解釋和除錯、怎麼驗證它的產出。這是本單元的最後一堂,要補上一塊很重要的拼圖:安全。
好消息是,這裡的規則不難,大部分是習慣問題。養成了,就能安心地用 AI 做更多事。
底線一:秘密不出門
API 金鑰是一串讓程式能使用某個服務的密碼,例如呼叫匯率 API、寄信服務、雲端資料庫都會用到。它和你的帳號密碼一樣重要:別人拿到,就能用你的名義使用服務,甚至產生費用。
問題是,這些東西常常就寫在程式碼或設定檔裡。除錯時一個順手複製,就整段貼出去了。
不確定的時候,就當作紅燈。
貼程式碼給 AI 之前,先把敏感的值換成假的:
# 貼給 AI 之前
API_KEY = "sk-live-8f3a...真正的金鑰..."
# 換成這樣再貼
API_KEY = "YOUR_API_KEY"
更好的習慣是,一開始就不要把秘密寫在程式碼裡,而是放在環境變數或 .env 檔,並且確認 .env 不會被上傳到 GitHub。你可以直接請 AI 教你:
我的 Python 匯率腳本裡直接寫了 API 金鑰(我已經換成假值 YOUR_API_KEY)。請教我:
- 怎麼改成從環境變數讀取金鑰?
- 如果用
.env檔,要怎麼確保它不會被 Git 上傳? - 如果我之前不小心把真的金鑰上傳過,應該怎麼處理?
客戶資料也是同樣道理。要請 AI 幫忙處理一份客戶名單的格式,就先做幾筆假資料,例如「王小明、0912-000-000」,讓 AI 寫出程式,再由你在自己的電腦上執行真正的資料。
底線二:先看公司規則
如果你在工作上使用 AI,請先了解公司的規範。不同公司差很多,常見的問題包括:
- 可以使用哪些 AI 工具?是否只能用公司採購的版本?
- 公司程式碼可以貼進去嗎?
- 對話內容會不會被用來訓練模型?公司方案的設定是什麼?
各家 AI 服務對資料的處理方式不同,個人方案和企業方案也可能不同,而且條款會更新。不要憑印象,去看服務的隱私說明和公司的規定。不確定時,問主管或資訊部門,比事後補救好得多。
底線三:套件先查再裝
上一堂提過,AI 可能建議根本不存在的套件。還有一種風險是名字很像的冒牌套件,例如把知名套件的名字少一個字母。這類攻擊屬於「供應鏈風險」:問題不在你的程式,而在你安裝的別人的程式。
安裝前花一分鐘檢查:
| 檢查項目 | 怎麼看 |
|---|---|
| 真的存在嗎? | 去官方套件庫(例如 PyPI、npm)搜尋 |
| 名字拼對了嗎? | 和官方文件上的名稱逐字比對 |
| 有人在維護嗎? | 看最近更新時間、原始碼網址、使用人數 |
| 真的需要嗎? | 標準函式庫能做到的,就不必多裝一個套件 |
你建議我安裝 套件名稱。請告訴我:
- 它的官方文件或原始碼網址是什麼?(我會自己點進去確認)
- 有沒有只用 Python 標準函式庫就能做到的替代方法?
關於授權:誰的程式碼?
AI 產生的程式碼,大多是依照常見模式組合出來的。但偶爾,它可能產生和某個既有開源專案很相似的片段,而那個專案可能有授權條件,例如要求保留版權聲明。
給初學者的實用建議:
- 練習、個人專案:通常不必太擔心。
- 公司或商業產品:遵守公司的政策。有些工具提供比對公開程式碼的功能,可以留意。
- 整段看起來像某個知名專案的程式:去找原始出處,確認它的授權。
這個領域的法律規範還在發展中,各國不一樣。這裡不是法律建議,有疑慮時請教公司法務或專業人士。
下一個單元,我們要從聊天視窗走出來,學習使用 Claude Code 這類能直接在你的專案裡動手的 Coding Agent。它的能力更強,所以今天這三條底線會變得更重要。
用一個「匯率換算腳本」把這個單元學到的全部走一遍:
- 需求:用第二堂的範本寫需求說明,指定「只用標準函式庫、匯率先寫死」,請 Claude 先提問再寫。
- 理解:請它在每行加中文註解,挑一行你最不懂的追問。
- 驗證:用三個你算得出答案的例子測試,再試
0、負數、abc。 - 除錯:遇到錯誤時,照第四堂的格式整理線索再問。
- 安全:假裝要改成呼叫真實匯率 API,請 AI 教你從環境變數讀取金鑰,程式碼裡只留
YOUR_API_KEY。
讀完了嗎?
標記完成後,單元與專案的進度會自動更新(只存在這台裝置的瀏覽器)。
留言與討論
卡關了、有心得,或發現內容需要更新?都歡迎留言。留言使用 GitHub 帳號登入。