KEBIJAKAN YANG BENAR, DATA YANG SALAH?
Dulu saya mengira menerapkan sebuah kebijakan adalah bagian tersulit. Tulis aturan, taruh di onchain, hubungkan kontraknya, beres.
Tapi alur deployment Newton menunjukkan titik kegagalan yang lebih kecil dan mudah terlewat.
Kontrak PolicyClient harus mewarisi NewtonPolicyClient, didaftarkan, lalu menerima konfigurasi kebijakannya. Berikut jebakannya: parameter kebijakan di onchain harus berupa flat JSON yang sesuai dengan params_schema.json. Gateway membaca byte tersebut secara langsung dan meneruskannya ke Rego sebagai data.params.
Gunakan format CLI bertingkat (nested) sebagai gantinya, dan evaluasi kebijakan bisa gagal validasi skema karena properti yang diperlukan hilang.
Itu mengubah cara saya melihat keamanan kebijakan. Sebuah aturan bisa saja benar secara logis, tetapi tetap gagal karena data yang sampai kepadanya bentuknya salah.
@NewtonProtocol #Newt
$NEWT
$B
$PYR
Jadi, apa yang pertama kali merusak kebijakan yang bagus?
Dulu saya mengira menerapkan sebuah kebijakan adalah bagian tersulit. Tulis aturan, taruh di onchain, hubungkan kontraknya, beres.
Tapi alur deployment Newton menunjukkan titik kegagalan yang lebih kecil dan mudah terlewat.
Kontrak PolicyClient harus mewarisi NewtonPolicyClient, didaftarkan, lalu menerima konfigurasi kebijakannya. Berikut jebakannya: parameter kebijakan di onchain harus berupa flat JSON yang sesuai dengan params_schema.json. Gateway membaca byte tersebut secara langsung dan meneruskannya ke Rego sebagai data.params.
Gunakan format CLI bertingkat (nested) sebagai gantinya, dan evaluasi kebijakan bisa gagal validasi skema karena properti yang diperlukan hilang.
Itu mengubah cara saya melihat keamanan kebijakan. Sebuah aturan bisa saja benar secara logis, tetapi tetap gagal karena data yang sampai kepadanya bentuknya salah.
@NewtonProtocol #Newt
$NEWT
$B
$PYR
Jadi, apa yang pertama kali merusak kebijakan yang bagus?
Bad rule logic
0%
Wrong data shape
0%
Setup mistakes
0%
Poor testing
0%
0 Voting • Voting ditutup