Keamanan · skill open source

Diperbarui · Lisensi MIT

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.

Server kami, 24 jam terakhir 34,164permintaan 613 mencari kunci / file konfigurasi 92 IP sedang diblokir Data langsung ›
Ambil di GitHub atau unduh zip

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/

Bukan teori: server produksi kami berjalan dengan ini setiap hari

Layar keamanan langsung; halaman publik, IP disamarkan.

Layar keamanan langsung: request 24 jam, blokir, pencarian kunci, IP diblokir, peta asal serangan, dan jenis serangan

Empat aturan bertahan di era AI reverse engineering

  1. 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.
  2. 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.
  3. 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.
  4. 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.

01
sec-server Pengamanan server Inti Jangan biarkan mereka masuk
  • 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

02
sec-payment Keamanan pembayaran Inti Kalaupun berhasil masuk, uang tetap aman
  • 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

03
sec-edge Bot dan pemindai Makin cepat request jahat diblokir, makin murah
  • 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

04
sec-secrets Kunci dan enkripsi Sekali terlihat, anggap sudah bocor
  • 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

05
sec-watch Pemantauan dan pemulihan Tahu dalam hitungan menit
  • 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

06
sec-audit Audit keamanan dengan AI Dua model meninjau, model ketiga mencari celahnya
  • 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.

  1. Matikan login SSH dengan password dan login rootCek nilai yang benar-benar berlaku dengan sudo sshd -T | grep -Ei 'passwordauth|permitroot'; keduanya harus no.
  2. Lihat port mana saja yang terbuka ke internetJalankan ss -tlnp dan docker ps. Database dan Redis hanya di jaringan internal; yang terbuka ke publik cukup 22, 80, dan 443.
  3. Pastikan update keamanan benar-benar terpasangDi /etc/apt/apt.conf.d/50unattended-upgrades, baris -security tidak boleh diawali //.
  4. 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.
  5. 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.

Bonus pendaftaran bisa diklaim berulang kaliGanti alamat IPv6 atau tambah titik di Gmail sudah dianggap pengguna baru; cek dulu baru tulis, sehingga 10 request paralel bisa mengklaim 10 bonus.
Hitungan percobaan login bisa diresetSetiap login berhasil menghapus hitungan gagal dari IP itu: coba beberapa password, login ke akun sendiri, ulangi tanpa pernah terkunci.
Request paralel membuat saldo jadi minusTidak ada pemotongan di awal, jadi akun bersaldo kecil bisa mengirim banyak request sekaligus.
Parameter yang diteruskan berbeda dengan yang ditagihJumlah hanya dibatasi saat menghitung harga; upstream tetap menerima nilai asli dari pengguna.
Staf bisa mengambil alih akun pelangganSiapa pun dengan hak "ubah pelanggan" bisa reset password, mematikan 2FA, lalu memakai saldo pelanggan.
Reverse proxy bisa diarahkan ke endpoint internal.., %2e, dan %2f di path berhasil keluar dari prefix yang diizinkan.
Kunci masuk ke logSebagian API menaruh kunci di parameter URL, sehingga tercatat apa adanya di log nginx dan platform log eksternal.
Kunci SSH tak dikenalKunci yang terpasang lewat konsol cloud muncul lagi setiap kali server diinstal ulang.

Ke-24 jenis lengkap beserta perbaikannya ada di sec-audit.

Sebelum dipakai

Penulis

Santoso, Jakarta. Komputasi cloud dan arsitektur sistem.

Riwayat karier adalah pengalaman pribadi; organisasi yang disebutkan tidak bermitra dengan atau mendukung proyek ini.

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