Audit Permission macOS
Dokumen ini mengkatalog semua permission macOS (TCC - Transparency, Consent, dan Control) dan akses level sistem yang diberikan kepada aplikasi di mesin ini.
Ringkasan
macOS menggunakan framework TCC (Transparency, Consent, dan Control) untuk mengelola permission aplikasi. Permission ini disimpan di database SQLite dan mengontrol akses ke resource sensitif.
Kategori Permission
Accessibility
Aplikasi yang mengontrol UI atau mengotomatisasi aplikasi lain.
| Aplikasi | Status | Catatan |
|---|---|---|
| Kaku | Granted | Automasi terminal |
| Vorssaint | Granted | System utilities |
Full Disk Access
Aplikasi yang membutuhkan akses ke semua file di sistem.
| Aplikasi | Status | Catatan |
|---|---|---|
| Kaku | Granted | Akses file terminal |
| OpenCode | Granted | Akses file AI assistant |
Screen Recording
Aplikasi yang menangkap konten layar.
| Aplikasi | Status | Catatan |
|---|---|---|
| Kaku | Granted | Rendering terminal |
Microphone
Aplikasi yang mengakses mikrofon.
| Aplikasi | Status | Catatan |
|---|---|---|
| Tidak ada | - | Tidak ada aplikasi yang di-grant |
Camera
Aplikasi yang mengakses kamera.
| Aplikasi | Status | Catatan |
|---|---|---|
| Tidak ada | - | Tidak ada aplikasi yang di-grant |
Location Services
Aplikasi yang mengakses data lokasi.
| Aplikasi | Status | Catatan |
|---|---|---|
| Tidak ada | - | Tidak ada aplikasi yang di-grant |
Contacts
Aplikasi yang mengakses address book.
| Aplikasi | Status | Catatan |
|---|---|---|
| Tidak ada | - | Tidak ada aplikasi yang di-grant |
Calendars
Aplikasi yang mengakses data kalender.
| Aplikasi | Status | Catatan |
|---|---|---|
| Tidak ada | - | Tidak ada aplikasi yang di-grant |
Reminders
Aplikasi yang mengakses reminder.
| Aplikasi | Status | Catatan |
|---|---|---|
| Tidak ada | - | Tidak ada aplikasi yang di-grant |
Photos
Aplikasi yang mengakses photo library.
| Aplikasi | Status | Catatan |
|---|---|---|
| Tidak ada | - | Tidak ada aplikasi yang di-grant |
Files and Folders
Akses ke folder spesifik (Desktop, Documents, Downloads).
| Aplikasi | Status | Catatan |
|---|---|---|
| Kaku | Granted | Akses file terminal |
Permission Level Sistem
Xcode Command Line Tools
- Status: Terinstall
- Path:
/Library/Developer/CommandLineTools - Permission: Akses standar developer tools
Homebrew
- Status: Terinstall
- Path:
/opt/homebrew - Permission: Package management, instalasi system-wide
SSH Keys
- Status: Belum dikonfigurasi
- Lokasi:
~/.ssh/ - Catatan: Tidak ada SSH key ditemukan. Generate dengan
ssh-keygen -t ed25519
Audit Permission
Untuk audit permission di sistem:
# List semua permission TCC (butuh Full Disk Access untuk terminal)
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db \
"SELECT service, client, auth_value FROM access WHERE auth_value != 0;"
# Cek permission aplikasi spesifik
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db \
"SELECT service, auth_value FROM access WHERE client='fun.tw93.kaku';"
# List semua permission yang di-grant
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db \
"SELECT service, client FROM access WHERE auth_value=2;"Memberikan Permission
Permission diberikan melalui System Settings:
- System Settings > Privacy & Security
- Pilih kategori permission
- Toggle aplikasi on/off
Atau via command line (butuh admin):
# Grant Full Disk Access ke aplikasi
sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db \
"INSERT OR REPLACE INTO access VALUES('kTCCServiceSystemPolicyAllFiles','com.example.app',0,2,1,NULL,NULL,NULL,'UNUSED',NULL,0,1);"Catatan
- TCC permission bersifat per-machine dan tidak berpindah antar sistem
- Setelah install macOS fresh, semua permission harus di-grant ulang
- Beberapa permission memerlukan restart aplikasi untuk berlaku
- Database TCC dilindungi oleh SIP (System Integrity Protection) di system volume