Review kode berfokus keamananPelatihan Pemrograman

Review kode yang berfokus pada titik lemah keamanan

Penyerahan hasil mulai 1 hariTermasuk revisiPemeriksaan kualitas
Paket
Perlindungan pembayaranSelengkapnya
  • Revisi dalam batas paket tidak dikenai biaya.
  • Jika Anda tidak merespons dalam 3 hari setelah penyerahan hasil, hasil kerja diterima secara otomatis.
Pesan · Rp 595.000

Uang ditahan saat Anda membayar dan diteruskan hanya setelah Anda menerima hasil kerja.

Review kode yang berfokus pada titik lemah keamanan

Contoh hasil

Contoh untuk paket Standar

Code review: skrip Python impor pesanan untuk toko online kecil

Apa yang dilakukan kode

  1. Membaca orders.csv dari ekspor toko.
  2. Untuk tiap baris pesanan, mencari produk berdasarkan SKU di stock.xlsx lalu mengurangi jumlahnya.
  3. Menulis stok yang diperbarui dan mencatat total ke import_log.txt.

Strukturnya jelas dan nama fungsinya baik. Sebagian besar masalah muncul karena input tidak sesuai dengan yang diharapkan skrip.

Bug dan titik lemah

#BarisTingkatMasalah
148TinggiCSV yang sama bisa diimpor dua kali; tidak ada pengecekan ID pesanan yang sudah diproses. Ini penyebab paling mungkin stok minus.
272Tinggiint(row["qty"]) crash pada nilai kosong atau "2.0" dari pesanan refund.
395SedangPencarian SKU peka huruf besar-kecil: "gt-101" dan "GT-101" dianggap produk berbeda.
4130SedangFile dibuka tanpa encoding="utf-8", sehingga nama produk dengan karakter khusus rusak di Windows.
5201Rendahexcept: kosong menyembunyikan error asli dan membuat log tidak berguna.

Potongan kode yang diperbaiki

Masalah 1: lewati pesanan yang sudah diimpor

processed = load_processed_ids("processed_orders.txt")
for row in reader:
    if row["order_id"] in processed:
        continue
    # ... logika yang sudah ada ...
    processed.add(row["order_id"])
save_processed_ids("processed_orders.txt", processed)

Alasan: setiap pesanan hanya diterapkan sekali, meski skrip dijalankan ulang pada file yang sama.

Masalah 2: baca jumlah dengan aman

raw = (row.get("qty") or "").strip()
try:
    qty = int(float(raw))
except ValueError:
    log.warning("Pesanan %s: jumlah tidak valid %r, dilewati", row["order_id"], raw)
    continue

Alasan: baris refund atau sebagian dilewati dengan catatan jelas, bukan menghentikan seluruh impor.

Masalah 3: seragamkan SKU

sku = row["sku"].strip().upper()

Terapkan .strip().upper() yang sama saat membangun kamus stok.

Gaya dan keterbacaan

  • process() panjangnya 90 baris; pecah menjadi read_orders, apply_to_stock, write_report.
  • Ganti nomor kolom "ajaib" (row[7]) dengan nama header.

Silakan uji setiap perbaikan pada salinan file Anda: kami membaca kodenya, tetapi tidak menjalankannya.

Klien: pemilik toko teh online yang menulis skrip Python 310 baris untuk mengimpor pesanan dari ekspor CSV ke spreadsheet stok Masalah yang dilaporkan: "Kadang stok jadi minus, dan skripnya crash di beberapa file."

Klien dan semua datanya fiktif.

Tentang layanan ini

Banyak celah keamanan terlihat langsung di kode: perintah SQL atau shell yang dibangun dari input pengguna, output yang dicetak tanpa escaping, kata sandi yang disimpan dengan hash cepat, pemeriksaan yang memastikan siapa penggunanya tetapi tidak apa yang boleh diaksesnya, dan kunci yang ditulis langsung di kode sumber. Kami membaca kode Anda dengan OWASP Top 10 sebagai daftar periksa, menjelaskan setiap titik lemah dan bagaimana bisa disalahgunakan, lalu mengurutkannya berdasarkan risiko. Setiap temuan disertai potongan kode yang diperbaiki dengan pola aman untuk bahasa Anda.

Yang termasuk

  • Yang Anda dapatkanReview tertulis di halaman pesanan: titik lemah diurutkan berdasarkan risiko beserta penjelasannya, dan potongan kode yang diperbaiki dengan pola aman. Paket Premium menambahkan daftar periksa pengamanan singkat untuk bagian proyek lainnya.
  • InjeksiInjeksi SQL, shell, dan template
  • Escaping outputRisiko cross-site scripting
  • Pemeriksaan aksesSiapa yang bisa melihat dan mengubah apa
  • Kata sandi dan secretHashing dan kunci dikeluarkan dari kode
  • Temuan berperingkatPerbaiki yang terburuk lebih dulu

Cara kerja

  1. 1
    BriefAnda menempelkan bagian kode yang sensitif
  2. 2
    MembacaKami memeriksanya berdasarkan OWASP Top 10
  3. 3
    TinjauanAnda menerima temuan berperingkat dan perbaikannya

Yang kami butuhkan dari Anda

Kode yang menangani input, login, file, atau pembayaran yang ditempel sebagai teks atau tangkapan layar dengan secret diganti placeholder, bahasa dan framework-nya, serta siapa pengguna aplikasinya.

Kami akan menanyakan:

  • Bahasa dan framework apa?
  • Bagian mana yang menangani input pengguna, login, atau pembayaran?
  • Siapa yang menggunakan aplikasi ini?
  • Apakah ada insiden atau peringatan tertentu yang mendorong review ini?

Bandingkan paket

PaketDasarKode hingga 100 barisRp 255.000StandarKode hingga 400 barisRp 595.000PremiumHingga 1.000 baris dengan daftar periksa pengamananRp 1.173.000
Tenggat1 hari2 hari3 hari
Revisi123
Baris kodehingga 100hingga 400hingga 1.000
Potongan kode yang diperbaikiYaYaYa
Daftar periksa pengamananTidakTidakYa
Pesan DasarPesan StandarPesan Premium

Perlindungan pembayaran

Anda membayar saat memesan, tetapi uangnya diteruskan hanya untuk hasil kerja yang diterima.

  • Harga pastiHarga paket tidak berubah setelah Anda membayar.
  • Uang ditahanSaat Anda membayar, jumlahnya hanya ditahan. Dana diteruskan ke Dleex setelah Anda menerima hasil kerja.
  • Diperiksa sebelum penyerahanSetiap hasil melewati pemeriksaan kualitas sebelum sampai kepada Anda, dan Anda dapat melihatnya di halaman pesanan sebelum menerimanya.
  • Revisi gratisMinta revisi sesuai brief Anda sebanyak yang diizinkan paket.
  • Diterima setelah 3 hariJika dalam 3 hari setelah penyerahan hasil Anda tidak menerima hasil kerja maupun meminta revisi, hasil kerja diterima secara otomatis. Jika Anda menulis di chat pesanan setelah penyerahan hasil, pesanan akan menunggu; setelah kami menjawab, kami dapat memulai ulang hitungan 3 hari dan akan memberitahukannya di chat.
  • Dikerjakan ulang atau pengembalian dana penuhJika hasilnya tidak sesuai brief Anda dan revisi tidak memperbaikinya, atau pengerjaan memakan waktu lebih dari dua kali tenggatnya, tulis di chat pesanan: kami akan mengerjakan ulang atau mengembalikan pembayaran secara penuh.
Cara kerjanya →

Tanya jawab

Apakah ini penetration test atau sertifikat keamanan?

Tidak. Kami membaca kode yang Anda kirim dan tidak menyerang atau memindai sistem live Anda, jadi ini tidak menggantikan audit formal jika audit tersebut diwajibkan.

Haruskah saya mengirim kata sandi atau kunci?

Jangan pernah. Ganti dengan placeholder; jika kunci asli sudah pernah ada di kode, segera ganti kunci tersebut.

Apakah Anda menjalankan kode saya?

Tidak. Kami membacanya dengan cermat dan menganalisis perilakunya, tetapi tidak menjalankannya, jadi uji setiap perbaikan yang disarankan di proyek Anda sendiri.

Paket
Pesan · Rp 595.000· 2 hari