Sparround

Məxfilik, sirlər və korporativ məhdudiyyətlər

Agent oxuduğu hər şeyi kontekstə salır, kontekst isə model sorğusuna gedir. Yəni sual belədir: hansı məlumat repo-nuzdan çıxa bilər?

Android layihəsində diqqət tələb edən mənbələr:

  • İmzalama açarları*.jks, *.keystore və onların parolları.
  • `local.properties` — SDK yolu, bəzən açarlar.
  • `google-services.json`, *.p8, *.p12 — servis konfiqurasiyaları.
  • `gradle.properties` — bəzən publish credential-ları.
  • Test məlumatları — real istifadəçi datası olan fixture-lar.
  • Log faylları — istifadəçi identifikatorları, tokenlər, PII.
  • Ekran şəkilləri — real hesab məlumatları görünə bilər.
json
{
  "permissions": {
    "deny": [
      "Read(./local.properties)",
      "Read(./**/*.jks)",
      "Read(./**/*.keystore)",
      "Read(./**/*.p8)",
      "Read(./**/*.p12)",
      "Read(./**/google-services.json)",
      "Read(./**/.env)",
      "Read(./**/.env.*)",
      "Read(./secrets/**)",
      "Bash(cat ~/.gradle/gradle.properties)",
      "Bash(env)",
      "Bash(printenv *)"
    ]
  }
}

Android layihəsi üçün `deny` siyahısı. Sonuncu üç sətir diqqətəlayiqdir: mühit dəyişənlərinin oxunması da sirr sızma yoludur.

QatNə edirMəhdudiyyəti
`.gitignore`Sirləri repo-dan kənarda saxlayırFayl diskdə qalır — agent onu oxuya bilər
`permissions.deny`Agentin oxumasını bloklayırYalnız sadalanan yolları tutur
Managed settingsDeveloper ləğv edə bilmirTəşkilat səviyyəsində qurulma tələb edir
Secret scanning (CI)Commit-də sirri tuturSızma artıq baş verdikdən sonra işləyir
Kontekstə diqqətLog və ekran şəklini yapışdırmazdan əvvəl təmizləməkİnsan vərdişindən asılıdır

Ən çox unudulan kanal — əl ilə yapışdırılan məzmundur. deny qaydaları agentin oxumasını bloklayır, amma sizin chat-ə yapışdırdığınız crash log-unu və ya ekran şəklini bloklamır. Real istifadəçi məlumatı olan stack trace-i yapışdırmazdan əvvəl təmizləmək lazımdır.

Korporativ kontekstdə əlavə suallar yaranır və bunların cavabı hüquq və təhlükəsizlik komandasındadır, developer-də yox:

  • Kodun xarici servisə göndərilməsinə icazə varmı? Hansı plan/müqavilə şərtləri altında?
  • Müştəri datası ilə işləyən modullar üçün ayrıca qayda varmı?
  • Data saxlanma (retention) şərtləri nədir?
  • Hansı mühitdən istifadə tələb olunur — birbaşa API, yoxsa şirkətin öz bulud provayderi üzərindən?

Developer üçün praktiki qayda: bu suallara cavab bilmirsinizsə, soruşun. "Bilmirdim" compliance auditində cavab deyil. Şirkətin siyasəti varsa, o, managed settings ilə texniki olaraq da tətbiq edilməlidir — yalnız sənəddə qalan siyasət işləmir.

📚 Mənbələr və sənədlər