Ich bin auf PHP CLI angewiesen, wenn es um persönliche und (hoffentlich bald) professionelle / geschäftskritische "Geschäftslogik" geht. (Dies könnte jede andere Sprache sein, und das exakt gleiche Problem würde immer noch bestehen. Ich gebe nur an, was ich persönlich aus Gründen des Kontexts verwende.)
Im größtmöglichen Umfang codiere ich immer alles weiter mein eigenes. Nur wenn dies unbedingt erforderlich ist, greife ich widerwillig auf die Verwendung einer Bibliothek eines Drittanbieters zurück. Für einige Dinge ist dies einfach notwendig. Zum Beispiel E-Mail-Analyse und andere sehr komplizierte Dinge wie diese.
Zum Verwalten solcher Bibliotheken von Drittanbietern verwende ich PHP Composer. Es ist ein Bibliotheksmanager für PHP. Es kann Bibliotheken und ihre Abhängigkeiten herunterladen und mit Befehlen aktualisieren, die anderen "Paketmanagern" ähneln. In praktischer Hinsicht ist dies viel schöner, als dies manuell zu verfolgen und ZIP-Dateien manuell herunterzuladen, zu entpacken und alle möglichen Probleme zu lösen. Es erspart zumindest eine Menge praktischer Kopfschmerzen.
Das grundlegendste Sicherheitsproblem besteht jedoch weiterhin: Ich habe keine Ahnung, was dieses "installiert" ist. Code enthält, noch weiß ich, was bei jedem Update hinzugefügt / geändert wird. Einer der Autoren der Bibliotheken könnte eines Tages leicht kompromittiert worden sein, als mein Composer Updates abruft, was dazu führt, dass meine PHP-CLI-Skripte plötzlich meine Bitcoin wallet.dat an einen Remote-Server senden, eine RAT / einen Trojaner auf meinem Computer installieren oder noch schlimmer. Tatsächlich hätte es schon passieren können, und ich wäre nicht klüger. Ich habe einfach keine Ahnung. Ich kann logischerweise keine Ahnung haben.
Meine eigene Codebasis umfasst insgesamt etwa 15.000 Zeilen. Ich brauche über ein Jahr, um diese Codebasis sorgfältig durchzugehen. Und das ist Code, den ich geschrieben habe und den ich genau kenne ...
Mein "Composer" -Verzeichnisbaum befindet sich derzeit in über 120.000 Codezeilen . Und das ist für die minimale Anzahl von entscheidenden PHP-Bibliotheken, die ich brauche. Ich verwende nur sehr wenige, aber sie haben verschiedene Abhängigkeiten und sind im Vergleich zu meinem eigenen Code insgesamt sehr aufgebläht.
Wie soll ich das alles jemals "überprüfen"?! Es wird einfach nicht passieren. Ich "Zone out" sehr kurz nach dem Versuch. Ich weiß nicht einmal, wie ich es durch eine weitere "Tierarztrunde" von meinem eigenen Code schaffen werde - geschweige denn diese 10x größere, von anderen Leuten codierte.
Was genau meinen sie, wenn Leute sagen, dass es ein "Muss" ist, "Code von Drittanbietern zu überprüfen"? Ich stimme auch zu, dass es ein "Muss" ist, aber dann gibt es die lästige Realität. Ich werde einfach nie die Zeit und Energie haben, dies zu tun. Außerdem habe ich offensichtlich nicht das Geld, um jemand anderen dafür zu bezahlen.
Ich habe unzählige Stunden damit verbracht, etwas über Docker zu lernen und zu sehen, ob es eine Möglichkeit gibt, die ich könnte Diese nicht vertrauenswürdigen Bibliotheken von Drittanbietern "einkapseln", aber es ist ein verlorener Kampf. Ich fand es absolut unmöglich, das in Gang zu bringen oder eine meiner vielen Fragen dazu zu beantworten. Ich denke nicht einmal, dass es so möglich ist, wie ich es mir vorstelle.