Bongkar kelemahan logik perniagaan yang terlepas daripada

Kebenaran peringkat objek yang rosak menduduki tempat pertama dalam OWASP API Security Top 10, dan menurut OWASP, alat static application security testing (SAST) tradisional bergelut untuk menemui kelemahan kawalan akses. Semakan kebenaran yang hilang memang bermaksud tiada kod, jadi pengimbas yang memadankan corak tidak ada apa-apa untuk dipadankan. Anda hanya dapat menemui celah itu jika anda sudah tahu apa yang sepatutnya dikuatkuasakan oleh endpoint tersebut.

Kami sedang membina Business Logic Security Analyzer dalam GitLab Duo Agent Platform untuk mengesan kerentanan logik perniagaan yang terlepas daripada pengimbas berasaskan corak. Ia kini dalam akses awal untuk pelanggan GitLab Ultimate di GitLab.com.

Kod sah, niat salah

Mana-mana pasukan keselamatan aplikasi pasti mengenali tiga temuan ini:

  1. Endpoint mengambil order ID daripada permintaan dan mengembalikan order itu tanpa menyemak siapa pemiliknya.
  2. Medan role pada profil pengguna menerima apa sahaja JSON yang dihantar oleh klien.
  3. User ID ialah integer berturutan.

Setiap satunya kod sah yang terlepas daripada kebanyakan peraturan taint dan corak dalam enjin SAST konvensional, kerana tiada data tidak dipercayai sampai ke sink berbahaya, dan tiada signature yang diketahui buruk muncul. Apabila dirangkaikan, semuanya menyerahkan setiap order pelanggan dan peranan administrator kepada penyerang.

Di seluruh pangkalan pelanggan GitLab, saiz codebase telah berkembang sehingga 500% apabila agen menulis kod. Pendedahan CVE sehingga April mencatatkan 46% lebih tinggi daripada ramalan Februari daripada Forum of Incident Response and Security Teams. Model AI yang sama yang menjana kod juga menjadikan kelemahan sedia ada lebih murah untuk ditemui dan dirangkaikan. Logik kebenaran menjadi tempat tekanan itu dirasai: Pembangun dan agen menulis semakan dalam satu atau dua baris, tetapi apabila satu semakan tidak ada, celah itu sering tidak disedari. Seperti yang diungkapkan Omer Azaria, Naib Presiden Pengurusan Produk di GitLab, di GitLab Transcend, “Kami terperangkap di tengah-tengah: lebih banyak kod, serangan lebih pantas, pasukan yang sama.”

Mengapa pengimbasan seluruh repository bermula di sini

GitLab Duo Security Review mencari kelemahan kebenaran akses dalam merge request, tetapi banyak kelemahan logik perniagaan tidak kelihatan dalam diff. Sama ada endpoint perlu menyemak pemilikan bergantung pada model data, peranan yang ditakrifkan oleh aplikasi, dan bagaimana endpoint lain melayan rekod yang sama. Menilai satu handler bermakna membaca aplikasi di sekitarnya.

Itulah sebabnya Business Logic Security Analyzer mengimbas seluruh repository, dan sebab GitLab ialah platform untuk melakukannya. Kod sumber, pipeline yang membina kod itu, temuan keselamatan yang melekat padanya, dan polisi yang mengawalnya semuanya berada dalam satu sistem. Agent yang mengimbas di sini melihat aplikasi sepenuhnya dan menulis temuannya di tempat pasukan keselamatan sudah bekerja.

Di Transcend, kami memperkenalkan GitLab Security Standard: lima peringkat yang perlu dilalui setiap agent untuk memperoleh lebih banyak autonomi, dibina atas andaian bahawa kod kini banyak dan kepercayaan terhad. Peringkat Verify-nya mewajibkan setiap perubahan, sama ada ditulis oleh manusia atau agent, untuk lulus kawalan yang tidak boleh disentuh author. Business Logic Security Analyzer berjalan di luar kawalan author, dan temuannya kekal dalam laporan serta dashboard yang sama yang mengawal baki codebase.

Cara analyzer berfungsi

Business Logic Security Analyzer ialah alur asas pada GitLab Duo Agent Platform yang menyasar kelemahan logik perniagaan, bermula dengan kebenaran akses pada peringkat objek yang rosak, kebenaran akses yang tiada atau tidak sesuai, dan mass assignment. Pengamal boleh menjalankan imbasan seluruh repository, dan mengimbas setiap merge request secara automatik selepas pipeline-nya lulus.

Mengesan mana-mana kelemahan ini memerlukan model tentang apa yang aplikasi sepatutnya lakukan. Pattern scanner tidak memilikinya, tetapi agent yang membaca repository boleh membina model tersebut. Analyzer bermula dengan menyenaraikan entry point aplikasi dan memetakan siapa yang sepatutnya dibenarkan melakukan apa: rekod mana milik pengguna mana, dan tindakan mana bersifat pentadbiran. Selepas itu, ia membaca setiap handler dalam skop dan menyemak sama ada handler itu menguatkuasakan peraturan tersebut sebelum menyentuh rekod. Temuan akan masuk ke Vulnerability Report dan widget keselamatan merge request sebagai hasil SAST first-class, untuk menyokong triage, remediation, dan auditing.

Dalam aplikasi demo di bawah, refund_order menerima order_id daripada request dan menetapkan refunded=1 tanpa memeriksa sama ada caller memiliki order tersebut atau merupakan administrator. Taint rules tetap tidak memberi amaran kerana query itu parameterized. Analyzer melaporkan isu ini sebagai CWE-639, Critical, di app/orders.py:17, dan penjelasannya menyebut pemeriksaan ownership yang tidak ada.

Model di sebalik analyzer

Business Logic Security Analyzer ialah keupayaan GitLab pertama yang menyokong Claude Mythos 5.1 daripada Anthropic, dan tersedia dalam early access untuk pelanggan dalam environment yang diluluskan. Model itu hanya melihat prompt GitLab dan repository pelanggan, yang menyimpan konteks yang diperlukan analyzer: data model, roles, dan rules yang dikuatkuasakan oleh setiap endpoint. Seperti yang dinyatakan oleh Rajat Pandit, Ketua Applied AI, Anthropic India, di Transcend, “Apabila pihak pembela mempunyai lebih banyak konteks daripada pihak penyerang, model canggih mengubah kiraan untuk memihak kepada mereka.”

Selain Mythos, analyzer menyokong Claude Opus 5.5, Sonnet 5.5, Sonnet 5, dan Sonnet 4.6 daripada Anthropic, dengan lebih banyak model dirancang untuk keluaran akan datang. Semuanya berjalan sebagai model yang dikendalikan GitLab melalui AI gateway GitLab, di bawah terma pengendalian data yang sama seperti bahagian lain GitLab Duo Agent Platform.

Mohon early access

Business Logic Security Analyzer berada dalam early access untuk sekumpulan kecil pelanggan GitLab Ultimate di GitLab.com. Peserta menjalankan analyzer pada codebase mereka untuk mencari true positives yang belum diketahui pasukan keselamatan mereka. Kami akan bekerjasama dengan setiap pasukan untuk mengetahui di mana analyzer betul, salah, atau tidak memberi amaran. Setiap scan menggunakan GitLab Credits, dan kos meningkat mengikut saiz attack surface aplikasi.

Untuk dipertimbangkan, hubungi account team anda, atau, jika anda belum menjadi pelanggan GitLab, hubungi sales team kami. Setelah group anda diaktifkan, mulakan scan seluruh repository daripada GitLab Duo Chat atau melalui API, dan lampirkan Business Logic scan profile pada project untuk mengimbas merge request projek tersebut. Dokumentasi Business Logic Security Analyzer merangkumi prasyarat dan setup.


Sumber Rujukan:

  • Artikel asal: GitLab Blog
  • Diterjemah daripada artikel asal ke Bahasa Melayu oleh AI Editorial – haqis.com
Comments

Similar Posts