Diwall MCP

Deutsch
Herunterladen v0.0.1

Anwendungsfälle

In einer Sitzung handeln, in der Sie bereits angemeldet sind. Was der Server bei jedem Schritt einer Aufgabe tut und was das Projekt bisher tatsächlich ausgeführt hat.

Der Server handelt auf den Seiten der Websites, die Ihr Profil auflistet, in den Sitzungen, in denen Sie angemeldet sind. Sie melden sich einmal im eigenen Profil des Browsers an; das Modell arbeitet dann in dieser Sitzung. Ein Passwort tippt es nur aus einer Zugangsdatendatei, die Sie geschrieben haben.

Schritt für Schritt

  • Die Seite erreichen, mit open_tab oder navigate: Der Server öffnet nur http- und https-Adressen und rechnet die Seite auf die Obergrenze Ihres Profils an.
  • Das Formular lesen, mit observe: Er liest nur eine Website Ihres Profils, maskiert die sensiblen Felder im Bild und hält ihre Werte zurück.
  • Ein Feld ausfüllen, mit fill: Er tippt einen Text in ein gewöhnliches Feld und füllt ein Passwort nur aus einer Zugangsdatendatei, die an genau diesen Origin gebunden ist.
  • In einer Liste wählen, mit select_option: nach Text oder Wert der Option, nur in einer nativen Liste.
  • Absenden, zahlen, löschen, mit click oder press_key: Eine Zahlung, eine unwiderrufliche Löschung oder eine Änderung eines Geheimnisses wartet auf Ihre Antwort in einem Fenster auf Ihrem Bildschirm; die Eingabetaste in einem Zahlungsformular ebenso.
  • Eine Aufnahme aufbewahren, mit save_evidence: ein maskiertes Bild, manual-<label>.png, im verschlüsselten Verzeichnis.
  • Ein Dokument abrufen, mit click: Ein Download, den der Klick startet, landet unter einem sicheren Namen in downloads/<operation_id>/ des verschlüsselten Verzeichnisses; kein Werkzeug öffnet ihn.
  • Auf das Ergebnis warten, mit wait: bis die Seite geladen ist, einen Text zeigt oder ein Element mit einer Rolle und einem Namen zeigt, höchstens 60 Sekunden.

Was bei jedem Schritt Ihren Rechner verlässt und was das Journal und die automatischen Aufnahmen Sie nachher prüfen lassen, steht unter Was Ihren Rechner verlässt und was der Server nie tut.

Was ausgeführt wurde und was nicht

Ausgeführt, wie das README es festhält: ein Chromium-Browser, mit seinem Profil in einem Wegwerf-gocryptfs-Volume und seinem Debugging-Port auf der Loopback-Schnittstelle, wurde angebunden; der Server öffnete eine Seite einer öffentlichen Einkaufswebsite, füllte ihr Suchfeld aus, drückte die Eingabetaste und beobachtete die Ergebnisse. Der getippte Text erscheint nicht im Journal.

Ausgeführt auf dem Rechner des Bedieners, bei eingehängtem eigenem gocryptfs-Volume des Bedieners: das Bestätigungsfenster des Servers, auf einer lokalen Zahlungsseite. Drei Ausgänge wurden beobachtet: eine Ablehnung (confirmation_denied, die Seite erhielt nichts), eine Zustimmung (der Klick wurde ausgeführt, die Seite erhielt eine Anfrage) und 91 Sekunden ohne Antwort (confirmation_expired, die Seite erhielt nichts).

Vom Projekt bisher nicht ausgeführt: eine Verlängerung, eine Erklärung oder eine Zahlung auf einer echten Website. Die Testsuite spielt das Zahlungstor auf lokalen Seiten durch, mit unechten Fensterprogrammen anstelle von kdialog und zenity.

Zwei Grenzen belasten diese Aufgaben. Solange der Server angebunden ist, lehnt der Browser jeden Download ab, auch in Ihren eigenen Tabs, außer im kurzen Zeitfenster um einen Klick oder eine Eingabetaste des Servers; ein Download, den eine Seite später als eine halbe Sekunde nach dem Ende eines Ladevorgangs startet, wird abgelehnt, und diese Datei holen Sie selbst. Einen Dialog zu akzeptieren, der eine Zahlung, eine Löschung oder eine Änderung eines Geheimnisses verlangt, wird immer abgelehnt, da bei offenem Dialog keine Aufnahme erstellt werden kann: Sie beantworten ihn im Browser. Die anderen stehen unter Grenzen.