A Dvina böngészője egyszerre egyetlen személy számára látogat meg webhelyeket, amikor az illető olyan feladatot kér a Dvinától, amelyhez valódi böngészőre van szükség. Ez az oldal webhelytulajdonosoknak szól: bemutatja, mit csinál a böngésző, hogyan ismerheted fel a kéréseit, és hogyan engedélyezheted vagy tilthatod le.

Mi ez?

A Dvina személyi asszisztens. Ha egy Dvinába bejelentkezett felhasználó olyan feladatot kér, amelyhez webhelyet kell használni — például ajánlatok összehasonlítását vagy egy általa kért űrlap kitöltését —, a Dvina ezt a saját böngészőjében, az illető Dvina-számítógépén végezheti el. Ez egy ablakkal rendelkező asztali Chromium, nem pedig headless böngésző. A felhasználó élőben követheti a működését, és bármikor átveheti az irányítást.

  • Egyetlen személy nevében jár el. Minden böngésző egyetlen bejelentkezett Dvina-felhasználóhoz tartozik, és az általa kért feladaton dolgozik.
  • Nem webrobot. Nincs olyan webhelylista, amelyet önállóan végiglátogatna. A feladathoz szükséges oldalakat nyitja meg, lépésről lépésre: betölt egy oldalt, elolvassa, majd műveleteket végez rajta, ahogy egy ember tenné.
  • Soha nem használják modellek tanítására. Amit a Dvina böngészője a webhelyeden elolvas, azt kizárólag annak a személynek a kéréséhez használja fel, akinek dolgozik. Ezzel soha nem tanítanak AI-modellt.
  • A személyes döntéseket a felhasználóra bízza. Nem ír be jelszavakat vagy kártyaadatokat. Ha egy oldalon a felhasználónak be kell jelentkeznie vagy fizetnie kell, a Dvina megáll, és megkéri, hogy vegye át az irányítást. A személyes adatok megadása, a küldés, a fizetés és a törlés a felhasználó jóváhagyására vár.
  • Nem old meg emberi ellenőrzéseket. Ha olyan ellenőrzéssel találkozik, amely azt vizsgálja, hogy ember böngészik-e — például a Cloudflare ellenőrzésével, a Turnstile, a reCAPTCHA vagy a hCaptcha szolgáltatással —, nem kattint rá, nem oldja meg, és nem tölti újra. Ha az ellenőrzés magától sikeresen lezárul, a Dvina kivárja. Ha továbbra is fennmarad, a munka leáll, a felhasználó pedig átveszi a böngésző irányítását, elvégzi az ellenőrzést, majd visszaadja az irányítást.

A kérések felismerése

A Dvina böngészője minden elküldött http és https kérést aláír a Web Bot Auth használatával, HTTP-üzenetaláírásokkal (RFC 9421), egy Ed25519-kulccsal. Minden kérés három fejlécet tartalmaz:

Signature-Agent: "https://api.dvina.ai"
Signature-Input: sig1=("@authority" "signature-agent");created=<unix time>;expires=<created + 60>;keyid="<key id>";alg="ed25519";nonce="<random>";tag="web-bot-auth"
Signature: sig1=:<Ed25519 signature>:
  • A Signature-Agent a Dvinát jelöli meg: azt az origint, ahol a kulcsai közzé vannak téve.
  • A Signature-Input a kérés @authority értékét (a hosztodat) és a Signature-Agent fejlécet fedi le. A tag értéke web-bot-auth.
  • Minden aláírás 60 másodpercig érvényes, a created értékétől az expires értékéig.
  • A keyid a kulcs JWK-ujjlenyomata (RFC 7638).

A böngésző a Chromium saját user agentjét küldi, ugyanazt, mint bármely Linuxon futó Chromium, például:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36

A Chrome-verziója a Chromium frissítéseivel együtt változik, a user agent pedig nem utal a Dvinára. A Dvinát az aláírása alapján ismerd fel, ne a user agentje alapján.

Megjegyzés

Az asztali alkalmazással a felhasználó azt is engedélyezheti, hogy a Dvina a saját számítógépén lévő böngészőt használja. Ez a böngésző nem írja alá a kéréseit, és a forgalma a felhasználó saját böngészésének látszik.

Aláírás ellenőrzése

A Dvina a kulcskönyvtárában teszi közzé a nyilvános kulcsát:

https://api.dvina.ai/.well-known/http-message-signatures-directory

A könyvtár válasza Content-Type: application/http-message-signatures-directory+json fejlécet és a Dvina Ed25519 nyilvános kulcsát tartalmazó JSON Web Key Setet ad vissza. A válasz ugyanazzal a kulccsal van aláírva, tag="http-message-signatures-directory" értékkel.

Ha a webhelyed a Cloudflare-t használja, a Cloudflare ellenőrzi helyetted az aláírt ügynököket. Ha magad szeretnél ellenőrizni egy kérést:

  1. Check that Signature-Agent is "https://api.dvina.ai" and that Signature-Input has tag="web-bot-auth".
  2. Check that the time now is between created and expires.
  3. Get the key directory and pick the key whose JWK thumbprint matches keyid.
  4. Build the signature base from @authority, signature-agent and the signature parameters, as RFC 9421 describes, and verify the Signature with that Ed25519 key.

Ezeket a fejléceket bárki elküldheti. Csak akkor tekints egy kérést a Dvinától származónak, ha az aláírása sikeresen ellenőrizhető a Dvina kulcskönyvtára alapján.

Engedélyezés vagy letiltás

A Dvina böngészője valós időben, egyetlen személy számára végez műveleteket: ezt a fajta forgalmat fedi le a Cloudflare Agent előbeállítása. Ha a webhelyed Cloudflare-t használ:

  • AI-botokra vonatkozó szabályzatok: A Biztonsági beállítások között válaszd az AI-botokra vonatkozó szabályzatok konfigurálása lehetőséget. Az Agent esetében válaszd az Engedélyezés (ne blokkolja), a Blokkolás hirdetéseket tartalmazó oldalakon vagy a Blokkolás (minden oldalon) lehetőséget.
  • Egyéni WAF-szabályok: Az ellenőrzött botoktól és aláírt ügynököktől érkező kérésekben a cf.client.bot (Bot Management használata esetén a cf.bot_management.verified_bot) értéke true. Egyéni szabályban ezzel kihagyhatod az ellenőrzésüket, ellenőrző feladatot kérhetsz tőlük, vagy blokkolhatod őket.
  • Ellenőrzött botok jegyzéke: A Cloudflare által ellenőrzött ügynököket a Cloudflare Radar oldalán találod.

Más környezetben ellenőrizd az aláírást a fent leírtak szerint, majd engedélyezd vagy blokkold azokat a kéréseket, amelyek ellenőrzött Signature-Agent értéke "https://api.dvina.ai".

Kapcsolat

Kérdésed van a Dvina böngészőjének működéséről a webhelyeden, vagy egy kérés nem az ezen az oldalon leírtak szerint működött? Írj a support@dvina.ai címre, és add meg a webhelyed címét, valamint – ha rendelkezésedre állnak – a kérések időpontját és keyid értékét.