English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

tamu
1 / ?
kembali ke pelajaran

Pemindai MOAD sebagai Praktik Permakultur

Prinsip pertama Permakultur: amati sebelum bertindak. Habiskan waktu dalam sistem yang ingin Anda ubah. Pahami aliran, akumulasi, dan arus limbahnya sebelum merancang intervensi Anda. Seorang petani yang mengamati tempat air menggenang, tempat sinar matahari menjangkau, dan tempat nutrisi terkonsentrasi menempatkan tanaman lebih efektif daripada yang mengikuti rencana generik.

Pemindai MOAD menerapkan prinsip ini pada ekosistem perangkat lunak. Sebelum mengajukan masalah tunggal, pindai seluruh proyek dan bahasa. Petakan distribusi cacat: berapa banyak proyek yang memiliki CWE-407? Mana yang memilikinya di jalur lalu lintas tinggi? Paket hulu mana, jika diperbaiki, akan menyebarkan perbaikan ke sebagian besar dependennya? Amati ekosistem sebelum bertindak pada node tunggal.

Permaculture Applied to Code: scan 2192 store 2192 patch 2192 disclose 2192 loop

Bandingkan ini dengan praktik ekstraktif: menemukan kerentanan, menjualnya ke broker kerentanan, mengumpulkan pembayaran, lanjutkan. Peneliti mengekstrak modal finansial dari pengetahuan dan tidak meninggalkan apa pun. Tidak ada pengetahuan yang menyebar. Sistem tidak meningkat. Pengguna masa depan di setiap proyek yang terpengaruh tetap rentan. Broker memegang pengetahuan, yang menurun nilainya seiring kerentanan yang berusia tanpa pengungkapan.

Praktik Permacomputer: temukan cacat, perbaiki, ungkapkan, kirim hulu, rilis patch sebagai domain publik. Pengetahuan menyebar tanpa peluruhan — bahkan, ini bertambah: CVE yang diungkapkan menjadi referensi, posting MOAD mengajarkan pola, peneliti masa depan menemukan instans baru menggunakan pola yang sama. Loop tertutup daripada ekstraksi terminal.

Observasi Permakultur mendahului tindakan Permakultur. Pemindaian menghasilkan data tentang skor lonjakan, grafik ketergantungan, dan jumlah node yang terpengaruh sebelum patch bergerak. Data ini membentuk patch mana yang dikirim terlebih dahulu: node betweenness tinggi sebelum node daun, karena perbaikan pada perpustakaan yang banyak bergantung menyebar lebih jauh per unit usaha.

Jangan Hasilkan Limbah: Tiga Jalur Pengungkapan

Tiga jalur yang dapat diambil peneliti setelah menemukan kerentanan kritis dalam perpustakaan open-source populer:

A. Jual ke broker kerentanan seharga $10.000.

B. Laporkan secara pribadi kepada pengelola dengan jadwal pengungkapan 90 hari, kemudian publikasikan terlepas dari status patch.

C. Kirim patch sebagai pull request segera dengan pengungkapan publik yang bersamaan.

Terapkan prinsip Permakultur 'jangan hasilkan limbah' untuk mengevaluasi setiap opsi. Identifikasi output apa yang masing-masing jalur hasilkan, ke mana output tersebut pergi, dan output mana yang meninggalkan sistem sebagai limbah (energi yang tidak terarah yang tidak menguntungkan siapa pun).

Pemajemukan dalam Sistem Terbuka

Prinsip kedua Permakultur: tangkap dan simpan energi ketika mengalir berlimpah sehingga Anda memiliki cadangan ketika tidak. Sistem penangkapan air menyimpan air selama badai untuk digunakan di bulan kering. Hutan makanan menyimpan energi matahari sebagai buah dan biomassa di seluruh musim. Tujuannya: cocokkan waktu penyimpanan dengan waktu kelimpahan.

Pengetahuan Hamming yang majemuk: setiap teknik baru terhubung dengan daftar masalah penting Anda, mengalikan output produktif. Wawasan tunggal tentang entropi informasi, bagi Shannon, membuka puluhan tahun pekerjaan teoritis karena terhubung dengan setiap pertanyaan terbuka di daftarnya secara bersamaan. Pengetahuan yang disimpan membayar bunga majemuk.

Pemajemukan open-source bekerja berbeda dari pemajemukan individu. Perbaikan yang digabung ke dalam repositori kanonik menyimpan energi di tempat di mana setiap fork hilir secara otomatis menarik darinya. Patch yang diajukan ke perpustakaan asyncio Python pada 2022 menyebar ke setiap proyek menggunakan perpustakaan itu tanpa tindakan tambahan dari peneliti asli. Energi menyimpan di sumber dan pemajemukan melalui grafik ketergantungan.

Artikel MOAD menyimpan energi secara berbeda: setiap posting mengajarkan pola pemindaian daripada hanya mengungkapkan instans spesifik. Peneliti yang membaca artikel MOAD CWE-407 belajar bukan hanya bahwa Proyek X memiliki kerentanan flush, tetapi seperti apa pola flush dalam bahasa apa pun, cara mencarinya, dan cara membedakannya dari kode serupa yang jinak. Peneliti masa depan menemukan instans baru menggunakan pola yang disimpan daripada menemukannya kembali dari prinsip pertama.

Mekanisme penyimpanan energi sama pentingnya dengan energi itu sendiri. Pengetahuan yang disimpan dalam catatan pribadi hanya pemajemukan untuk pemilik catatan. Pengetahuan yang disimpan di repo publik pemajemukan untuk semua orang yang membacanya. Pengetahuan yang disimpan dalam database CVE pemajemukan untuk semua orang yang menjalankan pemindai keamanan. Setiap lokasi penyimpanan memiliki karakteristik pemajemukan yang berbeda.

Pelacak Masalah & Daftar Masalah Pribadi

Hamming menyimpan daftar 10 masalah penting yang dia kembangkan berulang kali. Daftar itu memulakannya untuk mengenali ketika teknik baru mengatasi salah satunya. Daftarnya berfungsi sebagai energi yang disimpan pribadi: investasi tahan lama dalam pencocokan pola yang memberikan dividen setiap kali teknik baru muncul.

Bagaimana pelacak masalah proyek open-source melayani fungsi serupa dengan daftar 10 masalah Hamming? Bagaimana perbedaannya? Identifikasi setidaknya satu keuntungan yang dimiliki pelacak masalah dibandingkan daftar pribadi dan setidaknya satu keuntungan yang dimiliki daftar pribadi dibandingkan pelacak masalah.

Loop MOAD sebagai Sistem Tertutup

Permakultur: dalam sistem yang dirancang dengan baik, output dari satu proses memberi makan input dari proses lainnya. Tidak ada output yang keluar dari sistem sebagai limbah. Ayam dalam hutan makanan menghasilkan telur (makanan), kotoran (pupuk), pengendalian hama (layanan), dan goresan (aerasi tanah). Setiap output mengarah ke proses hilir daripada meninggalkan sistem.

Model pabrik MOAD membangun loop tertutup yang serupa. Setiap tahap menghasilkan output yang memberi makan yang berikutnya:

Pindai menghasilkan: instans cacat yang dikonfirmasi, peta lokasi node yang terpengaruh, estimasi keparahan berdasarkan betweenness dan lalu lintas.

Patch menghasilkan: koreksi kode, pengujian unit yang mengkonfirmasi perbaikan, diff yang dapat ditinjau oleh pengelola.

Posting MOAD menghasilkan: artikel domain publik yang menjelaskan kelas cacat, pola pemindaian, dan pendekatan perbaikan. Modal intelektual yang bertahan melampaui instans tunggal apa pun.

Pengungkapan CVE menghasilkan: catatan standar dalam NVD, memicu pemindai keamanan otomatis di seluruh instalasi yang terpengaruh. Modal sosial untuk komunitas keamanan.

PR Hulu menghasilkan: perbaikan dalam sumber kanonik, menyebar secara otomatis ke semua fork hilir pada pembaruan ketergantungan berikutnya mereka.

Setiap output memberi makan kembali: posting MOAD mengajarkan peneliti untuk menemukan instans baru, yang menghasilkan pemindaian baru. Pengujian unit menjadi penjaga regresi. Catatan CVE mendorong adopsi patch oleh tim operasi yang sebaliknya akan mengabaikannya. Loop ditutup.

Kondisi halt: patch yang diungkapkan tanpa mengkonfirmasi kapasitas hilir membanjiri antrian. MOAD-0001 dan MOAD-0005 berpasangan: perbaiki O(N²) di node betweenness tinggi dan setiap pemroses hilir membanjir secara bersamaan. Prinsip desain-untuk-seluruh-sistem Permakultur berlaku di sini juga: optimalkan komponen dan Anda mungkin membuat kemacetan hilir baru.

Memetakan Output ke Modal

Pipeline MOAD menghasilkan lima output: hasil pemindaian, patch, posting MOAD, pengungkapan CVE, dan PR hulu.

Petakan setiap output ke bentuk modal yang terutama ditumbuhkannya. Kemudian identifikasi langkah tunggal mana, jika dihapus, yang akan menghasilkan sebagian besar 'limbah' — energi yang paling tidak terarah dalam sistem — dan jelaskan mengapa.