Die Zukunft der Obsidian-Plugins
(obsidian.md)- Obsidian Community wurde mit einem neuen Verzeichnis und einem Developer-Dashboard für Plugins und Themes eingeführt und vereint damit Einreichung, Verwaltung, Auffindbarkeit und Nutzung in einem durchgängigen Ablauf
- Seit der Veröffentlichung der Obsidian API im Jahr 2020 wurden von der Community mehr als 4.000 Plugins und Themes erstellt, und Plugins wurden über 120 Millionen Mal heruntergeladen
- Das neue Verzeichnis bietet Durchsuchen, Suche, Filtern und Sortieren und zeigt auf Projektseiten Screenshots, Detailinformationen und eine Sicherheits-Scorecard an
- Automatische Reviews gelten für alle Versionen und prüfen die Einhaltung der Entwicklerrichtlinien, die Codequalität sowie bekannte Schwachstellen und mögliches Schadverhalten
- Bestehende Projekte werden in das neue System migriert; Plugins und Themes, die die aktuellen Standards nicht erfüllen, erhalten vorübergehende Ausnahmen und werden danach schrittweise aus dem offiziellen Verzeichnis entfernt
Obsidian Community startet
- Obsidian Community startet als neues Verzeichnis und Developer-Dashboard für Obsidian-Plugins und -Themes
- Seit der Veröffentlichung der Obsidian API im Jahr 2020 wurden von der Community mehr als 4.000 Plugins und Themes erstellt, und Obsidian-Plugins kamen insgesamt auf mehr als 120 Millionen Downloads
- Ziel ist es, dass jeder Plugins und Themes einfacher und sicherer erstellen, veröffentlichen, entdecken und nutzen kann
- Dieser Start ist der Beginn eines größeren Plans, der die Community-Website, das Developer-Dashboard, automatische Reviews, Plugin-Sicherheit und Tools für Teams gemeinsam einführt
Community-Website und Developer-Dashboard
- Die neue Community-Website bietet Durchsuchen, Suche, Filtern und Sortieren zum Entdecken von Plugins und Themes
- Plugins lassen sich über Dutzende Kategorien wie Integrations, Bases, Charts und weitere Kategorien finden
- Projekte können nach Name, Download-Zahl, Beliebtheit, Veröffentlichungsdatum und Aktualisierungsdatum sortiert werden
- Jede Projekt-Detailseite enthält Screenshots, Detailinformationen und eine Sicherheits-Scorecard
- Für kostenpflichtige Plugins und offizielle Integrationen werden neue Labels angezeigt
- Autoren können ihrer Profilseite Unterstützungsoptionen, Website-Links und Social-Media-Links hinzufügen
- Die Obsidian-Community-Website bietet ein neues Developer-Dashboard, über das Autoren Projekte einreichen, verwalten und ihren Status verfolgen können
- Alle bestehenden Plugins, Themes und ausstehenden Einreichungen, die bisher über GitHub hinzugefügt wurden, werden automatisch auf die neue Website migriert
- Um den Besitz bestehender Projekte zu beanspruchen, muss man sich auf der Community-Website anmelden und sein GitHub-Konto verknüpfen
- Nach der Verknüpfung des GitHub-Kontos können bestehende Projekte verwaltet, neue Projekte eingereicht und die Profilseite bearbeitet werden
Automatische Reviews und Sicherheit
- Für alle Community-Projekte werden automatische Reviews eingeführt
- Das neue automatische Review-System scannt nicht nur die erste Einreichung, sondern jede Version nach Sicherheits- und Codequalitätsstandards
- Bisher prüfte ein kleines Team die ersten Einreichungen manuell auf Einhaltung der Developer Policies, doch mit wachsender Beliebtheit von Obsidian wurde es schwierig, mit dem Einreichungstempo mitzuhalten, und spätere Versionen wurden nicht mehr geprüft
- Da Coding Agents die Erstellung von Plugins beschleunigen, wurden die Review-Warteschlangen noch länger, und mit Tools wie der Obsidian CLI wird das Erstellen von Plugins einfacher
- Wenn ein Plugin oder Theme eingereicht wird, überprüft das automatische Review-System die Einhaltung der Entwicklerrichtlinien, die Befolgung von Best Practices im Quellcode und das Fehlen bekannter Schwachstellen
- Da sich die automatischen Tests laufend verbessern lassen, entsteht damit eine Grundlage, um Qualität und Sicherheit des Obsidian-Ökosystems umfassender zu erhöhen
- Manuelle Reviews bleiben bestehen. Dank des neuen Systems kann die Kapazität auf Plugins konzentriert werden, die eine tiefere Prüfung benötigen, etwa beliebte Plugins, empfohlene Plugins oder von der Community markierte Probleme
- Bestehende Plugins und Themes wurden im neuen System erneut geprüft, wobei ältere Plugins und Themes gefunden wurden, die die aktuellen Richtlinien nicht erfüllen
- Bestehende Projekte, die die aktuellen Standards nicht bestehen, erhalten vorübergehende Ausnahmen; alle Plugins und Themes, die das neue Review-Verfahren nicht bestehen, sollen jedoch letztlich schrittweise aus dem offiziellen Verzeichnis entfernt werden
- Das neue System hat in den vergangenen Tagen mehr als 2.300 ausstehende Einreichungen verarbeitet, und Entwickler, die auf eine Plugin-Review warten, können sich auf der Community-Website anmelden, um den aktuellen Status zu prüfen
-
Automatische Scans
- Jede Version wird automatisch auf Codequalität und Sicherheitslücken geprüft
- Dazu gehört auch ein Malware-Scan, der erkennt, ob ein Plugin potenziell schädliche Zusätze enthält
- Entwickler können im Developer-Dashboard detaillierte Hinweise, Warnungen und Fehlerkennzeichnungen für jedes Projekt einsehen
-
Scorecard
- Nutzer und Entwickler können in der Scorecard jedes Projekts den Status der automatischen Prüfungen einsehen
- Die Scorecard soll weiter verbessert werden und dabei öffentliche Informationen, Datenschutz-Labels, Artifact Attestations, Ergebnisse manueller Reviews und die Übernahme von App-Funktionen integrieren
-
Offenlegung des Zugriffsbereichs
- In den kommenden Monaten soll die Transparenz bei Plugins und Autoren weiter erhöht werden
- Plugins müssen angeben, worauf sie zugreifen, etwa auf Netzwerk, Dateisystem, Zwischenablage und andere Funktionen
- Nutzer sollen diese Angaben vor der Installation eines Plugins einsehen können
-
Verifizierte Autoren
- Vertrauenswürdige Entwickler, die zusätzliche Verifizierungsschritte bestehen und in gutem Status bleiben, erhalten ein Label
- Nutzer können Sicherheitsprobleme jederzeit direkt an das Obsidian-Team melden
Änderungen für Teams und auf App-Ebene
- Teams, die Obsidian verwenden, können bereits benutzerseitige Sicherheitskontrollen ausrollen
- In den kommenden Monaten sollen Teams Community-Plugins einfacher verwalten können, die sie erlauben möchten, und private Plugins an Teammitglieder verteilen können
- Teams, die offizielle Obsidian-Plugins bereitstellen, können das Official-Badge im Community-Verzeichnis beantragen
- Wenn ein Plugin dafür infrage kommt, kann man Kontakt aufnehmen
- Parallel zu Verbesserungen des Community-Verzeichnisses und des automatischen Review-Systems sind auch Änderungen an der Obsidian-App und API geplant, die Auffindbarkeit und Sicherheit erhöhen sollen
- Das Community-Ökosystem ist einer der unterhaltsamen und leistungsstarken Teile von Obsidian, und die Richtung ist, die Grundlage für weiteres Wachstum bereitzustellen
- Zum neuen Obsidian Community wird Feedback eingeholt
Wichtige Änderungen für Nutzer und Entwickler
-
Auswirkungen auf Nutzer
- Auf der neuen Community-Website lassen sich Plugins und Themes entdecken
- Da die Review-Zeiten deutlich kürzer werden, muss Early-Access-Plugins möglicherweise seltener manuell installiert werden
-
Einreichung neuer Plugins oder Themes
- Auf der Community-Website anmelden und auf das neue Developer-Dashboard zugreifen
- Das GitHub-Konto verknüpfen, das Repository für die Einreichung auswählen und die Schritte im Dashboard abschließen
- Unmittelbar nach der Einreichung beginnt die Projektprüfung, und das Ergebnis ist in der Regel innerhalb weniger Minuten sichtbar
- Wenn das Projekt besteht, kann es innerhalb von 24 Stunden in der App gesucht und heruntergeladen werden
-
Besitz bestehender Plugins und Themes beanspruchen
- Auf der Community-Website anmelden und auf das neue Developer-Dashboard zugreifen
- Nach Verknüpfung des GitHub-Kontos kann der Besitz eines Plugins beansprucht und Titel, Beschreibung sowie Screenshots aktualisiert werden
-
Sind Updates auch ohne Developer-Dashboard möglich?
- Neue Versionen können weiterhin über GitHub veröffentlicht werden
- Neue Releases werden automatisch geprüft; wenn sie die Review nicht bestehen, müssen die Details im Developer-Dashboard eingesehen werden
-
Plugins und Themes, die automatische Reviews nicht bestehen
- Neue Plugins und Themes müssen die automatische Review bestehen, bevor sie dem Verzeichnis hinzugefügt und auffindbar werden
- Jede neue Version wird gescannt; wenn sie die Review nicht besteht, wird sie innerhalb von 24 Stunden aus der Suche entfernt
- Bereits genehmigte Plugins und Themes können vorerst weiter genutzt werden, auch wenn sie die automatische Review nicht bestehen
- Auch ältere Plugins sollen letztlich die neuen Standards erfüllen müssen, aber es gibt noch keinen festen Zeitplan; der Übergang soll gemeinsam mit den Community-Entwicklern festgelegt werden
-
Automatische Reviews ohne Release-Einreichung ausführen
- Mit dem eslint plugin lassen sich Obsidian-Plugins lokal anhand der offiziellen Entwicklerrichtlinien prüfen
- Im Developer-Dashboard kann ein Vorschau-Scan für beliebige Branches, Tags oder Commits ausgeführt werden
-
Co-Maintainer und Organisations-Repositories
- Aktuell können in Obsidian Community nur Eigentümer von GitHub-Repositories das jeweilige Projekt bearbeiten
- Bei Organisations-Repositories sind Besitzanspruch und Bearbeitung möglich, wenn die Organisationsmitgliedschaft öffentlich sichtbar ist
- Unterstützung für mehrere Mitwirkende soll in naher Zukunft ergänzt werden
-
Plugins mit geschlossenem Quellcode
- Neue Plugins mit geschlossenem Quellcode werden derzeit nicht in das Verzeichnis aufgenommen
- Bereits bestehende Plugins mit geschlossenem Quellcode können bis auf weitere Ankündigung weiter genutzt werden
- Künftig soll geprüft werden, wie das neue Review-System an Plugins mit geschlossenem Quellcode angepasst werden kann
-
Konto- und GitHub-Anforderungen
- Für den Zugriff auf das neue Developer-Dashboard ist ein Obsidian-Konto erforderlich
- Derzeit ist die Nutzung von GitHub erforderlich; künftig soll die Unterstützung weiterer Software-Hosting-Plattformen geprüft werden
- Der GitHub-Login teilt den Benutzernamen und die Liste öffentlicher Repositories, und diese Informationen werden nur zur Bestätigung des Repository-Besitzes verwendet
-
Labels Paid und Optional payments
- Obsidian Community ist kein Store und bietet keine integrierte Zahlungslösung an
- Entwickler können weiterhin externe Zahlungsmechanismen wie Lizenzschlüssel, API-Schlüssel oder Login-Gates verwenden
- Entwickler müssen ihr Plugin korrekt einer von drei Kategorien zuordnen
- Free bezeichnet Plugins ohne jede Form der Bezahlung und ohne jegliche Verbindung zu kostenpflichtigen Diensten; Spenden- und Unterstützungslinks sind erlaubt
- Optional payments bedeutet, dass Nutzer optional zahlen können, um zusätzliche Funktionen freizuschalten, oder dass das Plugin mit einem kostenpflichtigen Dienst verbunden ist
- Wenn ein Plugin mit einem kostenpflichtigen Dienst oder einer kostenpflichtigen API verbunden ist, muss es als Optional payments gekennzeichnet werden, auch wenn dieser Dienst eine kostenlose Stufe bietet
- Paid bedeutet, dass Nutzer zahlen müssen, um die Hauptfunktionen zu verwenden, selbst wenn eine kostenlose Testphase angeboten wird
- Diese Labels zeigen nicht an, ob der Plugin-Entwickler Zahlungen einsammelt, sondern welche Zahlungen Nutzer erwarten müssen
-
Fehler in der Scorecard und Kontakt
- Die Scorecard ist eine neue Funktion und kann Fehler enthalten; es kann zu False Positives oder False Negatives kommen
- Wenn ungenaue Inhalte entdeckt werden, sollte der Kanal #plugin-dev im Obsidian Discord-Server kontaktiert werden
- Bei Fragen oder Bedenken kann ebenfalls der Kanal
#plugin-devim Obsidian Discord-Server kontaktiert werden
1 Kommentare
Hacker-News-Kommentare
Ich habe versucht, im Blogpost, in den FAQ und sogar bei den nächsten Schritten auf der Roadmap so wenig wie möglich auszulassen, aber sicher ist mir trotzdem etwas entgangen, also fragt gern nach
Unser Team besteht nur aus 7 Leuten, muss aber mit Tausenden von Plugin-Entwicklern und Millionen von Nutzern umgehen, daher war es sehr schwierig, widersprüchliche Prioritäten ausgewogen auszubalancieren
Das neue System musste leicht einführbar sein, Abwärtskompatibilität wahren, bestehende Workflows nicht vollständig zerstören und zugleich deutlich besser sein als die frühere Methode; außerdem musste es die Sicherheit und Auffindbarkeit von Plugins schrittweise verbessern können
Ich würde mich freuen, wenn ihr es als laufende Arbeit betrachtet; ich möchte Ideen und Beschwerden hören und dann weiter iterativ verbessern
Einer der Gründe, warum ich gezögert habe, war nicht nur der enorme Zeitaufwand, sondern auch die Sorge, dass das Projekt später die Verantwortung für einen Angriff tragen könnte, falls nach Abhängigkeit von diesem Review-Prozess einmal verschleierter Schadcode durchrutscht
Mich würde interessieren, wie ihr darauf blickt
Für mich fühlt sich das an wie der Unterschied zwischen Debian/Ubuntu, wo alles im Repository streng geprüft wird, und PyPI/npm, wo es überhaupt keine Review-Garantie gibt
Ein Beispiel ist hier zu sehen: https://community.obsidian.md/plugins/zotlit
Wenn zum Beispiel ein KI-Zusammenfassungs-Plugin anfangs mit einem vom Nutzer bereitgestellten OpenAI-Key auf
url="api.openai.com"+pathzugreift, wäre das eine sehr gängige Form, und ich bin gespannt, was die Community darauf aufbautWenn ein Update den Nutzern dann aber erlaubt, für eine OpenAI-kompatible API einen beliebigen Endpunkt zu wählen, wie kann man sicherstellen, dass diese Flexibilität nicht missbraucht wird, um einen Netzwerk-Exfiltrationspfad zu schaffen, der den Scan umgeht, und dass nicht unauffällig ein bösartiger Endpunkt vorausgefüllt in ein Update eingebaut wird?
Als ich Obsidian ausprobiert habe, stellte ich fest, dass die Datentabellen-Funktion nicht eingebaut ist, sondern ein Plugin mit vollständigem Zugriff, und habe es sofort wieder deinstalliert
Dass das Team aber nur aus 7 Leuten besteht, überrascht mich
Der Unmut in der Entwickler-Community wurde immer größer, und auch das Team war durch die Last zunehmend erschöpft
Deshalb Glückwunsch an das Team. Ein gewaltiger Skalierungsengpass wurde damit gelöst, und es ist ziemlich beeindruckend zu sehen, wie sie das aufbauen und weiter skalieren
Wenn Softwarefirmen Titel wie „Die Zukunft von XYZ“ verwenden, erwartet man meist, dass sie XYZ stark einschränken oder auf das Ende vorbereiten
Die beste und vielleicht einzige Möglichkeit, Plugin-Sicherheitsprobleme zu lösen, ist meiner Meinung nach eine Sandbox mit expliziter API und Berechtigungssystem
Wenn sie allerdings nicht mit dem Internet kommunizieren können, scheint das kein großes Problem zu sein
Beim weiteren Nachsehen wirkt es so, als seien Obsidian-Plugins in der JavaScript-/Electron-Architektur einfach JavaScript-Blöcke, die im globalen Bereich laufen, das gesamte Dateisystem im Rahmen der Benutzerrechte lesen und schreiben sowie HTTP-Anfragen senden können. Kann das jemand bestätigen?
Ich frage mich allerdings, wie gut das in diesem Ökosystem tatsächlich funktionieren wird. Meiner Erfahrung nach führen umfassende Scans leicht zu False Positives, also Fällen, in denen es zwar eine CVE gibt, sie im tatsächlichen Nutzungskontext aber nicht relevant ist
Deshalb braucht man Wissen, um Scan-Ergebnisse richtig zu interpretieren, und das kann für Maintainer eine erhebliche Belastung werden
Berechtigungen allein können bestimmte bösartige Verhaltensweisen nicht verhindern, daher braucht man alles davon
Schon ein Blick auf einige Scorecards auf der Community-Website zeigt schnell, dass manche Warnungen nicht durch ein Berechtigungssystem oder Sandboxing abgefangen werden können
Im Blogpost stehen Details zum Rollout, und weil Änderungen an der Plugin-API nötig sind, soll das schrittweise eingeführt werden
Sicherheit und Berechtigungsvergabe sind einfach schwierig, und wenn man eine Plattform entwirft, muss man sich irgendwann fragen, ob die Risiken den Zugewinn an Flexibilität wert sind
Ein vollkommen sicheres System zu planen ist aussichtslos
Irgendwann sollte ich wohl lernen, wie man in meinem eigenen Projekt ein ähnliches System umsetzt
Datenabfluss geschieht leise
Wenn dort eine lange Liste aus Fehlern und Linter-Warnungen steht, was soll ich dann damit anfangen?
Mich interessiert, wie der ideale Ablauf auf Nutzerseite gedacht ist. Für Entwickler wirkt die Scorecard sinnvoll
Community-Beiträge dieser Art zu verwalten ist schwierig, aber das wirkt wie ein großer Fortschritt
Ich frage mich auch, welche Rolle KI bei solchen automatischen Reviews übernehmen könnte. Das wirkt wie ein ziemlich vielversprechender Anwendungsfall
Wenn Obsidian keine proprietäre Software wäre, hätte ich das selbst geändert
Es wird Zeit, dass jemand einen kompatiblen Klon baut
.obsidian/plugins-Ordner im Vault kopieren kann.obsidian/plugins/einfügen