■ Timestamp Noise Checker v2.0

Deteksi aktif/tidaknya Time Fingerprint Spoofing — termasuk saat klik, isi form, XHR, fetch, WebSocket

Belum diuji
Klik "Jalankan Semua Tes" untuk memulai analisis lengkap.
A. Timestamp Noise / Time Fingerprint
Jam browser vs performance.timeOrigin
Date() — jam browser
--:--:--
...
performance.timeOrigin
...
...
Deteksi Offset & Noise
Delta Date.now vs real*
—
(*estimasi via XHR)
Jitter antar sample
—
std dev 30 sample
getTime() drift
—
vs Date.now()
Pemeriksaan API Timestamp
Date.now()—
new Date().getTime()—
new Date().getHours()—
new Date().toISOString()—
new Date().toString()—
performance.now()—
performance.timeOrigin—
Intl.DateTimeFormat format()—
Date[Symbol.toPrimitive]—
performance.now presisi—
Keamanan tanggal (tidak boleh bergeser)
getFullYear()—
getMonth()—
getDate()—
getDay()—
toLocaleDateString()—
Distribusi 30 sample Date.now()
#timestamp (ms)delta prevrelatif distribusi
Klik "Sample 30x" atau "Jalankan Semua Tes"

Min: — Max: — Range: — Std dev: — Avg delta: —
Konsistensi sessionStorage offset
__ts_noise__ di sessionStorage —
Status —

Konsistensi 10 panggilan berturut (hijau=konsisten, ungu=ada jitter, kuning=drift besar)
normal jitter aktif drift besar
B. Interaction Noise — Cek Noise Saat Klik / Isi Data / Kirim Request
① event.timeStamp — Klik

Tangkap timeStamp saat klik tombol. Jika noise aktif, nilai berbeda tiap klik (dibandingkan performance.now).

Belum diklik.
② event.timeStamp — Input / Change

Tangkap timeStamp saat ketik/ubah field. Noise seharusnya mengacak nilai ini.

Belum ada input.
③ event.timeStamp — Submit Form

Tangkap timeStamp event submit. Noise aktif = nilai berbeda dari performance.now real.

Belum di-submit.
④ event.timeStamp — Focus / Blur

Tangkap timeStamp saat focus/blur. Digunakan tracker untuk mendeteksi pola pengisian form.

Belum ada focus/blur.
⑤ XHR — Timestamp di Body

Kirim JSON dengan field timestamp via XHR. Jika noise aktif, nilai timestamp di body ikut dinoise sebelum dikirim.

Belum dites.
⑥ fetch() — Timestamp di Body

Kirim JSON dengan field timestamp via fetch(). Jika noise aktif (FIX #9), nilai timestamp di-noise sebelum dikirim.

Belum dites.
⑦ sendBeacon() — Timestamp di Body

Buat payload Blob berisi JSON timestamp, kirim via sendBeacon(). Modul SB seharusnya intercept ini.

Belum dites.
⑧ WebSocket.send() — Timestamp di Payload

Cek apakah WebSocket.prototype.send ter-intercept (FIX #11). Test menggunakan echo server publik.

Belum dites.
Analisis Multi-Klik — event.timeStamp vs performance.now()

Klik tombol "Klik Saya" beberapa kali, lalu tekan Analisis. Jika noise aktif (Modul AA FIX #10): selisih event.timeStamp - performance.now() seharusnya tidak konsisten (acak tiap klik karena SESSION_OFFSET + jitter).

Klik tombol "Analisis" di panel ① setelah beberapa kali klik.

Interpretasi: Tanpa noise → selisih ≈ 0 (konsisten). Dengan noise → selisih acak, std dev besar (±ribuan ms).
C. Log Detail
Log detail
Menunggu tes...