Problem politike brez nadzor
Company: Goldman Sachs 2023
Politika:
"Brez osebnih podatkov (PII) v ChatGPT"
Realnost:
- Razvojnik napiše: "Ali je ta telefonska številka +1-212-902-8000 Goldman?"
- ChatGPT odgovori: "Da, to je main zaupanje Goldman Sachs"
- Podatki so now v ChatGPT logs
- Javna je API
Politika je Failed.
Zakaj politika ne deluje?
-
Kompleksnost: Kaj je osebni podatek?
- "John Smith" je očitna
- Toda "J.S." tudi je?
- "goldman.com" je?
- "212-902-8000" je?
-
Slaba vidnost: Kaj je že poslano?
Razvojnik: Kaj je napaka v tej kodi? ChatGPT: [Odgovori] ChatGPT je videl kodo, tokeni, naslove, vsega Ali je razvojnik vedel? Ne. -
Novednost: Kaj je sploh ChatGPT?
Junior razvojnik: Ne razumem kako ChatGPT dela Pošilja: Vse, kaj ga ima Rezultat: Podatke puščanje -
Presplošno: Ne preveč navodilo
"Ne pošlji PII" = kaj je PII? "Vprašajte vodjo" = vodja je neuporabljiv "Samo javni kodi" = kaj je "javni"?
Tehnični nadzor
1. Zaznava Pred Pošiljanjem
Razvojnik napiše:
"Kaj je napaka v tej kodi s tokenom: sk_live_51234..."
Orodje:
- Zaznava: "sk_live_" je Stripe API ključ
- Akcija: Blokira pošiljanja
- Poroka: "API ključ zaznan. Pregledaj kodo."
2. Zaznava Med Pošiljanjem
If ChatGPT je dejansko poštan:
- Orodje nadzira ChatGPT API
- Kaj je to, kaj je poslano?
- Če je PII: Blokira
- Log: Kaj je poskusano poslano
3. Zaznava Po Pošiljanju
Razvojnik je že poslal v ChatGPT
- Orodje nadzira ChatGPT logs (API)
- Kaj se je dejansko zgodilo?
- Če je PII: Alarm, obvestilo
- Korektivna akcija: Zahteva brisanja
Primerjava
| Politika | Tehnični Nadzor | |
|---|---|---|
| Metoda | "Ne pošlji PII" | Avtomatsko blokira |
| Hitrost | Počasna (človek) | Takoj (avtomatika) |
| Pokrajina | Subjektivna | Objektivna (regex) |
| Uspešnost | 20% (ljudje ignorira) | 99% (avtomatika) |
| Stroški | Nizke usposabljanja | Višje infrastrukture |
Primeri
Primer 1: OpenAI API Request Blocking
import re
from openai import OpenAI
def check_for_pii(text):
patterns = [
r'\b\d{3}-\d{2}-\d{4}\b', # SSN
r'sk_live_[a-zA-Z0-9]{20,}', # Stripe
r'Authorization: Bearer [a-zA-Z0-9]+', # Tokens
]
for pattern in patterns:
if re.search(pattern, text):
return True
return False
def safe_chat(prompt):
if check_for_pii(prompt):
raise Exception("PII detected. Request blocked.")
client = OpenAI()
response = client.chat.completions.create(...)
return response
Primer 2: API Proxy
Razvojnik
↓
Local Proxy (PII Check)
↓
Blokira ali Dovoli
↓
ChatGPT API
Implementacija
-
Policy Tool: (Proxies, CLI)
- Stripes keys, API ključi, SSN, imena
- Integriraj z IDE (VS Code extension)
- Integriraj z CI/CD pipeline
-
Training Tool: (Navodilo)
- Kaj je PII?
- Kako ga razpoznati?
- Kaj storiti, če ga najdeš?
-
Monitoring Tool: (Auditing)
- Kaj je poslano?
- Ali je kaj blokirano?
- Ali je kaj puščanja?
Zaključek
Politika "Ne PII" je Naivna. Tehnični nadzor je nujno. Integracija je vključena v razvoj.