Ide & Wawasan

Mengeksplorasi pengembangan AI-first, coding guardrail, dan arsitektur untuk dibuang.

Dependensi kamu bisa membaca variabel lingkunganmu. JavaScript memperbolehkannya.

Ambient authority berarti kode apa pun di proses Node.js-mu bisa menyentuh sistem file, jaringan, dan lingkungan. Berikut cara menghilangkannya dengan lockdown, compartment, dan pemberian capability secara eksplisit.

Satu dependency transitif yang telah dikompromikan dapat mengeksfiltrasi -mu, menulis ke sistem file-mu, dan membuka koneksi keluar. Ia tidak memerlukan…

Kedekatan Jaringan Bukan Identitas: Bagaimana Service Mengautentikasi Tanpa Ambient Authority

Sebagian besar kepercayaan antar-service berasal dari lokasi jaringan, bukan bukti kriptografis. Berikut cara kerja capabilities, mTLS, dan SPIFFE memungkinkan service mengautentikasi tanpa ambient authority, dan mengapa hal ini lebih sulit dari yang seharusnya.

Microservice Anda berbagi VPC, sehingga mereka saling mempercayai. Kepercayaan itu adalah ambient authority: izin untuk memanggil service diberikan bukan oleh…

Dependensi Anda bisa membaca berkas apa pun di disk. cap-std membuat mereka meminta izin.

Standard library Rust memberikan otoritas filesystem ambient kepada setiap dependensi. cap-std menggantinya dengan API berbasis capability yang memaksa kode untuk membuktikan bahwa ia berhak mengakses suatu path sebelum membukanya.

Crate apa pun di pohon dependency Anda bisa membuka , menulis ke direktori Anda, atau menghitung setiap berkas di proyek Anda. Standard library Rust tidak…

Layanan Anda Adalah Kaki Tangan yang Tidak Menyadari: Cara Kerja Serangan Confused Deputy

Serangan confused deputy menipu layanan yang memiliki privilese untuk menggunakan otoritasnya melawan dirinya sendiri. Berikut cara penyerang mengeksploitasi kepercayaan implisit, dan mengapa capability-based security adalah solusinya.

Layanan Anda memiliki API key ke cloud storage. Seorang pengguna mengirimkan request. Layanan Anda dengan patuh menulis sebuah file. File tersebut mendarat di…

Bagaimana Jika Setiap Fungsi Harus Menerima Izin Alih-alih Menganggap Sudah Punya?

Sebagian besar kode berjalan dengan otoritas ambient: setiap fungsi dapat menyentuh segalanya. Keamanan berbasis kemampuan membalik model itu dengan memaksa fungsi untuk menerima izin eksplisit dan terbatas.

Fungsi Anda memiliki akses ke database, gateway pembayaran, dan log audit karena ia kebetulan berada dalam proses yang sama. Jika penyerang menemukan bug…

Berhenti Melempar Error yang Tidak Bisa Dilihat Type Checker Anda

Exception yang dilempar menyembunyikan jalur kegagalan dari sistem tipe Anda. Berikut mengapa pengembalian error secara eksplisit membuat kode Anda lebih jujur, dan cara mengadopsinya tanpa membuat Anda benci hidup.

Tanda tangan fungsi Anda mengatakan bahwa fungsi tersebut mengembalikan . Tidak. Fungsi tersebut mengembalikan atau meledak. Sistem tipe sama sekali tidak…

Compiler yang seharusnya menangkap kasus state yang hilang, bukan tim QA Anda

Menambahkan state baru ke mesin Anda itu mudah. Mengingat untuk memperbarui setiap switch statement tidak. Berikut cara membuat TypeScript menolak untuk mengompilasi saat Anda lupa sebuah case.

State machine dimulai dengan bersih. Tiga nilai, tiga cabang switch. Lalu logika retry menambahkan state keempat. Partial failure menambahkan state kelima.…