Komi-Store: Alternative zu F-Droid, Obtainium für FOSS-Apps?

Ich nutze unter Android möglichst FOSS-Apps und hatte diese bisher überwiegend über F-Droid installiert. F-Droid steht jedoch wegen mangelnder Sicherheit in der Kritik, die u.a. von GOS- und Signal-Entwicklern geäußert wird und daher ernst genommen werden sollte:

https://discuss.grapheneos.org/d/18731-f-droid-vulnerability-allows-bypassing-certificate-pinning/13

https://github.com/signalapp/Signal-Android/issues/127

Hier wurde das auch schon diskutiert:
https://www.kuketz-forum.de/t/mangelhafte-zertifikatspruefung-bei-f-droid/10848?u=maetih

Ich versuche dennoch zu vermeiden, Apps von Google Play, inkl. Aurora zu installieren wenn es sich vermeiden lässt, was die GOS- und Signal-Entwickler letztendlich empfehlen. Ich möchte nicht völlig von Googles Infrastruktur abhängen. Die Installation über den Play Store kommt grundsätzlich nicht in Frage, da dafür ein Googlekonto erforderlich ist, Google die installierten Apps im Konto protokolliert und damit schon einen ziemlich guten Einblick in Interessen und Lebensumstände bekäme. Was gibt es daher für weitere Alternativen?

Accrescent ist ein App Store für FOSS-Apps, der scheinbar den Segen von GOS erhalten hat. Die Auswahl beschränkt sich aber momentan noch auf ca. 40 Apps, von denen ich nur IronFox, Molly und Organic Maps vorab kannte. Die Informationen zu den Apps sind höflich gesagt ausbaufähig.

Obtainium habe ich mal getestet. Die Einbindung alleine des Brave Browsers hat mich 15min gekostet und ich war dennoch nicht schlau genug, Updates auf Stable- anstatt Nightly-Releases zu beschränken. Etwas mehr Komfort wäre nicht schlecht, vor allem eine Suchfunktion, um Apps überhaupt erst zu finden, die noch nicht bekannt sind.

Nun bin ich durch einen Artikel in der aktuellen c’t auf den Komi Store gestoßen. Er ist wie Obtainium ein Frontend, um APKs direkt von Github, Codeberg, Gitea und Disroot, also vom Entwickler zu installieren. Die Komi Store App für Android wurde vor wenigen Monaten das erste Mal veröffentlicht. Ich habe den Store gleich installiert und ausprobiert. Der erste Eindruck ist gut:

  • Der Komi Store zeigt unter den genannten Gits veröffentlichte Apps, nach Kategorien geordnet, gleich nach dem Start an.
  • Es gibt eine Suchfunktion und Charts der populärsten Apps.
  • Es gibt kurze Informationen zu den Apps, offensichtlich auch von den Gits übernommen.
  • Die App kann die auf dem Gerät installierten Apps scannen, zeigt die Installationsquelle an (z.B. F-Droid) und bietet Updates an, falls in den Gits neuere Versionen bereitstehen.
  • Der Installationskanal (stable, beta,..) lässt sich wählen.
  • Apps können über den Komi Store installiert, aktualisiert werden, die Liste der installierten Apps kann aber auch für Obtainium exportiert werden, um Installation, Aktualisierung dort zu machen.

Für meine ca. 50 installierten FOSS Apps ergibt der Vergleich mit F-Droid:

  • Das Appangebot unter F-Droid ist größer. Ca. 1/3 meiner FOSS-Apps aus F-Droid wird vom Komi Store nicht angeboten.
  • Andererseits gibt es eine handvoll Apps, die F-Droid nicht hat, aber in Komi angeboten werden, am prominentesten darunter der Signal Messenger.
  • Nur wenige Apps wurden unter dem Komi-Store aktueller als in F-Droid angeboten. Insbesondere bei sicherheitsrelevanten mit Internetzugang (Browser, Messenger) war F-Droid gleich aktuell.

Die Debatte um die Sicherheit von F-Droid habe ich verfolgt. Ich gehöre aber zu den Nutzern deren Bedrohungsmodell der Angriff auf die Privatsphäre ist. Durch Cyberattacken hatte ich bisher keine Schäden, Tracking ist jedoch eine Realität für jede einzelne Minute Internetnutzung ohne Abwehr dagegen. Ich schätze es daher durchaus, dass unter F-Droid Apps auf Tracker geprüft werden und von einigen Apps die einzigen komplett trackerfreien Versionen unter F-Droid angeboten werden, während die entsprechenden Versionen im Play-Store / Aurora und möglicherweise auch in den Gits nicht trackerfrei sind (z.B. Island / Insular von Oasis Feng).

Nun meine Fragen, Punkte an die Community hier, besonders die Sicherheitsexperten für eine Debatte:

  • Habt Ihr Erfahrung mit dem Komi Store?
  • Würdet Ihr ihn gegenüber F-Droid bevorzugen, insbesondere unter Sicherheitsaspekten?
  • Ist sicherheitstechnisch in Summe etwas gewonnen, wenn Apps wie bei Obtainium und Komi Store direkt beim Entwickler heruntergeladen werden, ohne Prüfung durch Dritte? Damit muss dem Entwickler ja zu 100% vertraut werden.
  • Bietet Obtainium gegenüber dem Komi Store Sicherheitsvorteile (z.B. Prüfung der Zertifikate, Authentizität der Installationsdatei) oder können Apps genau so gut über Komi installiert, aktualisiert werden?
  • Wie seht Ihr die Balance zwischen Privatsphäre vs. Sicherheit gegen Cyberangriffe in der Debatte um F-Droid? Ist F-Droid für privatsphärenorientierte Nutzer nach wie vor empfehlenswert selbst wenn es für Nutzer, die ein maximal gehärtetes System benötigen, nicht zu empfehlen ist?

Ich bin kein Experte, und lasse mich gerne korrigieren:
Ein Gedanke, der mich schon länger bewegt, und mich bisher von Obtanium etc. ferngehalten hat ist dieser: Wenn Apps auf Github veröffentlicht werden, nutzt der Entwickler mit großer Sicherheit das automatische Buildsystem von Github. Damit bekommen wir also in Realität nicht ein direktes Realease vom Entwickler, sondern eine von Github (einem zu Microsoft gehörenden Unternehmen) „gebaute“ App. Sehe ich das richtig?
Falls diese Annahme korrekt ist, würde ich sagen, dass du damit einen schlechteren Deal als mit F-Droid bekommst (zumindest bei Reproducible Builds). Ich sehe nicht, warum ich Github/Microsoft (nicht weniger Datenhungrig als google) mehr vertauen sollte, als F-Droid, einem Projekt was sich seit Beginn vollständig zu FOSS und Privatsphäre bekannt hat.

Außerdem muss ich sagen, dass mir die immer wiederkehrenden Kritik-Threads an F-Droid etwas suspekt sind. Wenn Moxie etwa im obigen Signal-Github-Issue aus dem Jahr 2013 Dinge an F-Droid kritisiert, hat das meiner Meinung nach (ohne weitere Prüfung) wenig bis keine Aussagekraft für heute (13 Jahre später). Trotzdem kommen diese alten Issues immer wieder auf den Tisch, insbesondere von GraphenOS Nutzern. Für mich fühlt sich das teilweise nach Grabenkämpfen und persönlichen Differenzen zwischen den Projektleitern an.
Zusätzlich gilt vieles der grundsätzlichen Kritik ja genauso für andere App-Stores (also auch Optanium etc.).
Das soll im übrigen nicht heißen, dass es an F-Droid keine legitime Kritik gibt. Auch ich sehe manche Schwierigkeiten, insbesondere mit der Projektleitung. Aber das macht F-Droid als ganzes nicht schlecht (siehe etwa GraphenOS, wo die Projektleitung mMn. auch nicht unkritisch zu sehen ist).

Zu deiner Frage bzw. 100%-Vertrauen in den Entwickler: Du musst dem Entwickler eh vertrauen, solange du selber kein ausführliches Code-Review machst. Denn das tut F-Droid auch nicht für dich. Einen Entwickler, der bösartigen Code in seine App einschleusen möchte, wirst du nur entdecken, wenn du selber den Code nach jeder Änderung prüfst, und die App selber compilierst. Das ist für 99,9% der Menschen völlig unrealistisch. Deshalb musst du dem Entwickler wohl oder übel vertrauen.

Mein Fazit war deshalb bisher immer: Insbesondere wenn das persönliche Threadmodel keine extreme Sicherheit fordert, sehe ich (trotz viel Recherchieren) bisher nicht, wie etwa die im GOS-thread genannten Sicherheitslücken für den „Normalo“ gefährlicher sein sollen, als etwa die Nutzung des Playstores, der in der Vergangenheit immer wieder durch tatsächliche Malware-Apps aufgefallen ist. Und eine Nutzung von Obtanium etc. halte ich sogar für noch schlechter, wenn der Entwickler die Apps nicht selber kompiliert, weil neben dem Entwickler und der Store-App einer weiteren Partei vertraut werden muss.
Aber ich bin natürlich offen, von Experten eines Besseren belehrt zu werden…

Reproducible Build wohl nicht. Tatsächlich ein Punkt! Ein guter Punkt. (Und heutzutage noch viel zu sehr ohne Beachtung: aktiv wie passiv!)

Aber ich sehe das Build-System von Github auch durchaus von Vorteil: ich würde erwarten, dass es aktuell, modern und gut gewartet ist. Und genau das wurde ja bei F-Droid auch schon einmal kritisiert. Seitdem haben sie einen „neuen Server“. Aber sicherlich nicht die Infrastruktur i.A. wie Github. Und was die Entwickler zu Hause jeweils für ein Build-System hätten? Die dürften sich untereinander meistens doch unterscheiden. GitHub ist dann wenigstens einheitlich.

Danke für das Feedback. Bei dem Signal Issue muss ich mich entschuldigen. Mir viel nicht auf, dass das schon 13 Jahre alt ist. Ansonsten hätte ich das nicht mehr zitiert. Allerdings bleibt das Misstrauen von Signal gegenüber F-Droid. Die App gibt’s dort ja immer noch nicht regulär. Brave geht noch mal einen anderen Weg und hat für F-Droid sein eigenes Repository gebaut. Einige bedeutende App-Entwickler trauen F-Droid offensichtlich immer noch nicht über den Weg.

da empfehle ich die apk von der Signalwebseite. (die updated sich selbst ohne store)

Mal anschauen. Danke!

Ist es erlaubt, hier weitere Alternativen zu nennen?

Warum nicht?

Auf den ersten Blick wirkt mir der Komi nicht so dolle.

Ist bekannt und geht auch bei Threema gleichermaßen. Tatsächlich mache ich das bei beiden Apps auf diese Weise. Das ist aber nicht das eigentliche Thema des Threads, da es insgesamt nicht ohne App Store für FOSS-Apps geht. Die Frage bleibt also, welcher am ehesten auf der Höhe der Zeit ist.

Daher, ja sicher, bin gespannt!

Ich nutze seit einiger Zeit den Zap-Store. Wichtig war mir, dass keine Updates mit abweichender Signatur installiert werden können. Basis ist Nostr. Leider fehlt mir die Expertise um stark ins Detail zu gehen. Hier ein paar Infos:

https://alien-investor.org/Zapstore.html

https://deepwiki.com/zapstore/zapstore/2-data-architecture-and-storage

https://zapstore.dev/community/faq

Wäre toll, wenn einer der Fachleute etwas dazu sagen könnte.

Es gab/gibt eine Diskussion zu ObtainX, einem Fork von Obtainium:
FYI: ObtainX — A supercharged Obtainium: get Android app updates straight from the source

Zum Zapstore gibt es schon ein Thema.

https://www.kuketz-forum.de/t/zapstore-als-alternative-zu-f-droid/14955

Ich komme mit Obtanium bzw. ObtainX überhaupt nicht klar. Oder genauer gesagt, ich finde einfach nichts. Von daher bin ich auch an anderen seriösen Stores interessiert, die direkt GitHub, GitHub, Codeberg etc. Apps installieren und aktualisieren können.

Sind ja auch keine App-Stores. Man muss selber die Verknüpfung zur Quelle ergänzen, damit eine App installiert/aktualisiert werden kann.

Tipp:
https://apps.obtainium.imranr.dev/

Genau das leistet der Komi-Store. Es ist kein einfacher Fork von Obtainium wie ObtainX, sondern verfolgt ein anderes, nutzerfreundlicheres Konzept. Komi fühlt sich an, wie ein Appstore, da Apps nach Themen, Popularität angeboten werden, gesucht werden können, installierte Apps erkannt und aktualisiert werden können.
Gemeinsam mit Obtainium ist nur, dass Github & Co als Appquelle verwendet werden.
Was ich nicht beantworten kann ist, wie Komi in Bezug auf die Sicherheit im Vergleich zu Obtainium und F-Droid abschneidet. Wenn nur die verfügbaren Apps betrachtet werden, ergibt sich kaum ein Vorteil gegenüber F-Droid.

Neugierig geworden, habe ich mir den Komi-Store installiert. Ja, die Suchfunktion ist gut, aber beim Design der App stellen sich mir die Haare. Nicht, dass mir Material 3 so sehr gefallen würde, aber der Komi-Store wirkt wie aus irgendeinem Game gefallen - das muss man schon mögen.

Mimimi Ende :face_with_hand_over_mouth:

@Musti Danke für den Link, das hilft mir schon mal sehr weiter. Es gibt halt manchmal Open Source Apps, die es aus irgendwelchen Gründen nicht bei F-Droid gibt, sondern nur direkt bei GitHub und Konsorten. Von daher finde ich einen zweiten Store, der solche Apps abdeckt, schon sinnvoll.

ObtainX hat eine Suchfunktion mit der man z.B. in diversen Repos/Stores nach Apps suchen kann. Darunter FDroid Drittanbieter Repos (sofern angegeben), Github, Gitlab, Codeberg, IzzyOnDroid, FDroid (Offizielles Repo), CoolApk, Tencent App Store und vivo App Store (China).

Das hat bei mir auch nicht funktioniert. Ich habs dann aufgegeben.

Das war keine spezifische Kritik an deinem Post, sondern eine generelle Feststellung: viel Kritik an F-Droid scheint auf alte Probleme zurück zu gehen. Aber vielleicht ist das auch nur meine subjektive Wahrnehmung.

Egal wer die App compiliert, du musst der Partei vertrauen. Sowohl im Hinblick auf die Sicherheit der erzeugten apk, als auch im Hinblick auf Privatsphäre (eingeschleuste Tracker?, Statistiken wann du die App updatest,…). Deshalb empfinde ich es eher als Sicherheits-verlust einer weiteren Partei wie Github zu vertrauen. Nicht nur wegen der verbindung zu Microsoft, sondern auch, weil die Apps in diesen Fällen dann direkt in Github Signiert werden (wenn ich das richtig verstehe). Für einen Angreifer ist das insofern alles schön attraktiv an einem Platz, er braucht nur Zugang zu einem Github-Account mit den entsprechenden Berechtigungen auf dem Repo.
Ob wiederum der private Rechner oder irgendeine gemieteter Server oder so des App-Entwicklers angegriffen wird, um an die Signing-Keys zu kommen, halte ich schon für unwahrscheinlicher bei irgendeiner kleinen FOSS-App. Vielleicht sehe ich das auch zu naiv..
Reproducible Builds über F-Droid sind ab dieser Stelle meiner Meinung nach überlegen, weil die App ja quasi an zwei verschiedenen Stellen unabhängig compiliert wird, und dann verglichen wird. Somit sollte ein Angreifer es deutlich schwerer haben, die App zu manipulieren (solange er nichts in den eigentlichen Quelltext einschleusen kann).
Ich denke, dass das vielleicht sogar das größte Risiko ist, dass Quelltexte unbemerkt ungewollte Dinge enthalten, aber es einfach niemand merkt. Insgesamt gibt es bei der Nutzung von FOSS Software bei vielen Leuten die naive Vorstellung, dass der Quelltext auf jeden Fall sauber ist, weil er ja öffentlich einsehbar ist. Das dem nicht so ist, sollte spätestens jeder seit Vorfall mit XZ wissen (https://en.wikipedia.org/wiki/XZ_Utils#Backdoor_incident)

Scheinbar sind die Entwickler Gamer. Das lässt sich aber sehr leicht ändern: Profile / Tweaks / Look & Feel: „Classic“ anstatt „Manga“ auswählen. Schon sieht die App nicht mehr aus wie Minecraft, sondern schon fast so langweilig wie die Android Einstellungen :sweat_smile: