Slide 10/16 • Keamanan
Path Security & Diff-Aware Modify
Path Security
Deny-List Direktori Sensitif
.env
.git
venv
__pycache__
.pai_history
.idea, .vscode
Alur Validasi
-
1.
Normalisasi path (
os.path.normpath) - 2. Resolusi real path relatif terhadap akar proyek
- 3. Pemeriksaan deny-list
- 4. Batalkan operasi jika gagal + tampilkan error
Diff-Aware Modify
Pembatasan Perubahan
Threshold maksimal:
500 baris
Ratio maksimal:
50% file
Dapat dikonfigurasi via
PAI_MODIFY_THRESHOLD dan PAI_MODIFY_MAX_RATIO
Mekanisme Two-Phase
- 1. Attempt 1: LLM generate modifikasi pertama
- 2. Validasi: cek jumlah baris berubah & ratio
- 3. Jika melebihi threshold → Retry dengan instruksi lebih fokus
- 4. Atomic write: gunakan tempfile untuk keamanan
Keunggulan
- Mencegah penimpaan berkas besar
- Mendorong perubahan fokus & minimal
- Surgical approach seperti Professional Programmer
- Retry otomatis jika terlalu besar