Category: News
Security of the updates automation
Automation is one key factor that lets the small F-Droid team provide apps
to millions. The @checkupdates-bot
is a new reworking of an old piece of automation in F-Droid:
checkupdates. This goes through all of the existing apps, checks if they
are set up for automatic updates,
and if so, runs the process to automatically generate a new build entry for
that release. That gets added to
fdroiddata, which is what the
production buildserver processes in order to build and ship apps.
Since the best security is provided by systems that follow the principal of
least
privilege, we
recently reorganized our setup and workflow around that principal so that
the @checkupdates-bot has the least privileges needed to do its job. The
checkupdates process now runs in its own isolated project, separate from
fdroiddata and any other F-Droid project on gitlab.com. It now only
pushes commits to its own dedicated
project, then makes
a merge
request
per app to fdroiddata. Both our automated CI processes and our trusted
human reviewers now handle all updates using the same process as for new
apps.
At the same time, we removed a key bit of cruft in our code:
stats/known_apks.txt. This file was the place that stored the dates when
each app was added to the collection. This file was updated on the
buildserver and maintained in fdroiddata. That information is also in
the index file, so we
switched to
fetching it from there instead. That meant we could remove the last deploy
key in use in fdroiddata. Our operations no longer require any deploy
keys in fdroiddata.
While we were at it, we added some additional checks via the merge
requests. For example, now any time an image file is added or modified, a
CI job checks
whether the image contains any EXIF metadata, which can be used as an
exploit vector. We also added some additional enforcement to make sure
changes to key files go through human review via merge requests.
Security issue as inspiration
About a month ago, @SomberNight reported a
security issue to us
in a confidential issue. We appreciate this detailed report, and also want
to highlight their diligent follow up. In specific situations, the old
setup was leaking the private deploy key which granted access to directly
push commits to fdroiddata. We immediately revoked that key, then removed
all privileges from the @fdroidci user that
was associated with that private key. We also investigated all the leads we
could follow to see if someone had used this key to insert something into
F-Droid. We searched the activity of the @fdroidci user and found no
evidence that unauthorized commits were added.
To be sure, we did some additional investigations. Since checkupdates had
been running as part of the fdroiddata project on gitlab.com, a malicious
app build recipe could have also read the CHECKUPDATES_SSH_DEPLOY_KEY
variable which contained the private key. We checked fdroiddata’s history
for signs of exfiltration and found nothing. We require that apps are built
from source code, and that source code is in a source code management system
like Git. That ensures a local copy with history is retained on our
buildserver. We searched our local copy source code and found no evidence
that any app build processes where trying to exfiltrate the checkupdates
private key.
Do you have more ideas for things to search? Please dig in and let us know
if you find anything suspicious. Working in public means everyone is free
to investigate and come to their own conclusions, and contribute to a more
secure free software ecosystem on Android.
Support my attempt to find out if you can do NFC tap-to-pay without big tech
La meilleure application sur iPhone de l’année
45 finalistes, 17 gagnants. Tous les ans, Apple organise les Oscars des applications. La cérémonie des « App Store Awards », qui a eu lieu le 10 décembre 2024 à New York, a vu 17 développeurs recevoir un petit trophée bleu beaucoup plus lourd qu’il n’en a l’air. La marque, dans une ode au secret digne de sa réputation, n’avait pas annoncé aux lauréats la raison de leur venue. Eux pensaient s’être déplacés pour une séance photo en tant que finalistes, mais Apple leur a dévoilé qu’ils avaient gagné quand ils se sont assis devant la caméra.
Depuis le début d’année, les équipes de l’App Store essayent quotidiennement des applications et des jeux afin de préparer ce bilan annuel, qui pourrait bien changer la vie des développeurs sélectionnés. Apple a choisi début décembre 45 finalistes, puis a désigné une application par catégorie. Numerama vous présente les 11 applications qui ont gagné les App Store Awards 2024 (en plus des 6 autres désignés comme choix culturels).
Harvest Moon: The Winds of Anthos schickt euch mit einem mobilen Bauernhof durch eine Open World
Die Spiele basieren auf dem originalen Harvest Moon von Entwickler Marvelous, der heute für die Reihe Story of Seasons bekannt ist.
Harvest Moon: The Winds of Anthos gibt es für PS4, PS5, Xbox One, Xbox Series, Nintendo Switch und PC.
LostCarPark Drupal Blog: Drupal Advent Calendar day 12 – Dashboard track
james
Thu, 12/12/2024 – 09:00

We are half way through our Advent Calendar, and we open with some exciting news. The first Drupal CMS Release Candidate is now available. We have been busy trying it out, but managed to take some time out to prepare today’s Advent Calendar, with some help from Matthew Tift. Over to you, Matthew.
The first page a user encounters after logging into a Drupal site is pivotal. It sets the tone for their entire experience, often defining how they will interact with the system.

But with the introduction of the Dashboard initiative, that first page is about to change.
This initiative, inspired by a core…
Ruby Version Manager 4 Windows v1.0.0 released
It is inspired by the rvm.io project for Unix systems and provides a similar user experience for Windows users by providing a compatible command line interface.
The Ruby Version Manager for Windows is a command line tool that allows you to easily install, manage, and work with multiple Ruby environments from interpreters to sets of gems.
It even works with the classic Windows command line aside from Powershell and is based on the x64 binaries provided by the RubyInstaller project.
Its goal is not to 100% reimplement all features of rvm.io, but the most important and common ones by preserving most of the same command line interface. Some special Windows related stuff is added as well.
More information can be found on the rvm-windows Github repository.