Ich denke das Problem hier ist ein unzureichender Pull Request Review Prozess. Normalerweise stellt ein Contributor eines Open Source Projekts einen Source Code Änderungsvorschlag. Danach wird dieser Vorschlag idealerweise von mehreren anderen Contributors durchleuchtet und idealerweise auch von einem Maintainer geprüft. Sind alle Checks erfolgreich, kann die Änderung gemerged, also für alle bereit gestellt werden.
Sollten für die Änderung Binaries notwendig sein, muss auch der Quellcode des zugehörigen Binaries überprüft werden. Dessen Source Code ist meist ebenfalls Open Source und somit einsehbar oder falls nicht, sollte er zumindest von einer vertrauenswürdigen Quelle verantwortet werden.
Dieser Überprüfungsschritt ist hier durch die Unterwanderung ausgehebelt worden. Da man einen, rückblickend betrachtet, nicht vertrauenswürdigen Maintainer berufen hat, fielen beide Überprüfungsschritte quasi aus.
Natürlich kann das in einem Closed Source Projekt auch passieren (ich bin mir sicher, dass mindestens Sicherheitsdienste regelmäßig Leute in IT Firmen schmuggeln um Lücken zu platzieren oder zu explorieren), aber in CS Projekten wie sie vor allem von Firmen betrieben werden ist die Hürde durch Auswahlprozesse minimal höher. Einen fähigen Entwickler-CV wird zwar auch keine Firma ablehnen, aber ob man dann ins passende Team kommt? Außerdem wird der Background zumindest grundlegend im Bewerbungsgespräch gecheckt. Eine große Hürde ist das in der Praxis aber sicher nicht.
Ich wüsste auch keinen Weg wie man dieses Problem, außer durch besseres Testing, das leider naturgemäß immer erst retrospektiv eingeführt wird (wer testet denn schon auf die Runtime seines Codes im ms-Bereich), nachhaltig lösen kann. Und selbst wenn das Testing einen potenziellen Fehler meldet kann ein kompromitierter Maintainer die Änderung trotzdem durchwinken. Das einzige was nachhaltig hilft ist ein verschärfter PR Prozess (Erweiterung des Mehr-Augen-Prinzips), aber das reduziert die Developer Efficiency und erhöht die Time to Market, also die Dauer eines Features bis zum Release. Oder es benötigt zumindest viel mehr öffentliche Unterstützung (mehr finanzielle Unterstützung des Projekts zu dessen Professionalisierung oder mehr gesellschaftliches Engagement, also freiwillige Tester und Reviewer).
Beides sehe ich nicht kommen. Stattdessen sinkt aktuell die Code Quality durch den Einsatz von Copilots [1] durch, wie ich vermute, gestresste oder unerfahrene Entwickler, was solche Attacken zukünftig noch erleichtern könnte.
Welche Ansätze fallen dir ein dieses Problem zu lösen?
1 Coding on Copilot: 2023 Data Suggests Downward Pressure on Code Quality (incl 2024 projections) - GitClear