Ana içeriğe geç
Bağımsız denetim editörlüğü — 14. sayı Portland · Oregon · Kış Dosyası
Zincir Mürekkebi amblemi: altıgen kafes içinde ışıyan çekirdek Zincir Mürekkebi Denetim Atölyesi
Çerçeve · Kanıt · Sorumluluk

Denetim, bir kontrol listesi değil bir kanıt disiplinidir.

Zincir Mürekkebi, kurumsal ölçekli Web3 dağıtımlarında akıllı sözleşme denetiminin nasıl planlandığını, yürütüldüğünü ve raporlandığını adım adım açıklar. Kapsam seçiminden bulgu triyajına, değişmezlik kanıtlarından dağıtım sonrası izlemeye kadar tüm hattı tek bir okunabilir akış içinde ele alıyoruz.

7 Denetim katmanı
5 Bulgu sınıfı
3 Kanıt türü
Katmanlı blok salonu illüstrasyonu: yükselen renkli defter blokları, denetim merceği ve ışıyan bağlantı çizgileri
Dosya notu Kapsam sözleşmesi imzalanmadan hiçbir satır denetlenmez.
01 — Çerçevenin iskeleti

Bir denetim çerçevesi neyi garanti eder, neyi etmez?

İyi kurulmuş bir çerçeve, ekibin neyi ne zaman kanıtladığını kayıt altına alır. Kötü kurulmuş bir çerçeve ise güven hissi üretir ama kanıt üretmez. Aradaki fark çoğu zaman tek bir belgede saklıdır: kapsam sözleşmesi.

Kapsam prizması illüstrasyonu: beyaz ışık demeti denetim başlıklarına ayrılıyor
Katman A

Kapsam prizması

Tek bir “sözleşmeyi denetle” talebi beş ayrı başlığa kırılır: erişim, mantık, ekonomi, yükseltme yolu ve izleme. Her başlık kendi kanıt türünü ve kendi sorumlusunu ister.

Katman B

Değişmezlik envanteri

Protokolün asla bozulmaması gereken kuralları yazılı hale getirilir. Her kural, bir test dosyasına ve bir izleme alarmına bağlanır. Kural test edilemiyorsa, kural değil temennidir.

Katman C

Tehdit modellemesi

Saldırganın motivasyonu, erişim seviyesi ve bütçesi ayrı ayrı tanımlanır. İç tehdit, MEV botu ve düzenli kullanıcı senaryoları aynı sayfada karşılaştırılır.

01

Sözleşme öncesi okuma

Mimari notlar, dağıtım betikleri ve bellek düzeni ilk gün okunur.

02

Statik kanıt

Kural motorları yalnızca hızlı tarama sağlar; karar verici değildir.

03

Dinamik kanıt

Özellik tabanlı fuzz kampanyaları sınır değerlerini zorlar.

04

İnsan yargısı

İş mantığı hataları hâlâ büyük ölçüde insan sezgisiyle bulunur.

02 — Tehdit teraryumu

Anomalileri cam bir kapta izlemek

Kurumsal dağıtımlarda en pahalı hata, bilinmeyen saldırı değil; bilinen ama izlenmeyen durumdur. Bu yüzden tehdit modellemesini bir kereye mahsus bir çalıştay olarak değil, sürekli beslenen kapalı bir teraryum gibi kuruyoruz.

Teraryumun içinde dört katman var. En altta kum katmanı yer alır: dağıtım parametreleri ve yapılandırma dosyaları. Üzerinde taş katmanı: sınır değerler ve durum geçişleri. Daha üstte tohum katmanı: fuzz kampanyalarının başlangıç verileri. En üstte ise anomali küresi: yakalanan her tuhaf davranış.

“Denetim raporunda yer almayan bir gözlem, ekip değiştiğinde yok olur. Yazılı olmayan gözlem, üretilmemiş kanıttır.”

Teraryumu besleyen üç kaynak

  • Olay günlüklerinden çıkarılan tekrar eden başarısız işlem desenleri.
  • Topluluk bildirimlerinde yanlış anlaşıldığı görülen arayüz davranışları.
  • Kütüphane sürüm notlarında işaretlenmiş ama projeye yansıtılmamış değişiklikler.
Tehdit teraryumu illüstrasyonu: cam kubbede katmanlı kum, ışıyan anomali küresi ve çevresinde asılı kontrol düğümleri
Şekil 1 — Katmanlı teraryum modeli. Her katman, ayrı bir kanıt türüne karşılık gelir.
03 — Etkileşimli araç

Denetim kapsamı simülatörü

Aşağıdaki başlıklardan istediğinizi açıp kapatın. Araç, seçtiğiniz modüllerin toplam tahmini eforunu ve kapsam yoğunluğunu anında günceller. Rakamlar sektör ortalamalarına dayalı kaba planlama değerleridir; sözleşme bazlı gerçek süreler değişir.

Modül seçimi

Her modül, denetim ekibinin ayrı bir uzmanlık alanını temsil eder.

Tahmini efor 0 denetçi-saat
Plan doluluğu

%0 plan doluluğu

Henüz modül seçilmedi. Başlıklardan en az birini açarak tahmini eforu görün.

04 — Yürütme akışı

Yedi adımda denetim hattı

Her adımın bir çıktısı vardır. Çıktısı olmayan adım, takvimde yer kaplar.

Adım 1 Kapsam mutabakatı ve erişim paketi

Denetlenecek sözleşme adresleri, derleme ayarları, kütüphane sürümleri ve dağıtım betikleri tek bir pakette toplanır. Aynı paketin bir özeti müşteriye imzalatılır. Bu adımın çıktısı kapsam sözleşmesi ve dondurulmuş bir kod özetidir.

Adım 2 Mimari okuma ve veri akışı haritası

Denetçi kodu satır satır okumadan önce varlık akışını çizer. Hangi fonksiyon hangi bakiyeyi değiştirir, hangi dış çağrı yeniden giriş yüzeyi açar, hangi depolama yuvası vekil ile paylaşılır? Harita, sonraki altı adımın omurgasıdır.

Adım 3 Değişmezlik envanteri ve test eşlemesi

“Toplam arz sabit kalmalı”, “yetki devri iki adımlı olmalı”, “ücret oranı asla üst sınırı aşmamalı” gibi cümleler listeye dönüşür. Her cümle bir testle eşleştirilir; eşleşmeyen cümleler açık risk olarak raporlanır.

Adım 4 Statik ve dinamik kanıt turu

Kural motorları hızlı bir ilk tarama yapar; ardından özellik tabanlı fuzz kampanyası başlar. Amaç, kural motorunun işaret ettiği her satırın gerçekten bir sorun olup olmadığını ayırmak. Yanlış pozitif oranı yüksek taramalar rapor olmaz, ek olur.

Adım 5 Bulgu triyajı ve önem derecelendirmesi

Her bulgu; etki, olasılık ve kurtarılabilirlik üçlüsüyle puanlanır. Aynı bulgu iki denetçi tarafından bağımsız derecelendirilir; fark varsa tartışma kayda geçer. Bu adımın çıktısı sınıflandırılmış bulgu listesidir.

Adım 6 Düzeltme doğrulaması

Yama sonrası yalnızca değişen satır değil, değişen davranış da test edilir. Düzeltmenin yeni bir saldırı yüzeyi açıp açmadığı ayrı bir turda kontrol edilir. Kapanan her bulgu için bir kapanış notu yazılır.

Adım 7 Yayın kapısı ve izleme devri

Dağıtım öncesi son kontrol listesi, çok imzalı onay ve zaman kilidi ayarları doğrulanır. Dağıtım sonrası ilk iki hafta için alarm eşikleri, yanıt runbook'u ve sorumlu kişi atanır.

05 — Denetim kanonu

Bir çerçeveyi kurumsal yapan altı belge

Kurumsal ölçekli bir dağıtımda denetim, tek bir rapor değil bir belge zinciridir. Aşağıdaki altı belge tamamlanmadan hiçbir tur “kapanmış” sayılmaz; her biri bir sonrakinin girdisidir.

Biçimcilik oditoryumu illüstrasyonu: mor, nane ve kehribar sütunlar arasında yükselen denetim sandığı ve rapor sahneleri
Şekil 2 — Kanon sahnesi. Her sütun, belge zincirinin bir halkasını temsil eder.

Belge zinciri

  • Kapsam sözleşmesi: hangi dosya, hangi sürüm, hangi dışlama. İmzasız kapsam, denetim değildir.
  • Mimari notu: varlık akışı, yetki matrisi ve yükseltme planı tek sayfada.
  • Değişmezlik envanteri: asla bozulmaması gereken kurallar ve her kuralın testi.
  • Bulgu kaydı: sınıflandırılmış, tekrar üretilebilir, sahipli ve tarihli liste.
  • Düzeltme doğrulaması: kapanan her bulgu için bağımsız kapanış notu.
  • Devir dosyası: alarm eşikleri, runbook ve sorumlu kişi listesi.
Belge zincirinin gücü, en zayıf halkası kadardır. Genellikle bu halka, hiç kimsenin sahiplenmediği devir dosyasıdır.
06 — Araç peyzajı

Hangi araç hangi soruyu yanıtlar?

Araçlar birbirinin yerine geçmez; birbirini tamamlar. Aşağıdaki tablo, yaygın olarak kullanılan yaklaşım ailelerini kanıt türüne göre sınıflandırır.

Tablo 1 — Denetim yaklaşımı aileleri ve ürettikleri kanıt
Yaklaşım Yanıtladığı soru Kanıt türü Tipik kör nokta
Kural tabanlı statik tarama Bilinen kalıplar kodda var mı? İşaretli satır listesi İş mantığı hataları
Sembolik yürütme Hangi yol koşulları ihlale ulaşır? Yol izleri Dış çağrı ve zaman bağımlılığı
Özellik tabanlı fuzz Sınır değerlerde ne oluyor? Yeniden üretilebilir senaryo Uzun süreli ekonomi oyunları
Değişmezlik testi Kural her durumda korunuyor mu? İhlal edilen değişmez Yanlış tanımlanmış kural
Fork üzerinde senaryo Gerçek zincir durumunda ne olur? Adım adım durum farkı Yakın gelecekteki durum değişimi
İnsan incelemesi Bu tasarım doğru mu? Gerekçeli yargı notu Yorgunluk ve kapsam yanlılığı
07 — Etkileşimli araç

Bulgu sınıflandırıcı

Bir bulgunun önem derecesi yalnızca teknik etkiyle belirlenmez; yanıt süresi ve uygulama planı da sınıfın parçasıdır. Aşağıdaki düğmelerden birini seçerek her sınıfın beklenen yanıt modelini görebilirsiniz.

Sınıf seçin

Bekleyen seçim

Soldaki listeden bir önem sınıfı seçtiğinizde, o sınıfın tanımı, yanıt süresi ve tipik uygulama adımları burada görünür.

Sınıflandırma, denetim ekibi ile geliştirici ekibin ortak dilidir; tartışmayı kısaltır.

Değişmezlik yörüngesi illüstrasyonu: halkalar arasında dönen kural taşları ve merkezde parlayan çekirdek
Şekil 3 — Yörünge modeli. Her halka bir kural ailesini, her taş bir testi temsil eder.
08 — Değişmezlikler

Test edilemeyen kural, kural değildir

Değişmezlikler bir protokolün anayasasıdır. Denetim sırasında yapılan en yaygın hata, bu anayasayı sözlü kabul etmek ve yalnızca kodun derlenmesini yeterli saymaktır. Oysa her kuralın üç ayrı yerde karşılığı olmalıdır: bir testte, bir izleme alarmında ve bir belge paragrafında.

Kural yazma atölyesi

Ekiplerle çalışırken şu basit kalıbı kullanıyoruz: “Her koşulda, X işleminden sonra Y değişkeni Z aralığında kalır.” Bu kalıp, kuralı hem test edilebilir hem de tartışılabilir hale getirir.

  • Toplam arz, basım ve yakım dışında hiçbir fonksiyonda değişmez.
  • Yetki devri iki aşamalıdır; tek imzayla tamamlanamaz.
  • Ücret oranı yapılandırma üst sınırını hiçbir koşulda aşmaz.
  • Vekil depolama düzeni, yeni sürümde hiçbir yuvayı kaydırmaz.
  • Kehanet fiyatı bayatlarsa ilgili işlem reddedilir, varsayılan değer kullanılmaz.
Bir kuralın ihlal edildiğini fark eden ilk kişi denetçi değil, izleme sistemidir. Hedef bu olmalıdır.
09 — Savunma derinliği

Tek katman yeterli değildir

Kurumsal bir dağıtımda savunma, iç içe geçmiş kalkanlar gibi çalışır. En dışta süreç kontrolleri, ortada kod düzeyi önlemler, en içte ise acil durum anahtarları bulunur. Katmanların her biri ayrı ayrı test edilmelidir; çünkü bir katmanın varlığı diğerinin çalıştığını kanıtlamaz.

Pratikte en sık atlanan katman acil durum katmanıdır. Durdurma anahtarı olan bir protokol, anahtarın kimlerde olduğunu ve hangi koşulda kullanılacağını yazmadığı sürece korunmuş sayılmaz.

Katmanların görev dağılımı

  • Süreç katmanı: kod dondurma, iki kişi kuralı, yayın kapısı.
  • Kod katmanı: erişim denetimi, yeniden giriş kilidi, sınır kontrolleri.
  • Ekonomik katman: ücret tavanları, likidite tamponları, hız sınırları.
  • Acil katman: durdurma anahtarı, zaman kilidi, çok imzalı onay.
  • Gözlem katmanı: olay tetikleri, eşik alarmları, haftalık gözden geçirme.
Savunma katmanları illüstrasyonu: mor, nane ve kehribar renkli iç içe kalkanlar ve kilit düğümü
Şekil 4 — İç içe savunma kalkanları. Her halka bağımsız olarak doğrulanır.
10 — Dağıtım sonrası

Rapor teslim edildiğinde iş bitmez

Denetim, dağıtımdan önceki son kapıdır; dağıtım sonrası izleme ise ilk savunma hattıdır. İkisi arasındaki devir teslim çoğu projede kayıt altına alınmaz — ve tam bu boşlukta olaylar büyür.

İzleme radarı illüstrasyonu: dairesel radar ekranı, dalga grafiği ve telemetri kartları
Şekil 5 — İzleme panosu şeması. Radar, anomali yoğunluğunu; dalga grafiği işlem desenlerini gösterir.
Sinyal

Olay tetikleri

Kritik fonksiyonların her çağrısı bir olay üretmelidir. Olay yoksa, dış dünyanın o davranışı görmesinin bir yolu da yoktur.

Eşik

Alarm kuralları

Kural, “bir şeyler ters giderse” değil, “X dakikada Y adet Z olayı olursa” biçiminde yazılmalıdır. Ölçülemeyen alarm uyarı üretmez, gürültü üretir.

Yanıt

Runbook ve sorumlu

Her alarmın bir sahibi, bir ilk adımı ve bir iletişim şablonu olur. Sahibi olmayan alarm, bir sonraki hafta kapatılır.

Rapor anatomisi illüstrasyonu: katmanlara ayrılmış denetim dosyaları, önem çubukları ve kritik rozeti
Şekil 6 — Rapor anatomisi. Özet, bulgu listesi ve ek kanıtlar ayrı katmanlardır.
11 — Raporlama

Okunmayan rapor, üretilmemiş kanıttır

Denetim raporları genellikle iki farklı okuyucu için yazılır: karar veren yönetici ve kodu düzeltecek mühendis. Aynı belgede iki dili birden konuşmak gerekir. Bu yüzden raporu üç katmana ayırıyoruz.

Yönetici özeti

En fazla bir sayfa. Kaç bulgu var, hangileri yayını engelliyor, düzeltme için hangi kararı bekliyoruz? Teknik terim yok, tablo var.

Bulgu listesi

Her bulgu için tekrar üretim adımı, etki tanımı, öneri ve referans satır numarası. Öneri bölümü kod parçası içerebilir ama her zaman düz Türkçe bir cümleyle başlar.

Ek kanıtlar

Fuzz çıktıları, yol izleri, fark testleri ve sürüm notları. Bu katman çoğu zaman okunmaz ama altı ay sonra soru sorulduğunda tek başvuru kaynağıdır.

İyi bir rapor, “ne bulduk” sorusuna değil, “neyi neden yaptık” sorusuna yanıt verir.
12 — Okuma masası

Atölyeden notlar

Bu sayıda en çok konuştuğumuz üç konu ve pratik çıkarımları.

Not 1

Kapsam genişledikçe derinlik azalır

Bir denetimde kapsamı iki katına çıkarmak, süreyi iki katına çıkarmaz; dikkat dağılımını bozar. Bu nedenle kapsamı iki tura bölmeyi öneriyoruz: ilk tur kritik yol, ikinci tur geniş yüzey. Rapor da bu iki tura göre ayrı yazılır.

Not 2

Bulgu sayısı kalite ölçüsü değildir

Yüzlerce düşük seviye bulgu üreten bir tur, üç kritik bulgu üreten bir turdan daha az değerli olabilir. Ölçü, yayın öncesi kapatılan risk sayısıdır.

Not 3

Yeniden denetim bir formalite değildir

Düzeltme sonrası yapılan kısa tur, yeni bir saldırı yüzeyinin en sık ortaya çıktığı yerdir. Bütçeye baştan eklenmelidir.

Kendi kapsamınızı birlikte planlayalım

Denetim çerçevesi kurmak, mevcut süreci gözden geçirmek veya rapor şablonunuzu yenilemek istiyorsanız editör masamıza yazın. Yanıt süresi genellikle iki iş günüdür.

Bu portal, tercihlerinizi hatırlamak için tarayıcınızın yerel deposunu kullanır. Ayrıntılar için gizlilik bildirimini okuyabilirsiniz. Onay vermeden de tüm sayfaları gezebilirsiniz.