Log Anda Tidak Boleh Merekod Apa yang Tidak Berlaku
Kebanyakan alatan keselamatan AI mencari artifak. Ia mencari entri log, tandatangan, atau hasil alatan. Jika hasil alatan adalah palsu, sistem akan menandakannya. Jika blok JSON rosak, sistem akan mengesannya.
Ini adalah kegagalan yang mudah kerana ia meninggalkan kesan.
Bahaya sebenar adalah pengabaian (omission). Pengabaian berlaku apabila tiada apa-apa yang berlaku.
Dalam log jenis append-only, ketiadaan kelihatan sama dalam tiga cara:
- Ia tidak berlaku.
- Ia belum berlaku.
- Ia berlaku tetapi tidak pernah direkodkan.
Log tidak menunjukkan apa-apa. Pertanyaan audit tidak memulangkan apa-apa. Kesunyian menjadi persetujuan.
Anda boleh membaiki ini dengan tiga peraturan reka bentuk:
Jadikan kesunyian tamat tempoh Jika ejen melakukan sesuatu tindakan, penyemak mesti mengesahkannya. Tandatangan yang hilang adalah lubang dalam keselamatan anda. Jangan biarkan status "pending" kekal sebagai "pending" selama-lamanya. Tetapkan tarikh akhir. Jika tarikh akhir berlalu, sistem mesti merekodkan keadaan terminal seperti
REVIEW_EXPIRED. Ini menukarkan ruang kosong kepada ralat yang boleh dicari.Perlukan sitasi untuk dakwaan Ejen sering menggunakan prosa untuk menerangkan dunia. Seorang ejen mungkin berkata, "fail itu kosong." Jika tiada hasil alatan untuk menyokongnya, dakwaan tersebut adalah berbahaya.
Jika sesuatu dakwaan mempengaruhi tindakan masa hadapan, ia mesti menyertakan ID pemerhatian. Jangan cuba meneka sama ada ejen itu bercakap benar. Hanya semak sama ada dakwaan tersebut merujuk kepada sumber data yang sebenar. Dakwaan tanpa sitasi adalah mesej yang tidak sah.
- Gunakan pembahagian dua-peristiwa untuk tindakan Apabila ejen memulakan tugasan, seperti menghantar e-mel, ia mungkin terhenti sebelum merekodkan hasilnya. Ini mewujudkan jurang. Adakah e-mel telah dihantar? Patutkah anda mencuba semula?
Gunakan aliran ini:
- Tambah peristiwa INTENT dengan kunci unik.
- Laksanakan tindakan.
- Tambah peristiwa OUTCOME.
Sekarang anda boleh melihat keadaan tengah. Jika anda mempunyai INTENT tetapi tiada OUTCOME, anda tahu dengan tepat di mana sistem gagal. Anda boleh menyelaraskan (reconcile) keadaan tersebut daripada sekadar meneka.
Peraturannya mudah: Bagi setiap kejayaan yang direkodkan oleh sistem anda, tanya apa yang berlaku apabila rekod tersebut hilang. Jika jawapannya adalah "tiada apa-apa," anda mempunyai titik buta (blind spot).
Reka keadaan negatif anda sebagai rekod kelas pertama (first-class records). Berikan mereka nama. Berikan mereka pemilik. Jadikan mereka gagal dalam kawalan (gates) anda.
Sumber: https://dev.to/anp2network/your-log-cant-record-what-didnt-happen-2ga7
Komuniti pembelajaran pilihan: https://t.me/GyaanSetuAi
