Hallo,
wie kann man bei neuen Firefox-Addons wissen/rausfinden, ob sie vertrauenswürdig sind, ob man da bzgl. Datenschutz und Sicherheit keine Bedenken haben muss?
Hallo,
wie kann man bei neuen Firefox-Addons wissen/rausfinden, ob sie vertrauenswürdig sind, ob man da bzgl. Datenschutz und Sicherheit keine Bedenken haben muss?
Durch Recherche, im Grunde aber nahezu gar nicht.
Bleibt am Ende immer eine Frage des persönlichen Vertrauens
Und nach was/wo recherchiert man dann? Wie Vertrauen, wenn der Autor einfach nur ein Nick ist wie zig andere bei den Addons?
In dem Zuammenhang stellt sich mir die Frage: sind eigentlich alle AddOns von https://addons.mozilla.org/de/firefox/ Open Source?
Ich nehme halt nur AddOns, die im Kuketz-blog empfohlen werden. Das vereinfacht die Recherchearbeit enorm.
Tja, siehste, das ist die Gretchenfrage
Nein, sie sind nur teilweise „geprüft“, aber daran glaube ich bei Mozilla auch nicht.
Immerhin gibt es jetzt in der AMO eine Box mit „Weiteren Informationen“ und den Links zu Homepage, Hilfeseite (da kannst Du die Links zerlegen und findest am Ende das zweite „Https“ …) und Hilfe-E-Mail-Adresse.
Das zeigt Dir schon, ob da ein ansprechbarer Entwickler dahinter steckt und damit kannst Du weiter recherchieren.
Auch ob und was für andere AddOns es von ihm gibt.
Außerdem mit den „Bewertungen“ und „Fragen und Antworten“ (ob es überhaupt welche gibt / wie der Entwickler damit umgeht …).
Ich schätze auch ein, ob und wie er sein AddOn beschreibt „Über diese Erweiterung“.
Ja, wenn es um Sachen für Sicherheit und Datenschutz geht, schon. Aber manchmal braucht man halt was anderes
Ja danke!
Wissen tust du nur, wenn du prüfst, oder etwas nicht möglich ist.
In erster Linie also: Code des Addons lesen (lassen).
Ansonsten: Dem Berechtigungssystem vertrauen.
Für Endnutzer:
Mozillas Erklärungen, was welche Berechtigungen ermöglichen, findest du hier.
„Tipps zur Beurteilung der Sicherheit [sic] einer Erweiterung“ gibt es hier, und ist nicht nur im Bezug auf die Sicherheit von Belang. Den „Soziale Medien“ Kram kann man ignorieren.
Naja, da sie hauptsächlich JavaScript sind, kannst du die .xpi einfach entpacken, und wenn kein Programm zum unleserlich machen des Codes verwendet wird¹, den JavaScript Code lesen.
Es gibt zwar afaik. noch andere Möglichkeiten zur Codeausführung, aber die findest du, denke Ich, eher selten.
¹ „Obfuscator“ - wenn Ich mich richtig erinnere, war die Nutzung eigentlich nicht (von Mozilla) erlaubt, wenn du dein AddOn bei Mozilla hochlädst.
Manchmal wäre auch ein separates Browserprofil eine gute Idee, wenn das auch eine Option ist.
Für das, um was es mir aktuell geht (Text auf einer Webseite markieren und so auf meinem Rechner speichern) würde das vom Handling her gehen, aber inwiefern nutzt ein eigenes Profil hinsichtlich Datenschutz und Sicherheit (z.B. dass die gespeicherten/markierten Daten nicht nach draußen geschickt werden)?
Kenntnisse, um den JavaScript-Code zu interpretieren, hab ich nicht…
Meiner Erfahrung nach werden die Erweiterungen automatisiert und teilweise manuell geprüft. Wie diese Prüfung aussieht weiß ich nicht, allerdings musste ich für LocalCDN ein Skript schreiben, was die enthaltenen Bibliotheken mit dem Original abgleicht. Das Addon-Team hat mich damals kontaktiert und das als Voraussetzung genannt, damit LocalCDN freigeschaltet wird. Ich hab den Eindruck, dass dieses Skript tatsächlich manuell ausgeführt wird, da die Freischaltung eines Updates zwischen ein paar Stunden bis zu mehreren Tagen dauern kann. Aktuell hat es 9 Tage gedauert, bis die aktuellste Version freigeschaltet wurde. Laut dem Matrix Channel geht es anderen Entwicklern ähnlich. Ich kann im Developer Hub sehen, dass das Addon von mehreren Mozilla-Leuten angesehen und freigegeben wird:
Wer das im einzelnen genau war oder wer letztendlich das OK gibt sieht man nicht.
Bei der automatisierten Prüfung gibt es dann verschiedene Kategorien und Stufen (Info, Warning und Error). Wenn man bestimmte JavaScript Funktionen verwendet, kann das „nur“ ein Warning auslösen (dann ist eine Freischaltung möglich) oder ein Error, dann ist keine Freischaltung möglich. Welche JavaScript Funktionen welchen Fehler auslösen weiß ich allerdings nicht.
Mit MV2 ist es zwar keine Pflicht, aber vielleicht hat der Entwickler dessen Erweiterung du prüfen möchtest, eine Content-Security-Policy (CSP) hinterlegt (findet man in der manifest.json). Damit kann man festlegen, zu welchen Endpunkten eine Erweiterung eine Verbindung herstellen darf. Wenn diese CSP streng konfiguriert ist, kann man sich sicher sein, dass keine externen Verbindungen aufgebaut werden, denn die würde der Browser blockieren und ein abfließen von Daten ist dann nicht möglich. Allerdings kommt es darauf an, was das Addon macht. Beispielsweise macht eine CSP für uBlock Origin keinen Sinn, weil man ja die Filterlisten aktualisieren möchte.
Ich persönlich achte auch darauf, wie lange eine Erweiterung schon existiert, wie sehen die commits aus (ist jede Änderung leicht nachvollziehbar), wie reagiert der Entwickler auf Issues, wie sind die Dinge dokumentiert, usw.
Vielen Dank nobody, auf Deinen Beitrag hatte ich hier gehofft!
Ich möchte nur noch angeben, wie ich zu meiner Meinung komme.
Als die Webextensions eingeführt wurden (und ich habe eine diffuse Erinnerung, es gab schon mal so einen ähnlich gravierenden Einschnitt in die Entwicklung von AddOns), gab es wenige Entwickler, die so darauf vorbereitet waren, daß sie ihre aktualisierten Versionen sofort anbieten konnten.
Sehr viele beeilten sich nun, fertig zu werden und so ergab sich fast von null an ein gewaltiger Rückstau (ich glaube 8.000 in der Spitze) von zu prüfenden AddOns.
Das dauerte zunächst ewig: niemand kann Prüfer stricken.
Aber irgendwann gingen die Zulassungen rasanter und ich glaube, es wurde auch da eingeführt, daß AddOns mit dem Infokasten
Dieses Add-on wird von Mozilla nicht aktiv auf seine Sicherheit überwacht. Stellen Sie sicher, dass Sie ihm vertrauen, bevor Sie es installieren.
Weitere Informationen
„freigelassen“ wurden, den es noch heute gibt.
Daraus entstand für mich der Eindruck, daß die Prüfverfahren bei genügend Staudruck auch mal eben verdünnt werden …
Mein Vertrauen in Mozilla ist überschaubar. Wie sonst müsste ich mich mit einer einschlägigen user.js gegen einen übergriffigen Browser wehren?
Ob Mozilla das AddOn geprüft hat, ist mir also ziemlich egal.
Und das war auch nicht meine Frage. Meine Frage war, ob das AddOn OpenSource ist. Ich habe gelernt (von @anon53463117), dass es das im Prinzip ist, weil es in Javascript geschrieben ist, also kein übersetzter Programmcode und daher von jedem gelesen werden kann. Danke, das beantwortet meine Frage.
Als Ergänzung zu dem, was @nobody geschrieben hat, sollte man unbedingt ergänzen, dass es für Firefox „recommended“ Add-ons gibt:
Recommended extensions differ from other extensions that are regularly reviewed by Firefox staff in that they are curated extensions that meet the highest standards of security, functionality, and user experience. Firefox staff thoroughly evaluate each extension before it receives Recommended status.
…Is the extension safe? Firefox is committed to helping protect you against third-party software that may inadvertently compromise your data —or worse— breach your privacy with malicious intent. Before an extension receives Recommended status, it undergoes rigorous technical review by staff security experts.
Dabei werden diese Add-ons nicht nur einmalig überprüft, sondern bei jedem Update - was dann auch mal zur Folge haben kann, dass z.B. ein uBO-Update erst nach 1 oder 2 Tagen auf AMO erscheint.
So etwas gibt es m.W. bei anderen Browsern, v.a. bei Chromium-basierten, überhaupt nicht. Wer sicher gehen will, benutzt nur diese Add-ons. Was natürlich nicht heißt, das nicht-recommended Add-ons grundsätzlich unsicher sind.
Das widerspricht sich mit der Aussage von nobody. Ich kann kein Recommended/Empfohlen seines Addons erkennen. Dennoch dauert es laut seiner Aussage bis zu 9 Tage. Nach einmaliger Prüfung hört sich das nicht an.
Auch verstehe ich den Text (sinngemäß nicht wörtlich) lediglich als “Nur eine App die gewisse Dinge besonders gut bietet (die wir aber nicht weiter spezifizieren) bekommt von uns ein Batch“
Das eine Addon hat in manifest.jason, manifest.jason.mv2, und manifest.jason.mv3
folgendes stehen:
"content_security_policy": {
"extension_pages": "script-src 'self'; object-src 'self';"
},
"permissions":
das permissions usw. dürfte damit nichts zu tun haben (?), und das andere sieht so aus, als würde nicht irgendwohin eine Verbindung aufgebaut?
Das andere Addon hat nur manifest.jason, darin aber kein „content_security_policy“. Heisst das, das dann die default content security policy verwendet wird, und dass dann keine Verbindung nach außen aufgebaut wird?
Bei beiden steht aber:
This add-on is not actively monitored for security by Mozilla
Heisst das dann wiederum, dass es egal ist, was in manifest.jason und content security policy steht? Oder andersrum, dass das nur wichtig ist, wenn die Addons ein „Prüfsiegel“ von Mozilla kriegen wollen?
Ich kann diese Frage nicht konkret beantworten. Dass es bei uBO relativ schnell geht, mag daran liegen, dass ein Add-on mit über 6 Millionen Benutzern möglicherweise priorisiert wird.
Jedenfalls wird aber offenbar eine besonders gründliche Überprüfung durchgeführt.
https://blog.mozilla.org/en/products/firefox/extensions-addons/firefox-recommended-extensions/
Leider nicht ganz. So wie die CSP definiert ist, sind externe Anfragen möglich. Ich hab das mal lokal nachgebaut und rufe beim Laden der Erweiterung von einem Zeitserver ein paar Informationen im JSON-Format auf. Erst mit default-src 'self';
werden solche Anfragen vom Browser unterbunden:
Kommt drauf an. Wenn das Addon keine Berechtigungen braucht, ist die CSP nicht so wichtig. Wenn das Addon keine Daten in einem Tab lesen kann, dann kann es diese Daten auch nicht ausleiten. Es könnten allerdings andere Daten gesammelt und ausgeleitet werden. Leider ist die Kategorisierung und Erklärungen seitens Mozilla teilweise katastrophal. Beispielsweise gibt es in LocalCDN die Option „Link-Vorabruf deaktivieren“, die verhindern soll, dass bestimmte DNS-Requests vorab aufgelöst werden. Das ist nur eine von 25 möglichen Browsereinstellung (=networkPredictionEnabled) im „Paket“ privacy
. Die notwendige Berechtigung wird viel zu grob als „Read and modify privacy settings“ bezeichnet.
Vorab: Ich kenn mich nur mit den Berechtigungen aus, mit denen ich selbst zu tun hab.
Ein anderes Beispiel ist „Access your data for all websites“. LocalCDN muss wissen, welche Requests von einem Browsertab ausgelöst werden, um diese abzufangen oder um bestimmte Teile aus dem Quellcode zu entfernen, damit das Ersetzen von externen Ressourcen überhaupt möglich ist. Die Funktionsweise ist ähnlich zu den üblichen Adblockern. „Access your data for all websites“ klingt verständlicherweise nach dem absoluten worst-case, dabei geht es allerdings nicht um die Benutzerdaten oder irgendwelche Textfelder, sondern um die Requests die ein bestimmter Browsertab auslöst.
Ein letztes Beispiel „Access browser activity during navigation“. Klingt auf den ersten Blick auch nach worst-case, ist aber notwendig, damit im Addon-Icon eine Zahl angezeigt werden kann, wie viele Requests in diesem Browsertab ersetzt wurden. Diese Informationen werden für jeden Tab im Speicher gehalten und beim schließen des Tabs zum löschen freigegeben. Trotzdem klingt diese Berechtigung so, als würde ein Addon mit dieser Berechtigung die Benutzeraktivitäten (jeder Mausklick, jede Tastatureingabe) verfolgen.
In MV2 gibt es keine CSP-Pflicht, für MV3 allerdings schon. Eine „Standard-CSP“ gibt es soweit ich weiß nicht, d.h. wenn keine angegeben ist oder die CSP wie oben eher grob definiert wurde, dann könnte das Addon aus beliebigen externen Quellen etwas nachladen bzw. Daten ausleiten.
Es wäre übrigens sehr hilfreich, wenn du die Addons verlinken würdest, dann könnten sich das mehrere Personen anschauen
Nein, uBlock Origin hat dieses „Prüfsiegel“ und keine CSP in der manifest.json angegeben. Es kommt halt drauf an, was das Addon tut. Da man in uBlock Origin auch eigene Filterlisten verwenden kann, macht eine CSP keinen sinn.
Lieben Dank, nobody!
Ah, ok, dann hab ich offenbar den Link oben von Dir zu CSP falsch verstanden.
Ich habs jetzt nicht konkret ausprobiert, aber wenn das Addon Webseiten speichert, muss es das ja können.
Ja, bringt einem oft nicht viel.
Doch, in Deinem Link Content-Security-Policy (CSP) von oben steht zumindest:
Extensions have a content security policy (CSP) applied to them by default. The default policy restricts the sources from which extensions can load code (such as resources) and disallows potentially unsafe practices such as the use of
eval()
. See Default content security policy to learn more about the implications of this.
Allerdings hab ich mich jetzt zum ersten Mal mit dem Thema beschäftigt und was es mit den verschiedenen MV’s auf sich hat, verstehe ich nicht so (hab den Begriff vorher noch nie gehört)
Klar, gerne (finde ich ja supernett, wenn Du/ihr Euch die Mühe macht, das anzusehen):
https://addons.mozilla.org/en-US/firefox/addon/scrapyard/
https://addons.mozilla.org/de/firefox/addon/webscrapbook/
und dann wäre da noch https://addons.mozilla.org/de/firefox/addon/single-file/
Ich hab außerdem auf Reddit noch Informationen zu dieser Art Addons gefunden, im weiteren Verlauf unterhalten sich die Autoren der beiden letztgenannten Addons, an einer Stelle gehts ein bisschen um Sicherheit (aber das verstehe ich nicht).
Sowohl Scrapyard als auch Webscrapbook (meine Favoriten) speichern die Dateien entweder lokal (browserintern) oder mittels einem auf dem eigenen Rechner installierten Backend-Servers, der in Python programmiert ist, an beliebiger Stelle im Dateisystem (auch sonst funktionaler). Da kommt, je nach gewünschtem Speicherort, also noch ein extra Programm dazu. (Ich hab dazu in meinem Thread speziell zu diesen Addons noch was geschrieben, warum das so gemacht wird.) Da ist die lokale Nutzung in der Hinsicht wohl unproblematischer.
@nobody: Hast Du inzwischen in die Addons mal reinschauen können?