ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ инструмСнтарий для опрСдСлСния Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, установлСнных Π² Chrome

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ инструмСнтарий с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° опрСдСлСния Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, установлСнных Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Chrome. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ список Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для увСличСния точности пассивной ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ экзСмпляра Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π² сочСтании с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ косвСнными ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ экрана, особСнностСй WebGL, списки установлСнных ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ². ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ рСализация провСряСт установку Π±ΠΎΠ»Π΅Π΅ 1000 Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ своСй систСмы ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° online-дСмонстрация.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ производится Ρ‡Π΅Ρ€Π΅Π· Π°Π½Π°Π»ΠΈΠ· прСдоставляСмых дополнСниями рСсурсов, доступных для Π²Π½Π΅ΡˆΠ½ΠΈΡ… запросов. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, дополнСния Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π² манифСстС дополнСния свойством web_accessible_resources. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии манифСста Chrome доступ ΠΊ рСсурсам Π½Π΅ ограничивался ΠΈ любой сайт ΠΌΠΎΠ³ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ прСдоставляСмыС рСсурсы. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ вСрсии манифСста доступ ΠΊ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ рСсурсам ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для самого дополнСния. Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ вСрсии манифСста Π±Ρ‹Π»Π° прСдоставлСн Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠΌ дополнСниям, Π΄ΠΎΠΌΠ΅Π½Π°ΠΌ ΠΈ страницам.

Web-страницы ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ поставляСмыС Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ рСсурсы ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° fetch (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ «fetch(‘chrome-extension://okb….nd5/test.png’)»), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ значСния «false» ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ установлСно. Для блокирования опрСдСлСния дополнСния ΠΏΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΡŽ рСсурсов Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дополнСния Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для доступа ΠΊ рСсурсу. Π’Ρ‹Π·ΠΎΠ² fetch Π±Π΅Π· указания Ρ‚ΠΎΠΊΠ΅Π½Π° всСгда Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ΠΉ.

Как оказалось, Π·Π°Ρ‰ΠΈΡ‚Ρƒ доступа ΠΊ рСсурсам Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ, оцСнивая врСмя выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ fetch ΠΏΡ€ΠΈ запросС Π±Π΅Π· Ρ‚ΠΎΠΊΠ΅Π½Π°, всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, врСмя выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΈ отсутствии дополнСния отличаСтся — Ссли Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ присутствуСт, Ρ‚ΠΎ запрос ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ Ссли Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ установлСно. ΠžΡ†Π΅Π½ΠΈΠ²Π°Ρ врСмя Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ достаточно Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ дополнСния.

НСкоторыС дополнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ доступныС ΠΈΠ· Π²Π½Π΅ рСсурсы, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ свойствам. НапримСр, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ MetaMask ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ†Π΅Π½ΠΊΡƒ опрСдСлСния свойства window.ethereum (Ссли Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ установлСно «typeof window.ethereum» Π²Π΅Ρ€Π½Ρ‘Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «undefined»).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ