Field notes

Build log / reading mode

AI Coding Agent Aman: 8 Praktik Wajib untuk Web Developer dan Sysadmin

AI coding agent dapat membaca file, menjalankan command, dan mengubah source code. Pelajari cara menggunakannya dengan aman menggunakan sandbox, least privilege, secret management, dan human review.

AI coding assistant sedang berkembang menjadi sesuatu yang jauh lebih powerful.

Dulu developer bertanya:

"Buatkan function JavaScript untuk..."

AI memberikan code dan manusia menyalinnya.

Sekarang AI coding agent dapat:

Membaca Repository
      ↓
Menganalisis Code
      ↓
Mengedit File
      ↓
Menjalankan Command
      ↓
Menjalankan Test
      ↓
Memperbaiki Error

Kemampuan ini sangat berguna.

Namun semakin besar akses sebuah AI agent, semakin penting keamanan environment tempat agent tersebut bekerja.

1. Jangan Berikan Credential di Prompt

Jangan menulis:

Database Password:
xxxxxxxx

API Key:
xxxxxxxx

SSH Password:
xxxxxxxx

secara sembarangan ke dalam prompt.

Gunakan:

  • Environment variable
  • Secret manager
  • CI/CD secrets
  • Credential vault

Contohnya:

DATABASE_URL=${DATABASE_URL}
API_KEY=${API_KEY}

2. Gunakan Principle of Least Privilege

Agent hanya perlu mendapatkan permission yang memang dibutuhkan.

Jika hanya perlu mengedit sebuah repository, jangan langsung memberikan akses ke:

Entire Server
Production Database
Cloud Root Account
Domain Administrator

Gunakan:

Minimum Access
+
Minimum Scope
+
Minimum Duration

3. Gunakan Sandbox

Idealnya AI agent bekerja pada environment terisolasi.

Contohnya:

Container
VM
Sandbox
Temporary Environment

Arsitekturnya:

AI Agent
   ↓
Sandbox
   ↓
Repository
   ↓
Testing

Jika sesuatu berjalan salah, dampaknya lebih terbatas.

4. Jangan Berikan Production Access Secara Default

Hindari:

AI Agent
   ↓
SSH Root
   ↓
Production Server

Lebih aman:

AI Agent
   ↓
Development
   ↓
Pull Request
   ↓
Human Review
   ↓
CI/CD
   ↓
Production

Manusia tetap memiliki checkpoint sebelum perubahan penting diterapkan.

5. Selalu Review Git Diff

Sebelum menerima perubahan:

git status
git diff

Periksa apakah AI:

  • Menghapus validation
  • Mengubah authentication
  • Menambah dependency
  • Menulis secret
  • Mengubah permission
  • Menonaktifkan security control

Jangan hanya melihat apakah aplikasi berhasil dijalankan.

6. Batasi Network Access

Tanyakan:

Apakah AI agent benar-benar membutuhkan unrestricted internet access?

Jika tidak, batasi.

Agent
  ↓
Allowed Resources
  ↓
Internet Restricted

Network restriction membantu memperkecil ruang gerak agent.

7. Jangan Jalankan Command Secara Buta

Misalnya AI menyarankan:

curl https://example.com/install.sh | bash

Jangan langsung menjalankannya.

Periksa:

  • Apa yang didownload?
  • Siapa sumbernya?
  • Apa isi script?
  • Permission apa yang digunakan?
  • File apa yang akan diubah?

Lebih aman download terlebih dahulu dan review isinya.

8. Pastikan Ada Logging

Catat aktivitas penting:

Command Executed
File Changed
Tool Called
Deployment Performed
Permission Requested

Audit trail membantu ketika terjadi masalah.

Gunakan Git sebagai Safety Net

Sebelum perubahan besar:

git status
git add .
git commit -m "checkpoint before ai changes"

Setelah AI selesai:

git diff

Anda dapat melihat seluruh perubahan dengan lebih mudah.

Jangan Simpan Secret di Repository

Pastikan file seperti:

.env

masuk ke:

.gitignore

Contohnya:

.env
.env.local
.env.production

Workflow yang Lebih Aman

Developer
     ↓
AI Coding Agent
     ↓
Isolated Environment
     ↓
Git Changes
     ↓
Automated Tests
     ↓
Security Scan
     ↓
Human Review
     ↓
Merge
     ↓
Deployment

AI meningkatkan kecepatan.

Control memastikan kecepatan tersebut tidak mengorbankan keamanan.

Kesimpulan

Pertanyaan penting di era AI development bukan hanya:

Seberapa pintar AI yang digunakan?

Tetapi juga:

Seberapa besar akses yang diberikan kepada AI?

Semakin autonomous sebuah AI agent, semakin penting penggunaan sandbox, least privilege, human approval, secret management, logging, dan version control.

Gunakan AI untuk mempercepat engineering, bukan menghilangkan engineering discipline.