AI membuat pembobolan makin murah.
Server yang menerima uang harus dijaga sampai ke akarnya.
Selama bertahun-tahun di keamanan cloud Alibaba Cloud, saya menangani 200 intrusi trojan dan serangan tingkat lanjut seperti perintah yang dikirim lewat cloud assistant. Serangan jenis kedua ini sama sekali tidak menyentuh SSH Anda: cukup satu AccessKey akun cloud yang bocor, penyerang mengirim satu perintah dari konsol, dan semua server tertanam backdoor di menit yang sama.
Sekarang serangan makin murah. Dulu, membongkar aplikasi, front end yang diobfuskasi, atau mini-program butuh reverse engineer berpengalaman berhari-hari; sekarang cukup tempel kodenya ke AI, dan algoritma tanda tangan, alamat API, sampai kunci yang Anda kira tersembunyi sering terbuka dalam hitungan menit. Pemindai juga pakai AI: ganti-ganti identitas, menebak path sendiri, dan membaca pesan error Anda sebelum mencoba lagi.
Jadi aturannya berubah: tidak ada rahasia di sisi klien; yang dihitung hanya verifikasi di server. Obfuskasi cuma memperlambat AI beberapa menit. Yang benar-benar menahan penyerang adalah server yang menghitung ulang setiap nominal, mengecek ulang setiap notifikasi pembayaran ke gateway, dan mencocokkan setiap perubahan saldo, plus akun cloud yang tetap aman walaupun ada kunci yang bocor.
Saya merangkum pengalaman itu menjadi 6 skill Claude Code. Pasang, lalu biarkan AI memeriksa server, akun cloud, dan alur pembayaran Anda dengan cara berpikir penyerang. Lawan AI dengan AI.
Pasang dan langsung pakai
Salin tiga perintah, lalu bilang ke Claude Code apa yang Anda mau.
git clone https://github.com/roisantoso-id/lock-every-bit.git mkdir -p ~/.claude/skills cp -r lock-every-bit/skills/sec-* ~/.claude/skills/
- "Pakai sec-server untuk memeriksa server ini"
- "Cek webhook pembayaran saya dengan sec-payment"
- "Pakai sec-audit untuk meninjau perubahan kemarin"
Bukan teori: server produksi kami berjalan dengan ini setiap hari
Layar keamanan langsung; halaman publik, IP disamarkan.
Empat aturan bertahan di era AI reverse engineering
- Tidak ada rahasia di klienAnggap setiap algoritma tanda tangan, endpoint, dan kunci di web, aplikasi, atau mini-program sudah dibaca penyerang. Tidak ada kunci yang bisa memindahkan uang disimpan di klien.
- Hanya server yang menentukan nominalHarga, jumlah, diskon, dan kredit dihitung ulang di server; setelah notifikasi pembayaran diverifikasi, cek ulang ke gateway; kredit saldo dengan update atomik, satu kali saja.
- Akun cloud lebih penting daripada SSHKonsol, AccessKey, dan cloud assistant masing-masing setara akses root ke semua mesin. Aktifkan MFA di akun utama, larang aksi kirim-perintah di setiap kunci, dan pasang alarm di log audit.
- Lawan AI dengan AISetiap pagi biarkan AI meninjau perubahan kemarin dengan cara berpikir penyerang, dan pasang alarm rekonsiliasi sebagai jaring terakhir: saldo hanya bertambah dari top-up yang tercatat.
Isinya apa saja
Dua skill inti: pengamanan server menahan penyerang di luar; keamanan pembayaran menjaga uang tetap aman meski mereka masuk. Empat lainnya melengkapi keduanya.
- Akun cloud lebih penting daripada SSH: satu AccessKey yang bocor bisa mengirim perintah ke semua mesin lewat cloud assistant, tanpa melewati SSH
- SSH hanya pakai kunci, root tidak bisa login; port yang dipublikasikan Docker tidak lewat ufw, jadi aturan "hanya jaringan internal" bisa saja tidak berlaku
- Auto-update terpasang belum tentu jalan: sebagian image cloud mematikan sumber update keamanan
Dilengkapi: server-audit.sh, pemeriksaan read-only
- Di era AI reverse engineering tidak ada rahasia di klien: harga, jumlah, dan kredit dihitung ulang di server
- Verifikasi setiap notifikasi pembayaran lalu cek ulang ke gateway; kreditkan tiap pembayaran sekali saja, dengan nomor transaksi unik sebagai pengaman
- Saldo hanya boleh bertambah dari top-up yang tercatat: rekonsiliasi tiap 15 menit, beri alarm kalau ada tambahan tanpa sumber
Dilengkapi: Kode PHP / Node untuk verifikasi webhook + kredit idempoten
- Origin hanya menerima koneksi dari CDN; header IP palsu tidak ada gunanya
- Path seperti .env, .git, dan wp-login langsung diputus sebelum sampai ke aplikasi
- Batasi request dinamis bersamaan per IP, supaya puluhan request paralel tidak memenuhi worker
Dilengkapi: Template nginx / fail2ban, exposure-check.sh pemeriksaan dari luar
- Kunci tidak boleh masuk riwayat git, log, parameter URL, front end, tangkapan layar, atau chat dengan AI
- Data sangat sensitif: ciphertext terikat ke record-nya, dua kunci disimpan terpisah
- Backup dienkripsi dengan kunci publik: server yang dibobol pun tidak bisa membuka backup lama
Dilengkapi: secret-scan.sh memindai seluruh riwayat git
- Notifikasi setiap login SSH: kalau bukan Anda, berarti ada masalah
- Server yang mati tidak bisa mengirim alarm sendiri: tambahkan pemantauan dari luar di dua wilayah
- Backup yang belum pernah di-restore belum bisa disebut backup: tiap kuartal dekripsi, impor, dan cocokkan jumlah barisnya
Dilengkapi: ssh-login-alert.sh、backup-encrypt.sh
- Dua model berbeda meninjau file yang sama secara terpisah, lalu model ketiga membantah setiap temuan
- Tinjau perubahan kemarin setiap hari, ditambah satu modul berisiko tinggi secara bergiliran
- Dilengkapi 24 jenis bug nyata yang pernah kami temukan, sebagai daftar periksa
Dilengkapi: Template laporan audit
Cuma punya satu sore? Kerjakan 5 hal ini dulu
Kerjakan berurutan; masing-masing bisa selesai sendiri.
- Matikan login SSH dengan password dan login rootCek nilai yang benar-benar berlaku dengan
sudo sshd -T | grep -Ei 'passwordauth|permitroot'; keduanya harusno. - Lihat port mana saja yang terbuka ke internetJalankan
ss -tlnpdandocker ps. Database dan Redis hanya di jaringan internal; yang terbuka ke publik cukup 22, 80, dan 443. - Pastikan update keamanan benar-benar terpasangDi
/etc/apt/apt.conf.d/50unattended-upgrades, baris-securitytidak boleh diawali//. - Tambahkan cek ulang ke gateway dan kredit atomik di webhook pembayaranSetelah tanda tangan diverifikasi, cek status asli ke gateway dengan nomor order; kredit dengan
UPDATE … WHERE status = 'pending'dan tambah saldo hanya kalau tepat satu baris berubah. - Aktifkan notifikasi login SSH, lalu buat backup terenkripsi dan coba restoreDua hal ini menentukan seberapa cepat Anda tahu dan apakah data bisa diselamatkan.
Bug yang kami temukan di kode sendiri (cuplikan)
Semuanya ditemukan di situs yang sedang berjalan dan sudah diperbaiki. Kode Anda kemungkinan juga punya beberapa.
Ke-24 jenis lengkap beserta perbaikannya ada di sec-audit.
Sebelum dipakai
- Pakai hanya di server dan situs milik Anda sendiri. Skripnya hanya membaca: tidak menyerang dan tidak mengubah konfigurasi.
- Sistem blokir otomatis Anda bisa memblokir Anda sendiri. Pemeriksaan dari luar mengakses path seperti
.env, jadi masukkan IP Anda ke whitelist dulu atau jalankan lewat hotspot HP. - Jangan pernah menempel kunci ke AI. Biarkan AI membaca
.env.example, bukan.env; sec-secrets berisi pengaturan Claude Code untuk memblokirnya. - Angka di dalamnya hanya titik awal. Sesuaikan dengan trafik Anda dan rahasiakan ambang batas yang sudah Anda setel.
Penulis
Pertanyaan umum
Gratis? Boleh dipakai untuk komersial?
Gratis, lisensi MIT. Boleh diubah, dipakai komersial, atau dimasukkan ke repo tim Anda; cukup sertakan pemberitahuan lisensinya.
Apakah hanya bisa dipakai di Claude Code?
Setiap skill hanyalah folder berisi SKILL.md yang langsung dibaca Claude Code; tool AI coding lain yang bisa membaca instruksi Markdown juga bisa. Skrip dan template nginx / fail2ban sama sekali tidak butuh AI.
Skill-nya ditulis dalam bahasa apa?
Isi SKILL.md berbahasa Mandarin, dan Claude membacanya tanpa masalah; skrip, template, dan contoh kode tidak tergantung bahasa. README di GitHub tersedia dalam bahasa Mandarin, Inggris, Indonesia, dan Jepang.
Apakah skripnya akan mengubah server saya?
Tidak. server-audit.sh, exposure-check.sh, dan secret-scan.sh hanya membaca dan menampilkan OK / WARN / FAIL. Anda yang memutuskan apa yang diubah; setiap SKILL.md menjelaskan langkahnya dan cara membatalkannya.
Kenapa praktik keamanan ini dibuka ke publik?
Ini praktik umum untuk menahan pemindaian otomatis dan bug yang sering terjadi; mengetahuinya tidak membantu penyerang menembusnya. Yang harus dirahasiakan adalah ambang batas yang sudah Anda setel, alamat server, dan masalah yang belum diperbaiki, dan semua itu tidak ada di sini.
Boleh dipakai untuk memindai situs orang lain?
Tidak. Pakai hanya untuk server dan situs milik Anda sendiri. Memindai situs orang lain melanggar hukum di banyak negara.
Kalau bermanfaat, beri Star dan bagikan ke teman yang membangun produk sendirian. Ada yang salah atau punya cara yang lebih baik? Buka issue di GitHub.
Buka GitHub