umisec
Biga, Çanakkale · Türkiye

Haşim Doğan

I build the software that runs our family driving school. It holds health reports, criminal-record certificates and biometric photos. I also research game-server security in a local lab. This site sets out what I build, how I keep it safe, and why I applied to Anthropic's Cyber Verification Program.

Ailemizin sürücü kursunu yürüten yazılımı geliştiriyorum. Bu yazılım sağlık raporu, adli sicil belgesi ve biyometrik fotoğraf tutuyor. Bir yandan da yerel bir laboratuvarda oyun sunucusu güvenliği üzerine çalışıyorum. Bu site ne geliştirdiğimi, bunu nasıl güvenli tuttuğumu ve Anthropic Cyber Verification Program'a neden başvurduğumu anlatıyor.

01 — Cyber Verification Program

Why I applied

Neden başvurdum

Securing my own software keeps leading to tasks that look offensive out of context. I need to reverse-engineer my own installers, write attack test cases against my own local API and read untrusted server code for backdoors. I also need cheat-like bots to test an anti-cheat. I want to do this work with Claude, in the open, and only on systems I own.

Kendi yazılımımı güvenli hâle getirirken bağlamından koparılınca saldırı gibi görünen işlere varıyorum. Kendi kurulum paketimi tersine mühendislikle incelemem, kendi yerel API'me saldırı testleri yazmam ve güvenilmeyen sunucu kodunda arka kapı aramam gerekiyor. Bir anti-cheat'i sınamak için hile yapan botlara da ihtiyacım var. Bu işleri Claude ile, açıkça ve yalnız bana ait sistemlerde yapmak istiyorum.

Workİş On which systemHangi sistemde
Reverse-engineer my own release buildsKendi sürüm paketlerimi tersine mühendislikle incelemek Işıklar Asistan's Rust/Tauri executable, NSIS installer and Python sidecar. Goal: prove that no secrets, keys or debug doors ship. Test plan #1–2Işıklar Asistan'ın Rust/Tauri programı, NSIS kurulumu ve Python yan süreci. Amaç: pakette sır, anahtar ya da hata ayıklama kapısı olmadığını kanıtlamak. Test planı #1–2
Attack my own local APIKendi yerel API'me saldırmak Forged Host/Origin headers, DNS rebinding, CSRF, path traversal, and HTML/JS injection in every screen and Word export. #3–8Sahte Host/Origin, DNS rebinding, CSRF, dizin aşma, her ekranda ve Word çıktısında HTML/JS enjeksiyonu. #3–8
Forensics on my own machineKendi bilgisayarımda adli inceleme Check disk traces and process memory dumps so that passwords and one-time codes don't linger. Run a ransomware recovery drill. #9–10, #20Diskteki izler ve süreç bellek dökümleri, şifre ve tek kullanımlık kodlar kalmasın diye. Fidye yazılımı kurtarma tatbikatı. #9–10, #20
Audit untrusted codeGüvenilmeyen kodu denetlemek Community-distributed game-server sources: search for backdoors and data exfiltration, and triage suspicious binaries statically without running them. FindingsToplulukta dağıtılan oyun sunucusu kaynakları: arka kapı ve veri sızdırma araması, şüpheli ikili dosyaların çalıştırılmadan incelenmesi. Bulgular
Build and test an anti-cheatAnti-cheat geliştirmek ve sınamak Bots that deliberately cheat (speed, attack rate, duplication attempts) run against a server I compile and run on 127.0.0.1. RoadmapBilerek hile yapan botlar (hız, saldırı sıklığı, kopyalama denemesi), benim derleyip 127.0.0.1'de çalıştırdığım sunucuya karşı. Yol haritası
Protocol analysisProtokol analizi The same local server's network protocol, so my clientless bots can speak it. Bot labAynı yerel sunucunun ağ protokolü; istemcisiz botlarım onunla konuşabilsin diye. Bot laboratuvarı
02 — ProjectsProjeler

What I'm building

Neler geliştiriyorum

Işıklar Asistan in usekullanımda

Desktop software that does a driving school's office work. It runs at one school today, with real government-portal integration. Rust · Tauri · React · Python.

Sürücü kursunun büro işini yapan masaüstü programı. Bugün bir kursta çalışıyor, gerçek MEBBİS entegrasyonu var. Rust · Tauri · React · Python.

Security design →Güvenlik tasarımı →

KVKK by design

Tasarımdan KVKK

Health reports, criminal records and biometric photos stay on the school's PC. Five data classes, each with clear rules on where it lives and where it never goes.

Sağlık raporu, adli sicil ve biyometrik fotoğraf kursun bilgisayarında kalır. Beş veri sınıfı, her biri için nerede durduğu ve nereye asla gitmediği belli.

Data classes →Veri sınıfları →

Knight Offline

A browser remake of a 2000s MMORPG, filled with 50–100 human-like AI bots that follow the same rules as the player. No cheating allowed. JavaScript · three.js.

2000'lerin bir MMORPG'sinin tarayıcıda yeniden yapımı. Oyuncuyla aynı kurallara uyan, hile yapamayan 50–100 insansı yapay zekâ botu. JavaScript · three.js.

Bot AI →Bot aklı →

Bot lab & anti-cheat

Bot laboratuvarı ve anti-cheat

Clientless protocol bots run against a server I compile myself. The next step is a transparent, server-side anti-cheat tested by those bots.

Kendi derlediğim sunucuya karşı istemcisiz protokol botları. Sıradaki adım, bu botlarla sınanan şeffaf, sunucu taraflı bir anti-cheat.

Audit findings & roadmap →Denetim bulguları ve yol haritası →

CG50

A Unity motorcycle riding simulator built by a motorcycle instructor: physics, procedural engine sound, rider IK, roads built from real route data. C# · Unity.

Bir motosiklet eğitmeninin Unity'de yaptığı sürüş simülatörü: fizik, yordamsal motor sesi, sürücü IK, gerçek güzergâh verisinden yol. C# · Unity.

Details →Ayrıntılar →

Supporting tools

Yardımcı araçlar

Local biometric photo preparation (public repo), a document watcher that needs a human to confirm each record, and a government-portal simulator that uses synthetic data.

Yerel biyometrik fotoğraf hazırlama (açık depo), onaylı belge izleyici, sentetik veriyle çalışan MEBBİS simülatörü.

Tools →Araçlar →
03 — Rules of engagementÇalışma kuralları

How I work safely

Nasıl güvenli çalışıyorum

Always

Her zaman

  • I test only systems I own or have written permission to test. Lab servers bind to 127.0.0.1 on my own machine.
  • From untrusted archives I extract only source, databases and text, scan them with Microsoft Defender, and inspect binaries statically. Some community game packages carry real file-infector malware, so their binaries are never executed.
  • Real personal data never enters a repository. A pre-commit hook and a CI job scan every commit and the full history for Turkish ID numbers. Binary files get in only through an allowlist.
  • Secrets live in Windows DPAPI, not in code or config. AI agents are denied access to .env files.
  • Every action that leaves the machine (government portal, e-invoice) is shown, confirmed by a person, sent, and then read back.
  • Development against the government portal uses a local simulator with synthetic records. Recorded traffic is never replayed.
  • AI coding agents (Claude Code, OpenAI Codex) work one project folder at a time under written rules, in private repositories. I review and merge.
  • Yalnız bana ait ya da yazılı izin aldığım sistemleri test ederim. Laboratuvar sunucuları kendi bilgisayarımda 127.0.0.1'e bağlanır.
  • Güvenilmeyen arşivlerden yalnız kaynak kod, veritabanı ve metin çıkarılır, Microsoft Defender ile taranır, ikili dosyalar çalıştırılmadan incelenir. Bazı topluluk oyun paketlerinde gerçek dosya virüsü var; bu paketlerin exe'leri hiç çalıştırılmaz.
  • Gerçek kişi verisi depoya girmez: commit öncesi kanca ve CI, her commit'i ve bütün geçmişi TC kimlik numarasına karşı tarar. İkili dosyalar yalnız izin listesiyle girer.
  • Sırlar kodda ya da ayar dosyasında değil, Windows DPAPI'de durur. Yapay zekâ ajanlarının .env dosyalarına erişimi kapalıdır.
  • Bilgisayardan çıkan her işlem (MEBBİS, e-Fatura) önce gösterilir, insan onaylar, gönderilir, geri okunur.
  • MEBBİS'e yönelik geliştirme, sentetik kayıtlarla çalışan yerel simülatörde yapılır. Kaydedilmiş trafik asla tekrar gönderilmez.
  • Yapay zekâ kodlama ajanları (Claude Code, OpenAI Codex) proje başına bir klasörde, yazılı kurallarla ve özel depolarda çalışır. İnceleyen ve birleştiren benim.

Never

Asla

  • No attacks, scans or bots against systems I don't own, including official game servers.
  • No cheats, hacks or bots for live games. Nothing I build is sold or handed out to players.
  • No malware development, credential harvesting or phishing.
  • No personal data in repositories, logs or message templates beyond what the task needs.
  • Bana ait olmayan sistemlere saldırı, tarama ya da bot yok; resmî oyun sunucuları dahil.
  • Canlı oyunlar için hile, hack ya da bot yok. Geliştirdiğim hiçbir şey oyunculara satılmaz ya da dağıtılmaz.
  • Zararlı yazılım geliştirme, kimlik bilgisi toplama ya da oltalama yok.
  • İşin gerektirdiğinden fazla kişi verisi depoya, günlüğe ya da mesaj şablonuna girmez.

Disclosure

Bildirim

When I find a weakness in someone else's product, I report it privately to the vendor. I have done this before, unpaid, for game companies.

Başkasının ürününde açık bulursam üreticiye gizlice bildiririm. Daha önce oyun şirketlerine ücretsiz bildirimler yaptım.

04 — AboutHakkımda

I live in Biga, Çanakkale, and work at our family business, Işıklar Sürücü Kursu. I teach motorcycle lessons there and help run the office. I studied Theology. Software and security are self-taught, and I work on them every day. I'm interested in security to learn and to protect, not to harm anyone or take anyone's work.

Biga, Çanakkale'de yaşıyorum ve aile işimiz Işıklar Sürücü Kursu'nda çalışıyorum: motosiklet dersi veriyor, büro işlerine yardım ediyorum. İlahiyat okudum. Yazılım ve güvenliği kendi kendime öğrendim ve her gün bunlarla uğraşıyorum. Güvenlikle öğrenmek ve korumak için ilgileniyorum; kimseye zarar vermek ya da kimsenin emeğini almak için değil.

Code: github.com/z3rocold. Most repositories are private because they contain real school workflows. I can grant read access to reviewers on request. Security contact: security.txt.

Kod: github.com/z3rocold. Depoların çoğu gerçek kurs iş akışları içerdiği için özel. İnceleyenlere istek üzerine okuma erişimi verebilirim. Güvenlik iletişimi: security.txt.