0Pricing
Cyber Security Academy · Pelajaran

Pemindaian Rahasia dan Kredensial Hardcode

Cegah kunci API dan kata sandi ikut dikomit menggunakan git-secrets, gitleaks, dan hook pre-commit.

Pemindaian Rahasia dan Kredensial Hardcode adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Masalah Rahasia yang Ditanam Langsung dalam Kode

Pengembang tanpa sengaja melakukan komit terhadap kunci API, kata sandi, kunci privat, dan token ke repositori kode sumber. Setelah masuk ke riwayat git, rahasia tersebut tetap ada meskipun sudah dihapus. Repositori publik dipindai oleh bot dalam hitungan detik setelah dilakukan push.

Apa Saja yang Dikomit

Rahasia umum yang ditemukan dalam repositori:

  • Kunci akses AWS (AKIA...)
  • Token akses pribadi GitHub
  • Kata sandi basis data dalam berkas config
  • Kunci API Stripe/pembayaran
  • Kunci privat TLS/SSH
  • URL webhook Slack

Pengait Prakomit untuk Pencegahan

Cegah rahasia masuk ke git sejak awal:

# Install gitleaks as a pre-commit hook:
pip install pre-commit
# .pre-commit-config.yaml:
repos:
- repo: https://github.com/zricethezav/gitleaks
  rev: v8.18.1
  hooks:
  - id: gitleaks

Memindai Repositori yang Sudah Ada

Pindai repos untuk mencari rahasia:

# gitleaks: scan entire git history
gitleaks detect --source . --log-opts="--all"

# truffleHog: high-entropy string + regex detection
trufflehog git file://.

# GitHub secret scanning (automatic for public repos)
# Alerts under Security → Secret scanning alerts

Pemindaian Rahasia GitHub

GitHub secara otomatis memindai repositori publik untuk mencari pola rahasia yang dikenal (kunci AWS, token GitHub, dan sebagainya), lalu memberi tahu penyedia terkait. Untuk repositori privat, GitHub Advanced Security memperluas kemampuan ini. Penyedia seperti AWS secara otomatis mencabut kunci saat mendeteksi rahasia.

Solusi .gitignore (dan Batasannya)

Menambahkan .env ke .gitignore mencegah komit yang tidak disengaja. Namun, pengembang tetap dapat melakukan komit terhadap rahasia dalam berkas lain, dan .gitignore tidak membantu jika berkas tersebut sudah pernah dikomit. Pertahanan berlapis: gitignore + pengait prakomit + pemindaian CI.

Menggunakan Variabel Lingkungan

Rahasia tidak boleh pernah muncul dalam kode. Gunakan variabel lingkungan yang dimuat saat runtime:

# Python:
import os
api_key = os.environ["API_KEY"]

# Node.js with dotenv (for local dev only):
require("dotenv").config()
const apiKey = process.env.API_KEY

# Never commit .env to git

Pengelola Rahasia

Aplikasi produksi sebaiknya menggunakan pengelola rahasia khusus:

  • AWS Secrets Manager — rotasi otomatis, akses yang dikendalikan IAM
  • HashiCorp Vault — sumber terbuka, untuk perusahaan, dengan banyak backend
  • Azure Key Vault / GCP Secret Manager

Rahasia tidak pernah disimpan dalam kode atau variabel lingkungan di disk.

Merotasi Rahasia yang Disusupi

Jika sebuah rahasia terekspos:

  1. Segera cabut rahasia tersebut (sebelum melakukan penyelidikan)
  2. Periksa log akses untuk mengetahui penggunaan yang tidak sah
  3. Buat rahasia baru
  4. Perbarui semua sistem yang menggunakan rahasia lama
  5. Hapus dari riwayat git dengan git-filter-repo atau BFG Repo Cleaner

Menghapus Rahasia dari Riwayat Git

Setelah mencabut rahasia, hapus rahasia tersebut dari riwayat:

# BFG Repo Cleaner (faster than filter-branch):
java -jar bfg.jar --delete-files .env repo.git
git reflog expire --expire=now --all
git gc --prune=now --aggressive
git push --force
# Note: force push rewrites history - coordinate with team

Rahasia dalam Alur CI/CD

Sistem CI/CD memiliki pengelolaan rahasianya sendiri:

  • GitHub Actions: Rahasia disimpan dalam pengaturan repositori/organisasi → diakses sebagai ${{ secrets.API_KEY }}
  • GitLab CI: Variabel CI/CD
  • Jenkins: pengaya Kredensial

Samarkan rahasia dalam log. Jangan pernah mencetaknya dalam keluaran penelusuran kesalahan.

Pemeriksaan Singkat: Pemindaian Rahasia

Apa pertahanan lini pertama yang paling efektif untuk mencegah rahasia masuk ke repositori?

Rangkuman Pelajaran

Rahasia yang ditanam langsung dalam kode git merupakan risiko kritis — repos publik dipindai oleh bot dalam hitungan detik. Pencegahan: pengait prakomit (gitleaks), gitignore. Deteksi: truffleHog, pemindaian rahasia GitHub. Simpan rahasia dalam variabel lingkungan atau pengelola rahasia khusus (Vault, AWS Secrets Manager). Segera lakukan rotasi saat rahasia terekspos; hapus dari riwayat git dengan BFG Repo Cleaner.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pemindaian Rahasia dan Kredensial Hardcode” gratis?

Ya — teks lengkap “Pemindaian Rahasia dan Kredensial Hardcode” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pemindaian Rahasia dan Kredensial Hardcode”?

Cegah kunci API dan kata sandi ikut dikomit menggunakan git-secrets, gitleaks, dan hook pre-commit. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?

Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Pemindaian Rahasia dan Kredensial Hardcode” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?

Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. SAST dan DAST dalam Pipeline CI/CD
  2. Analisis Komposisi Perangkat Lunak (SCA)
  3. Pemindaian Rahasia dan Kredensial Hardcode
  4. Security Champion dan Pemodelan Ancaman
← Kembali ke Cyber Security Academy