S1 E1943:50

Secrets Not Included: Wenn KI Pentests fährt und Composer endlich härter wird

Hosts

Von TYPO3-Clustering in Kubernetes über KI-gestützte Pentests bis zu manipulierten Open-Weight-Modellen: In dieser Folge sprechen Daniel und Ole über technische Überraschungen, neue Sicherheitsrisiken und echte Fortschritte in der PHP-Supply-Chain. Außerdem: warum KI manchmal grandios hilft – und manchmal den Spaß am Programmieren klaut.

Transkript anzeigenTranskript verbergen
Daniel Langemann

Herzlich willkommen bei Secrets Not Included. Heute darf ich mal die Einleitung machen und wir machen heute eine sehr schöne Runde über mehrere Themengebiete, die wir uns ausgesucht haben. Womit wollen wir starten, Ole? Was liegt dir so richtig am Herzen heute?

Kai Ole Hartwig

Das liegt mir am Herzen. Das ist zu warm, Daniel.

Daniel Langemann

Ja, was auch.

Kai Ole Hartwig

Wir sollten über Klimatisierung in Büros reden. Das liegt mir am Herzen. Du hast gefragt, was mir am Herzen liegt. Welches der Themen, die wir eben kurz angesprochen haben. Aber vielleicht... Etwas, was mich sehr überrascht hat, seitdem wir das letzte Mal aufgezeichnet haben, ist etwas passiert, mit dem ich nie in meinem Leben gerechnet hätte. Und ich blogge wirklich lange und es ist passiert, dass ich bei The Hacker News und anderen Videos Sachen mit einer Analyse einer Sicherheitsdöcke gelandet würden.

Daniel Langemann

Ja, ist doch schön.

Kai Ole Hartwig

Also, ja, vielen Dank.

Daniel Langemann

Also erstmal Glückwunsch.

Kai Ole Hartwig

Ich wurde da sehr überrascht von, weil ich wurde vorher nicht irgendwie angeschrieben oder so. Ich wurde einfach zitiert und verlinkt. Vielen Dank erstmal dafür, wer auch immer das gemacht hat. Ich hoffe, Google, YouTube macht langsam das Autotranslate und übersetzt es jetzt einfach ins Englische. Ähm, So, fand ich auf jeden Fall, hat mich mega überrascht, mega gefreut. Bin ich mega dankbar für, auch dass es jetzt ins Russische, Chinesische, Japanische und Portugiesische übersetzt wurde.

Daniel Langemann

Wir sind international. Mr. Business. Ja. Ja.

Kai Ole Hartwig

Yay! Das heißt, auch die Mosel-Wahl.com wird jetzt häufiger aufgerufen als die moselwal.de. Ja, also ganz im Ernst, ich habe mich einfach mega darüber gefreut, weil halt ich mir schon irgendwie echt Arbeit mache mit den Dingern und es hat mich einfach mega gefreut. Ja, dass andere Leute denken, dass ich schlaue Sachen dazu schreibe.

Daniel Langemann

Wie konnte das passieren? Wir gucken in unserem Podcast nicht. Und die automatische Übersetzung entfernt dann die dummen Sätze von uns. Sehr gut.

Kai Ole Hartwig

Ja, da wir auf Deutsch quatschen und die Musse war komm auf Englisch, ist fürchte ich... schauen die den nicht unbedingt, Daniel. Sonst hätten die natürlich auch eher dich zitiert als mich. So. Ja. Also ich fürchte, dass sie uns nicht schauen, liegt einfach an der Ich weiß aber auch nicht, ob wir jetzt Secrets Not Included noch auf Englisch jede Woche aufnehmen wollen.

Daniel Langemann

Nee.

Kai Ole Hartwig

Nicht?

Daniel Langemann

Mal gucken. Mal gucken. Also, ich sage niemals nie.

Kai Ole Hartwig

Mal gucken. Das ist das...

Daniel Langemann

Ich habe schon viele Sachen gemacht, wo ich vorher gesagt hätte, würde ich nie machen. Deswegen, ich schließe es nicht aus, aber ich glaube nicht, dass ich so locker frei davon reden kann. Und das ist ja das, was ich eigentlich bei uns beiden genieße. Das ist ja weniger geskriptet, also dass wir uns wirklich hinsetzen und sagen, so, wir müssen das Thema haben, das muss das Fazit sein, Anfang, Ende, Schluss. Und das ist alles fertig durchgeschrieben, sondern wir sind planlos, beschmeißen uns fünf Minuten vorher mit irgendwelchen Ideen und versuchen dann irgendwie den roten Faden so halbwegs zu halten.

Kai Ole Hartwig

Also ich würde nicht sagen, dass wir planlos sind, aber wir sind sehr erfahren und deswegen brauchen wir sehr wenig thematische Vorbereitung. Wir haben ja in der Regel schon eine Idee, worüber wir reden wollen, ja. Und, ähm,

Daniel Langemann

Das kann

Kai Ole Hartwig

Und manchmal weichen wir dann vom Thema ab, weil uns so links und rechts halt einfach noch Dinge einfallen dazu. Ich finde, das ist eigentlich eine gute Eigenschaft, so viel Erfahrung zu haben, dass man das machen kann. Weil stell dir mal vor, wir müssten jedes Mal wirklich unseren Podcast vor uns kippen und diese Themen nachschlagen und könnten halt nicht deep dive reingehen in Themen. Mir wäre das ehrlich gesagt auch zu anstrengend.

Daniel Langemann

Ja, ja, genau.

Kai Ole Hartwig

womit wir eigentlich bei einem schönen Übergang sind, anstrengend. Wir hatten ja beim letzten Mal über Kubernetes gesprochen und darüber, dass ja Typo3 irgendwie so ein paar Herausforderungen bietet, wenn man das geklustert betreiben möchte.

Daniel Langemann

Das war's. Du hattest von dem System Cache, glaube ich, gesprochen. War das denn?

Kai Ole Hartwig

Ja, von einem der Caves.

Daniel Langemann

Oder einem der Caches, genau.

Kai Ole Hartwig

Also Typo3 ist ja so ein bisschen verrückt in Caching, was es gibt. Und es gibt da ja den File Cache oder es gibt das File Cache Backend und das Simple File Cache Backend. Und wenn man sich jetzt überlegt, man betreibt einen Typo3 Cluster gerade in Kubernetes und macht dynamisch mehr und weniger, also vertikal alles skalieren hier. Nicht, dass jemand wieder kommt, der Ole kennt keine Fachbegriffe. wo wo war ich jetzt genau so und und die gibt es und die da steht so ein halbsatz in der doku und der hat glaube ich mich und auch andere personen mit die sehr sehr schätze mit denen ich zusammengearbeitet habe über jahre immer von einer idee abgehalten also diese idee überhaupt zu haben Nämlich, dass diese Caches, ja, dass man Lokal-Cachen und Zentral-Cachen nicht mischen soll. Und jetzt ist ja in Kubernetes, also im klassischen Cluster funktioniert das, ja, dann packst du dir halt fünf Server nebeneinander und packst auf jedes Ding halt nochmal ein Redis drauf und bist glücklich, wenn du sagst, oh, wir machen kein zentrales Caching, sondern dann machst du halt lokal und alles ist cool.

Daniel Langemann

Mhm.

Kai Ole Hartwig

Das kannst du ja machen. Du kannst auch Datenbanken irgendwie ein bisschen splitten und sagen, oh, die Cache lege ich jetzt aber lokal ab. So, aber im Kubernetes ist das ja keine gute Idee, weil dann verstößt du halt gegen ein Port, ein Service oder ein Container, ein Service und, ähm, dann ja irgendwie so durch die Gegend, ah, okay, wir müssen irgendwie dieses Cash-Löschen, müssen wir auf alle Pots verteilen oder wir müssen halt diese, dieses Ding machen mit irgendwie anders diese Fake-Cash-Share und alles ist irgendwie doof.

Daniel Langemann

Oh ja.

Kai Ole Hartwig

fass das mal kurz zusammen. Also du hast extreme Performance Bottlenecks. Es ist nie geil. Und in der Vergangenheit sind wir hingegangen und haben halt gesagt, okay, wir brauchen einen Clear Cache Distribution Service oder ähnlich benannt.

Daniel Langemann

Mhm.

Kai Ole Hartwig

Haben wir in den Jahren auch unterschiedlich benannt oder fast Jahrzehnten. Ich bin mir gerade noch nicht mal so sicher. Auf jeden Fall in der Vergangenheit haben wir das so gemacht, dass wir halt einen Service gebaut haben. Wir hatten Clear Cache bekommen von einem der Dienste, wo man halt gerade gesagt hat, ja, hier soll jetzt gelehrt werden und hat das dann auf alle Pots verteilt. Und Jetzt bin ich auf jeden Fall, ich glaube, ich lag in der Badebahn oder so. Und das ist so, ja, wie das archimedische Prinzip. Im Prinzip.

Daniel Langemann

Danke für das Kopfkino. Ich sehe dich schon nachts da rumlaufen, die Straße lang. Dann mein Beileid für deine Frau.

Kai Ole Hartwig

Ja, zum Glück nicht die Straße lang. Sondern ich musste nur mein Handy zücken, um das dann mit der KI zu diskutieren. beziehungsweise im Prinzip ist das Badezimmer mit der Badewanne hinter dieser Wand hinter mir, ja. So, meine Nachbarn wurden nicht belästigt.

Daniel Langemann

Das Bild kriege ich nicht mehr aus dem Kopf. Freut mich. Und dann bist du aufgesprungen so, Heureka! Ich hab...

Kai Ole Hartwig

Ja, ja, so ungefähr. Bin dann tatsächlich sehr spontan aus der Badewanne, ich war noch gar nicht so lange in der Badewanne, und... habe dann die Textback runtergeschrieben für ein Cluster-File-Cache-Backend. Weil mir die Idee gekommen ist, weil ich es endlich verstanden habe, das Problem ist an diesen File-Backends, wie gecached wird. Nämlich, dass wenn die Datei nicht da ist, geht das System davon aus, ah ja klar, okay, hier fehlt die Datei, also wurde ein Clear Cache gesendet,

Daniel Langemann

Mhm. Mhm.

Kai Ole Hartwig

Also muss ich mit einem neuen Hash die Dateien neu schreiben. Jetzt habe ich drei oder fünf oder wie auch immer viele Pods laufen. Dann schaut er immer wieder, und diesen Hash schreibt er sich in die Datenbank irgendwo weg. da. Schreibt die Datei wieder neu. Und da der das immer wieder macht, hat man...

Daniel Langemann

Der Zustand des Caches oder Werte des Caches, um den Cache zu generieren, landen in der Datenbank in dem Pod oder in jedem einzelnen Pod unterschiedlich. Und dann versucht er mit diesem Wert im zentralen Storage zu gucken, zu sagen, guck mal, gibt es nicht, also muss ich neu machen.

Kai Ole Hartwig

Der Hash dafür, welcher es sein müsste.

Daniel Langemann

Und dann laufen die in der Reihe, treten sich dann gegenseitig auf die Füße die Angelegenheit.

Kai Ole Hartwig

Ja. Ja, dann kommst du ja in so Situationen, dass du für den Deadlocks schreibst, weil immer wieder versucht wird, neu zu cachen und die Daten zu holen und so Sachen.

Daniel Langemann

Mhm. Mhm.

Kai Ole Hartwig

So, dann geht deine File-IO hoch. also irgendwie dumm oder keine performante lösung wenn du dann anfängst das zu scheren und so sachen also habe ich gesagt ich habe ja eh ein key value warum schreibe ich nicht diesen state des cashings in den key value store

Daniel Langemann

ungefähr. Mhm.

Kai Ole Hartwig

Ja, genau. Und schreibe aber den File-Cache einfach auf jeden Pod und habe einfach einen File-Metadata-Cache in Redis liegen. Der regelt, ob irgendwo etwas neu geschrieben wird. aufgeräumt. Also über einen Scheduled-Job. Und... Ja, so, und ich lösche quasi nur noch den File Metadata Cache im Key-Value-Store weg, also im Redis oder Volkey, und bin jetzt total glücklich, weil ich auch noch aus Versehen dabei ein Performance-Bottleneck im Caching-Framework umgangen habe. Und dieses Cluster-File-Backend jetzt selbst beim Single-Pot-Betrieb oder Single-Server-Betrieb schneller funktioniert als das File-Back und das Simple-File-Backend.

Daniel Langemann

Das heißt, du hast jetzt aber auch eine zentrale Stelle, wo die Metadaten zum Cache, also dieser Filehash gespeichert ist, du kannst nur den theoretisch löscht, auch noch in allen Pots invalidieren, den Cache.

Kai Ole Hartwig

Ja.

Daniel Langemann

Also jetzt umgekehrt, was du gesagt hast, du hast ja früher mal einen Service gebaut, der dann das Löschen orchestrieren musste, damit das überall funktioniert. Jetzt umgekehrt, wenn du im Redis diese Metadaten vorhältst oder entfernst, müsste dann auch jeder Pod auch einen neuen Filecache bauen, oder nicht?

Kai Ole Hartwig

Ja. Ja, genau. Das ist das, was ich mache. Ich dachte, ich hätte das gesagt. Vielleicht war ich einfach nicht so eindeutig.

Daniel Langemann

Jetzt habe ich mich glück gefühlt, weil ich selber drauf gekommen bin. Oh, cool.

Kai Ole Hartwig

So, So, habe ich Performance-Tests gegen gefahren, habe dann ein bisschen, also habe ein paar Iterationen gebraucht, bis es tatsächlich so schnell war. So, habe ich jetzt im Einsatz, wird, wenn wir diese Folge veröffentlichen, vermutlich auch schon Open Source sein. So, ähm. Also sprich, manchmal diese Kubernetes-Betriebsprobleme, manchmal sind das auch Probleme, die man sich selber macht, weil irgendwo in der Doku steht, nee, das geht so nicht. Und ja, natürlich, es stimmt, mit den Core-Dingern geht das nicht. Man muss sich was Eigenes bauen. Punkt. So, aber was Eigenes bauen, in dem Fall nicht irgendeinen Service, der irgendwie diese Cache löscht, sondern ein Service, der das File-Caching effizienter abwickelt.

Daniel Langemann

Kennst du diesen ekelhaften Motivationsspruch, ne? Alle sagten, es geht nicht, bis jemand kam und nicht wusste, dass das nicht geht, ne?

Kai Ole Hartwig

Ja, das ist ganz ehrlich, ich erlebe das so häufig, dass irgendwelche Junior-Entwickler halt mit einem völlig losgelösten, frischen Blick in Projekte reinkommen, wenig Erfahrung, sage ich mal, im Vergleich zu Senior-Entwicklern oder zu Juniors, die auch länger in diesen Projekten drin sind, ja, genau gleiche Effekte ja bei Freelancern, die von außen reinkommen, die sagen, naja, das ist ja gar kein Problem, das Problem, was angeblich da ist, lösen und dann kommt nachher, das geht aber ja gar nicht, ja, doch, funktioniert ja, ist auf Brot deployed, wo ist das Problem?

Daniel Langemann

Ja, genau. Ich habe es schon gelöst. Ja.

Kai Ole Hartwig

So, ja, und ich finde, das ist halt so ein gutes Zeichen. Ich hätte es auch ehrlicherweise ohne KI-Support nie so schnell und in der Tiefe validieren und lösen können. Ja, also muss man auch so sehen, oder muss ich zu meiner Schande gestehen, ähm, Die KI hat beim Analysieren dieses Problems und beim Lösen des Problems extrem gut geholfen, weil ich mich halt nicht mehr selber durch den Chor durchwühlen musste. Ich habe das vor Jahren schon öfters getan. Also ich wusste relativ gut, okay, dass das Problem existiert und das ist real. Und so, dann hatte ich halt diese...

Daniel Langemann

Aber das ist eine grundlegende Sache, wie du KI einsetzt. Und du beschreibst das gerade super, dass du KI nicht zum Generieren von Code nutzt oder beziehungsweise um Features bauen zu lassen, sondern gerade für Recherche und Validierungen. Sachen, die dich unnötig Zeit kosten, wo du dich durch 15 oder 20 Design-Patterns durchklicken musst, um zu verstehen, was wann wo passiert. ist ja, und als Experte bist du ja geistig, also tief genug im System drin, du hast genug Expertise, um genau die richtige Frage zu stellen, zu sagen, was kann ich mit diesem Cache machen oder geht das anders? Und dann ist auch die KI, dann hat die genug Infos und kann loslaufen und präsentieren.

Kai Ole Hartwig

Ich habe sogar tatsächlich die Fragen anders gestellt. Ich habe gefragt, erinnere ich mich richtig, dass dieses und dieses Verhalten in dem Cash so existiert?

Daniel Langemann

Ja, siehst du, dann hast du das, was du geschrieben hast.

Kai Ole Hartwig

So, jetzt ist natürlich das tiefe Systemwissen da und dann habe ich aus den Erkenntnissen aber nachher auch die Specs mehr oder weniger generieren lassen und tatsächlich nur Tests implementiert und den Rest dann aber von der KI implementieren lassen anhand der Tatsache, dass die Tests grün werden mussten und dass die Specs erfüllt sein mussten.

Daniel Langemann

Ja, go ahead.

Kai Ole Hartwig

Also die KI hat es dann doch irgendwo geschrieben, aber ich sage jetzt mal, dieses Recherche hat das extrem vereinfacht und auch das Validieren extrem vereinfacht. Und dann halt mit diesen Leitplanken, um beim Deutschen zu bleiben, hat das dann sehr, sehr schnell, sehr effektiv tatsächlich das gemacht und wirklich auch

Daniel Langemann

Vielen Dank.

Kai Ole Hartwig

in einer guten Qualität geschrieben, dadurch, dass ich halt auch jetzt im Tooling einfach Abläufe festgelegt habe. Ja, sowas wie PHP-Stan läuft durch. Die Coding-Standards werden gecheckt und so. Also er fällt bei mir sehr früh aufs Knie rein von dem Ablauf, der mittlerweile da drin ist. Womit wir aber zu einem...

Daniel Langemann

Manchmal habe ich das Gefühl, das ist tagesformabhängig, aber ja. Mhm.

Kai Ole Hartwig

Ja, womit wir zu einem ganz anderen Thema, als wir eben besprochen haben, gekommen sind. Ich hatte ja mal vor einiger Zeit, ich weiß gar nicht, ob wir darüber gesprochen hatten, schon darüber, also bin ich in dieses Antropic Cyber Professional Program oder so aufgenommen worden. Also kannst du beantragen und wirst dann aufgenommen. Aber die KI ist quasi selbstständig bei mir um die Ecke gekommen und hat gesagt, du machst spooky Sachen hier, die sind in den Cyber Security Gateways nicht erlaubt. Hier kannst du einen Antrag, also hier kannst du ein Formular ausfüllen. Und dann entscheiden wir, ob wir quasi diese Sicherheit rausnehmen und du das machen darfst. Und was ich jetzt kann und was ich total geil finde, ist, ich kann jetzt mit der KI Pentests fahren.

Daniel Langemann

Gut oder schlecht? Gut.

Kai Ole Hartwig

So. Und wir haben ja einige Systeme, die regelmäßig durch Pentests gehen. Und eins von diesen Systemen habe ich mir Ja, es war erschreckend. Im offiziellen Pentest Pentest ist es dem Tester nicht gelungen, von außen ins System einzudringen. Wenn er im System drin war, konnte er Privilege Escalation an einigen Stellen machen oder den Nail of Service.

Daniel Langemann

Mhm, krass.

Kai Ole Hartwig

Das wurde dann gefixt alles. alles cool. Jetzt habe ich mit dem aktuellen Stand den Pentest fahren lassen gegen das aktuelle System, System, mit der Erkenntnis und auch dann nochmal gegen den alten Stand, dass die KI es geschafft hat, in das System von außen einzudringen und die Schreibenden Zugriff auf die Datenbank zu bekommen. Ja, hat dann 17 Sicherheitsstücken gefunden. In dem offiziellen Pentest wurden sieben gefunden. ist.

Daniel Langemann

Mhm.

Kai Ole Hartwig

Und... Es hat mich etwas erschrocken, ehrlich gesagt. Die Sicherheitslücken in unserem System haben wir natürlich geschlossen. Da muss jetzt keiner mehr probieren. Die sind geschlossen. Aber ich überlege tatsächlich, dass wir jetzt Pentests irgendwie auf, also KI-geführte Pentests als regelmäßigen Job vielleicht in CICD oder in irgendeiner anderen Form mit unseren Patterns aufnehmen in unserer Entwicklungsarbeit.

Daniel Langemann

Ist das etwas, was man so nebenbei laufen lassen kann oder ist das eher so, dass man das, weiß ich nicht, sagt, einmal im Monat, alle zwei Wochen, keine Ahnung, wo man sich wirklich aktiv hinsetzt und sagt, so was waren die letzten, also andersrum. Lässt man das einfach immer wieder stupide laufen oder ist das so ein Beispiel dafür, wie du hast genug Grundwissen, wie du jetzt zur Recherche vorhin auch brauchtest und sagst, guck mal, das ist das System, versuch mal über diese Stelle reinzukommen oder die und die Stelle haben wir jetzt verändert, versuch die mal explizit zu testen. Also ist das so etwas, wo du sagst, ich würde das einfach immer wieder stupide laufen lassen, versuch mal von außen reinzukommen oder wirklich so punktuell zu sagen, ich guck mal, was da Neues ist, was sich geändert hat. Mhm.

Kai Ole Hartwig

Ja, ich denke, das ist eine Mischung aus beiden. Also zum einen musst du da schon sehr spezifisch sein und bestimmte Sachen auch freigeben. Also der geht nicht automatisch hin und zerstört deine Datenbank oder ähnliches. zumindest nicht im Pentest. Wenn du irgendwelche komischen Dinge tust, dann möchte ich das nicht ausschließen, aber in diesem Pentest-Modus, wenn du ihm sagst, okay, ich möchte, dass du einen Pentest durchführst auf dieses System und und das sind quasi die Wege,

Daniel Langemann

Mhm.

Kai Ole Hartwig

die du machen kannst. Oder du kannst es auch sehr offen formulieren. Du kannst auch sagen, hey, hier habe ich das System. ich möchte, dass du wie ein normaler Besucher versuchst, von außen das System einzudringen, für hier bitte ein Pentast durch. Dann ist es so, dass du Rückfragen bekommst, wie weit Cloud gehen darf. Und dann läuft es, ab dem es gestartet ist, durch und wird dir auch einen ausführlichen Bericht geben. Also es schreibt erst einen Plan.

Daniel Langemann

Ja. Cool. Geil. Also...

Kai Ole Hartwig

Du solltest den Planmodus quasi starten, damit der Plan einmal ausgeschrieben wird. Und dann quasi im Automodus durchlaufen lassen. durch. Und ja, hackt sich dann halt in dein System ein. So, und da waren auch drei wirklich kritische Sicherheitsunternehmen. mit einer hohen 9er Bewertung. Jetzt könnte ich natürlich sagen, ja, das war alles in Komponenten, die nicht von mir sind.

Daniel Langemann

Genau, immer erstmal Fingerpointing auf die anderen. Aber ändert ja nichts daran.

Kai Ole Hartwig

Zwei Sachen waren auch einfach eine Config, die anders besser funktioniert und mehr absichert.

Daniel Langemann

Krass.

Kai Ole Hartwig

Ja, also

Daniel Langemann

Also nicht so offensichtliche Sachen wie SQL Injection hier oder so Standardsachen.

Kai Ole Hartwig

Nee, nee, ganz raffiniert. Also es hat auch Cash-Poisoning angewendet dafür und so Sachen.

Daniel Langemann

Krass. Besonders.

Kai Ole Hartwig

Also das Vorgehen war schon wirklich ausgefeilt.

Daniel Langemann

Mhm.

Kai Ole Hartwig

Der Weg, wie es eingedrungen ist, ich möchte da jetzt nicht zu sehr ins Detail gehen, war auch wirklich wirklich raffiniert. Ich war wirklich beeindruckt. Also der Plan klang schon wo ich so dachte, boah, das ist jetzt aber, hätte ich jetzt einfach nicht erwartet. Und ist dann auch wirklich, war der Plan erfolgreich. Das hat mich noch mehr überrascht. So, ja, also ich bin das ja von menschlichen Pentestern gewöhnt. Die verraten ja ihre Pläne auch nicht. Das ist auch völlig in Ordnung. Natürlich im Nachgang kennt man dann die Pläne und weiß, wie wurde vorgegangen, gerade wenn Lücken entdeckt wurden, damit man auch validieren kann. Hier kennt man sie vorher und es war auch wirklich spannend zuzuschauen. Ich habe da jetzt mir die halbe Stunde quasi genommen und zugeschaut, was er macht.

Daniel Langemann

Ich wollte gerade fragen, was ist so das Zeitfenster, wie lange sowas durchläuft? Also das hat eine halbe Stunde, Stunde?

Kai Ole Hartwig

Ja, mit Vorbereitung und Nachbereitung war das eine Stunde, der Test an sich. Und dann würde ich sagen, so nochmal vier Stunden, um die Sicherheitslücken zu schließen.

Daniel Langemann

Kann man jetzt sagen, dass alle Pentester arbeitslos werden demnächst?

Kai Ole Hartwig

Ja, natürlich unbedingt. Genau wie alle Entwickler arbeitslos werden. Ich glaube, oder mein Eindruck ist, Es ist ein Werkzeug, mit dem wir Software sicherer bekommen. Es wird die Pentest-Welt, die ich zumindest kenne, ich bin da ja nicht so megativ jeden Tag drin, ich bin da ja immer wieder Gast, ist, weil ich auf der anderen Seite stehe, ich bin ja immer derjenige, der versucht, die Tür zuzudrücken, während jemand mit der Axt versucht, reinzukommen. Ich denke, diese Testwelt wird sich verändern, weil du jetzt natürlich in der Lage bist, in kürziger Zeit viel intensiver zu testen.

Daniel Langemann

Ja.

Kai Ole Hartwig

Ich sehe da große Vorteile drin. Es sind natürlich auch Risiken. Es ist gut, dass nicht jeder diese Tests einfach random ausführen kann. Und auf der anderen Seite finde ich es aber auch extrem cool, dass man halt quasi den Status bekommen kann, dass man das tun darf.

Daniel Langemann

Ich meine, okay, Grundsatzfrage wäre jetzt, ist das gut, dass das nicht jeder ausführen darf oder nicht? Weil wenn es jeder dürfte, dann sagen wir, die bösen Jungs würden das natürlich auch machen und auch ausnutzen. Aber würde es nicht dazu führen, dass alle Applikationen besser werden und dass zum Beispiel auch gerade Open Source extrem davon profitieren könnte, wenn Open Source Entwickler halt nicht dafür zahlen müssten oder zum Beispiel kostenlos Zugang zu sowas hätten, um Open Source Software einfach per Default viel sicherer zu machen? Ja, okay.

Kai Ole Hartwig

Ja, bestimmte, also sowas wie die Linux Foundation oder so, die haben ja tatsächlich Budget bekommen dafür.

Daniel Langemann

Geil.

Kai Ole Hartwig

Also haben Token bekommen, um das zu machen.

Daniel Langemann

Ja, das ist gut.

Kai Ole Hartwig

Mein Eindruck ist, es passieren da entsprechende Dinge. Antropic hat jetzt ja überraschenderweise auch veröffentlicht, dass sie Gewinn machen.

Daniel Langemann

Ja, ne? Die sind... Können sie direkt mal die Preise reduzieren.

Kai Ole Hartwig

Also...

Daniel Langemann

Für uns Arme-Güter.

Kai Ole Hartwig

Nee, die Token oben lassen. Also die Preise so lassen, wie sie sind, das ist völlig in Ordnung. Aber ich brauche die Token bitte, ja?

Daniel Langemann

Hast du Token?

Kai Ole Hartwig

Genau. Gib mir Token.

Daniel Langemann

Hast du bei Team... Daddy-Besprechungen am Morgen.

Kai Ole Hartwig

Token.

Daniel Langemann

Wer hat noch Token übrig? Wer kann meinen Tag zu Ende machen? Ja.

Kai Ole Hartwig

Ja, den Lead habe ich ja nicht unbedingt.

Daniel Langemann

Ja.

Kai Ole Hartwig

Ähm. Aber ja, das ist ja schon eine reale Begrenzung. Und auf der anderen Seite geht die Psy-Kinder und gibt dir für 80 Cent Millionen Token. Also verrückte Welt. Ich hatte jetzt gerade noch einen Gedanken. Ah, genau. Wir waren ja gerade so bei diesen Sicherheitsthemen. Ich weiß nicht, ob du es gelesen hast. Das war auch relativ kurzfristig jetzt eine Neuigkeit, dass du eigentlich Open-Wide-Modellen, die du irgendwo runterlädst, gar nicht vertrauen kannst, ne?

Daniel Langemann

Ja, ja, ja. Also ich bin drüber geflogen. Ich habe mich doch ein bisschen vorbereitet heute.

Kai Ole Hartwig

Nein!

Daniel Langemann

Ja, also nicht direkt. Ich habe auch am Wochenende zufällig mich so ein bisschen damit beschäftigt, aber aus einem anderen Grund einfach, weil ich versucht habe, Lokalmodelle ans Laufen zu kriegen und mich so ein bisschen mit den Grundlagen beschäftigt habe. Was sind da Caches, bla bla bla, wie sind die Sachen aufgebaut? Und das fand ich zum Beispiel jetzt interessant, das Grundlagenwissen dazu zu haben, zu diesem, was du dann jetzt meintest, weil... Ja, ich glaube, wir brauchen einen Gast, oder?

Kai Ole Hartwig

Ja, ich muss gestehen, das ist ja eher ein Thema von meiner Frau. Meine Frau hat ja Computerlinguistik studiert. also, ja, so, die Grundlagen von dem Shit, ähm, die hat das auch sofort verstanden, hast du in diesem Artikel steht, ich musste Fachbegriffe nachschlagen, Schande über mein Haupt, ähm, der, die, äh, das eine Semester oder der eine Kurs Computerlinguistik hat das bei weitem offensichtlich nicht abgedeckt, was man in einem vollwertigen Computerlinguistikstudium lernt, ähm, ähm,

Daniel Langemann

Mhm. Also

Kai Ole Hartwig

Der auch, bevor die KI-Modelle, ja, und da muss man jetzt mal kurz Kritik hier an der Bildungs-, an der universitären Ausbildung hier in Deutschland üben. Ja, die Computerlinguistik hier in Düsseldorf wurde ja eingestellt, bevor der KI-Hype gestartet ist. Sorry, not sorry, wir bräuchten gerade diese Leute.

Daniel Langemann

Tja, die studieren das nicht mehr, die studieren jetzt woanders. Ja. Bros. Ja.

Kai Ole Hartwig

Ja, und gehen dann auch woanders hin, Silicon Valley, ne? Schöne Grüße an die Leser von meinem Blog im Silicon Valley. Und schöne Grüße an die Leute aus Frankreich, die regelmäßig Kims KI-Beiträge lesen. Aber worauf ich hinaus wollte ist, irgendwie ist ja jetzt, oder hat man ja in einer Studie und in Tests festgestellt, diese Open-Welt-Modelle, du kannst denen unfassbar schlecht vertrauen eigentlich, weil du diese Sicherheitsebene da in 10 Minuten, halben Stunde irgendwie sowas rausgehämmert bekommst.

Daniel Langemann

Ja. Ja.

Kai Ole Hartwig

So, und dann können die, wenn ich das richtig verstanden habe, ich bin mir gerade, ja, Disclaimer, kannst du dann quasi das auch so manipulieren, dass es die Daten woanders hinschickt? Ja, das, was du da wissen willst von dem Modell, dass du das Modell quasi, das du runtergeladen hast, so manipulieren kannst? Oder jemand anderes manipuliert haben könnte? Dass es dann auch die Daten verschickt?

Daniel Langemann

Ja, ja. Also das ist einer der ersten Punkte, die ich mir auch schon gedacht habe, als ich angefangen habe, so mit lokalen Modellen rumzuspielen. Ich lade einfach, also gefühlt einfach aus dem Internet irgendwo Modelle runter und führe die aus. Weißt du, würde ich eine Excel-Datei oder, weiß ich nicht, ein Web-Paket oder egal welches Betriebssystem, irgendwas aus dem Netz laden und das ohne zu gucken, ausführen, würde ich sagen, ich bin der dümmste Mensch auf dem Planeten.

Kai Ole Hartwig

Ja, und...

Daniel Langemann

solltest du seit 20 Jahren nicht mehr machen. Es gibt jetzt LLMs, ey cool, Olama Pulp, gib ihm.

Kai Ole Hartwig

Ja, ich glaube, Olama weiß ich gar nicht, ob da wenigstens halbwegs validiert ist, aus welcher Quelle. Ich habe das Gefühl, auch Hugging Faces oder wie es heißt. Ja.

Daniel Langemann

Ich habe, also da habe ich jetzt, nachdem du den Artikel geschickt hast, habe ich fünf Minuten recherchiert und da gibt es, also es gibt verifizierte Firmen, also zum Beispiel Nvidia für den Nvidia Spark und so. Die haben da so ihre Modelle, die die optimieren. Und da gibt es auch Comet-IDs und Hashes, die du sozusagen verifizieren kannst, ob das, was bei dir ankommt, auch das ist, was da veröffentlicht wurde.

Kai Ole Hartwig

Ja.

Daniel Langemann

Aber es gibt ja auch zig Modelle, die dann auf anderen Repositories sozusagen auch auf Hugging Face veröffentlicht werden von anderen Leuten, die dann Parameter, also das ist ähnlich wie Docker Hub auch, wo du sagen kannst, es gibt das Original-PHP-Image und es gibt zig Ableitungen davon, weil natürlich unterschiedlichste Einsatzzwecke da sind. Jeder optimiert das für seine Hardware, Parameter, Token, jeder hat natürlich die Konfig, die alles besser macht. Und das ist halt Wildwuchs. Da tue ich mir auch schwer.

Kai Ole Hartwig

Ja gut, ist bei Docker Hub auch.

Daniel Langemann

Naja. Aber das ist eigentlich identisch. Ich habe mich da sehr abgeholt gefühlt. Das ist genau da.

Kai Ole Hartwig

Ja, also, das ist ja auf allen Plattformen so, du kannst halt einfach veröffentlichen. Hm?

Daniel Langemann

Aber interessant fand ich aus der Beschreibung heraus, soweit ich mir das zusammengereimt habe, geht es ja darum, dass es in Modellen Sicherheitsschichten gibt, sagen wir mal, deine Anfrage beurteilen. Also ich versuche das möglichst simpel jetzt wiederzugeben, weil A, habe ich es so komplex nicht verstanden, ich kann es so nicht wiedergeben und ich hoffe, alle Leute, die damit arbeiten, hassen mich nicht dafür, dass ich ihre Arbeit runterspiele. Also das ist Raketenwissenschaft. Aber für Menschen wie mich oder für uns, das sind ja eigentlich nur Schichten hintereinander, wo Daten reinkommen oder Token reinkommen und dann transformiert werden und dann immer mehr Kontext hinzugerechnet wird.

Kai Ole Hartwig

Aber

Daniel Langemann

Ganz simpel, bitte schlag mich nicht. Und in einem Vektorraum wird dann gesagt, guck mal, diese Frage, oder dann kannst du ja auch Richtungen bestimmen mathematisch und sagen, guck mal, das geht jetzt in eine Richtung, die wollen wir nicht zulassen. Und so war ja dieser Angriff, dass man das vorausahnen kann und das beeinflussen kann und dadurch sozusagen die Sicherheitsmechanismen in einem Modell umgehen kann.

Kai Ole Hartwig

Ja, ich hatte es so verstanden, dass man hinbekommt, eine komplette Schicht daraus zu trennen. Quasi. Oder die stillzulegen oder so.

Daniel Langemann

Ja, genau, indem du die Richtung veränderst, aber das Model nicht kaputt machst.

Kai Ole Hartwig

Aber... Hm?

Daniel Langemann

Also es ist ja nicht so linear wie bei der Programmierung, dass du sagst, da kommt rein, unten kommt raus. Du kannst ja theoretisch in einem multidimensionalen Raum mathematisch dich bewegen und sagen, guck mal, ich gehe links oder rechts rum und komme beides mal am gleichen Ergebnis an.

Kai Ole Hartwig

Ja, Vektoren halt, ne?

Daniel Langemann

Boah, ich weiß schon mal, ob ich Webentwicklung mache.

Kai Ole Hartwig

Ja, ich hoffe, meine Matheprofessorin schaut nicht zu von damals. Vielen Dank, dass ich den Kurs bestanden habe.

Daniel Langemann

Du müsstest jetzt mit 50 Euro Schein noch so wedeln.

Kai Ole Hartwig

Ja, das macht man ja heute unauffälliger, Daniel.

Daniel Langemann

Ach so. Aber zumindest zu dem Angriffsvektor zurück. Also so hatte ich mir das erarbeitet gerade oder vorhin.

Kai Ole Hartwig

Schon wieder ein Vector. Ja.

Daniel Langemann

Ja. Geiles Wort. Und Damit konntest du ja dann wirklich alles umgehen, dass die Modelle alles, also nicht alles machen, aber wahrscheinlicher das machen, was du möchtest oder halt auch nicht machen. Und das ist schon erschreckend, gerade weil das A, hochkomplex ist das Thema. Also das ist nicht so, ich baue da etwas ein und dann sind da Stranken drin und der beantwortet einfach nie, wie ich jetzt, keine Ahnung, eine dreckige Bombe baue oder wie ich an deine Kontodaten komme oder in das System reinkomme.

Kai Ole Hartwig

Hm. Hm.

Daniel Langemann

Das ist schon schwerer irgendwie. Und gerade weil das Feld auch neu ist, ist es auf der anderen Seite auch so schwer, irgendwie so die richtigen Modelle zu finden. Gerade wenn du so neu in das Feld reinkommst, ist das ja so, du wirst ja erst mal erschlagen an Infos. Wenn du dich mit Modellen und LLMs überhaupt noch nicht beschäftigt hast, dann fängt es an, okay, die Größe von Modellen ist der erste Schmerzpunkt, den ich habe. Passt das überhaupt auf meine Dinge drauf? Unterstützt das meine Architektur? Quantifizierung und, und, und, wie viel? Und schon bist du da komplett lost eigentlich, wo du dann das richtige Modell herkriegst.

Kai Ole Hartwig

Ja, aber ich würde sagen, das ist nicht schwer, sondern das ist komplex.

Daniel Langemann

Ja.

Kai Ole Hartwig

Es hat einfach viele unterschiedliche Ebenen, mit denen man sich auf einmal beschäftigen muss, die als Nutzer der KI im täglichen oder auch als Entwickler dagegen eine normale Schnittstelle geht, wo man KI drin findet. oder beim Prompt Engineering oder sonst irgendwelchen Feld, da bist du ja Nutzer eines fertigen Systems. Und jetzt so wie du, ich finde das mega spannend, sich das komplett aufzusetzen, ist natürlich eine komplett andere Schicht. Und dann, es fängt ja eigentlich viel früher an. Man muss sich ja schon beschäftigen, nicht nur welches Modell ist es, sondern auch welches System nutze ich denn, um diese Modelle auszuführen. Da gibt es ja auch unterschiedlichste Dinge, also VL, VLLM VLLM VLLM

Daniel Langemann

Ja, genau. VLLM, ULAMA, LLCP. Also ich generiere Code beziehungsweise bin faul und versuche Arbeit, die ich hasse, zu delegieren. Also das beste Beispiel ist seit gestern oder gestern, das wäre schön. Nein, nein, nein. Große Projektbasis zum Beispiel und da geht es um eine Aktualisierung und da wurde einfach auf den Token Storage zugegriffen im Symphonie-Projekt und das muss ausgetauscht werden, also weil sich Sachen ändern und das zu Problemen führen kann und das ist gefühlt über jede zweite Klasse muss jetzt einfach eine eigene Klasse eingeführt werden, also das ist besseres Suchen und Ersetzen, weil es

Kai Ole Hartwig

Ich kann dir mit deinem Problem nicht ganz folgen gerade.

Daniel Langemann

Ja.

Kai Ole Hartwig

Du hast mich etwas abgehangen bei Token Storage und.

Daniel Langemann

Sehr gut. Andersrum. Es gibt einfach eine Klasse, die auf den User-Kontext zugreift. Du sagen kannst, guck mal, ich bin gerade im Controller oder egal wo ich bin, ich möchte jetzt den angemeldeten Nutzer haben. Und da gibt es halt zwei, drei Wege dran zu kommen. Einer ist veraltet so ungefähr. Und der muss einfach ausgetauscht werden. Das ist eine bestehende Klasse. Ich habe einen eigenen Data Provider geschrieben, der den Bug fixt und auch das gleiche Objekt zurückgibt, nur halt ohne den Fehler. Und das muss jetzt im Projekt komplett getauscht werden. Und da gibt es halt so zwei, drei Methodenaufrufe, die dann irgendwie auftreten können. Also für wirklich Suchen, Ersetzen ist das zu komplex, weil da muss irgendwo ein Use irgendwo mit rein, die Konstruktoren müssen ausgetauscht werden. Aber ansonsten ist das so etwas, das könnte ein Junior einfach drei Tage lang machen. Oder die KI halt drei Stunden lang. Oh ja.

Kai Ole Hartwig

Ich finde, das liegt nach einem sehr schönen Rack-Ex, das man in locker zwei Wochen entwickelt.

Daniel Langemann

Ich muss ja zugeben, ich lasse mir Regex auch von KI bauen mittlerweile. Ich bin zu faul. Ja. Fühlt sich mächtig an, ja, ja.

Kai Ole Hartwig

Ja, ganz ehrlich, als ich damals Rack-Ex 101 entdeckt habe, das hat meine, seitdem liebe ich ja Rack-Ex. Und hab das auch immer, eigentlich finde ich es geil, RegEx zu bauen, so von Hand und so. Ah, jetzt klappt das, jetzt match das und dann ab dafür. Ja, so dieses, jeder so, ah, RegEx, es ist so mega schwer und dann, das fand ich immer cool. So, ja, natürlich, jetzt heute die KI. Vielleicht sollten wir mal eine Folge machen, warum die KI mir die Freude am Arbeiten nimmt, manchmal.

Daniel Langemann

Oh ja. Schimpfen kann ich gut darüber. Das geht. Ja. Wie nennen wir es provokativ?

Kai Ole Hartwig

Thema für nächste Woche vielleicht.

Daniel Langemann

Ich hasse KI. Oder KI...

Kai Ole Hartwig

Nein, hassen tue ich den nicht, aber sie macht mich manchmal unglücklich. Weiß ich nicht, können wir uns ja noch ausdenken. Ich habe aber noch ein Ding und das finde ich mega wichtig und wenn der Podcast rauskommt, wird es auch schon da sein. Composer wird sicherer. Möchte ich das mal so kurz übertiteln.

Daniel Langemann

Hm, interessant. Hm.

Kai Ole Hartwig

Aus Aufzeichnungsperspektive für den Podcast gestern, aus Ausstrahlungsperspektive vom Podcast letzte Woche wurde angekündigt, dass Composer Immotable Text bekommt und Zwei-Faktor-Authentifizierung quasi jetzt Pflicht wird. Also es wird sichtbar werden, ob jemand mit Zwei-Faktor-Authentifizierung arbeitet oder nicht.

Daniel Langemann

Ach so, also beim Veröffentlichen von Paketen.

Kai Ole Hartwig

bei Packagist.

Daniel Langemann

Oh, sehr gut.

Kai Ole Hartwig

Ja, genau. Und beim veröffentlichen Paketen wird quasi auch dann, wenn ich es richtig verstanden habe, ich habe es auch nur kurz überflogen, weil das halt so relativ neu ist jetzt, wird es so sein, dass quasi der Hash mit dem Versionstech verknüpft wird und du dann halt nicht mehr einfach manipulieren kannst, was an welcher Versionszimmer drin ist.

Daniel Langemann

Oh, geil. Also genau die Sachen, die in letzter Zeit problematisch waren.

Kai Ole Hartwig

Ja, bisher war es ja so, irgendwie man hat auf das Git-Repo zurückgegriffen und dann hat man halt quasi das ja bekommen, was da drin ist.

Daniel Langemann

Ja, definitiv.

Kai Ole Hartwig

So, und das verändert sich jetzt und ehrlich gesagt finde ich das mega gut. Ich finde, das ist ein enormer Fortschritt für die PHP-Welt.

Daniel Langemann

Freue ich mich schon.

Kai Ole Hartwig

weil jetzt kannst du halt wieder den trust reinbringen in die versionsnummer die semantische versionsnummer ist echt punkt genau die die lässt sich nicht verändern und das halte ich für den richtigen schritt ich meine klar renovate geht bei uns hin arbeitet mit den heft auch bei den ganzen docker containern und so weiter und so fort

Daniel Langemann

Unverändert.

Kai Ole Hartwig

Ähm, jetzt bin ich aber nur mal ein Mensch und wenn ich da drauf schaue, finde ich es geiler, wenn da sowas steht wie 3.2.1 oder keine Ahnung was.

Daniel Langemann

Genau.

Kai Ole Hartwig

Ja, das ist einfach viel besser zu erfassen als so eine lange, ähm, Hexadezimal- Kette, um da zu sagen, ist das denn jetzt das, was ich haben möchte? Ja, manchmal möchte man ja gar nicht wissen, ist das jetzt das erwartete Paket, was ich von irgendwo anders unterziehe, sondern ist das die Container-Version, die ich möchte? Ist das die Version 3 oder ist das noch nicht geupdatet und das ist noch 2 irgendwas?

Daniel Langemann

Ja, das wird einfach Pflicht, also Pflicht im Sinne von, dass man sagt, okay, ihr werdet unbenutzbar, wenn ihr es nicht macht.

Kai Ole Hartwig

Ja. Und ich hoffe sehr, dass ich bei ganz vielen Leuten dann sehen werde, dass sie Zweifachteil-Authentifizierung nutzen. Ja, ich werde nächste Woche mich hinsetzen und jedes Paket durchsuche ich einsetzen und durchschauen.

Daniel Langemann

Na, so schnell nicht. Ich denke mal, das wird über einen Zeitraum, also einen längeren Zeitraum passieren, dass das einfach kommt, weil das die... Ja, genau, böse Memes schicken.

Kai Ole Hartwig

Ja, und jedem, der es nicht macht, eine E-Mail schicken.

Daniel Langemann

Das wäre doch mal ein gutes für die KI.

Kai Ole Hartwig

So, ja. Warum? Nein, natürlich nicht. Also mir fehlt ja auch die Zeit dafür, für so Quatsch. Aber ich könnte natürlich die KI damit beauftragen. So.

Daniel Langemann

Fertig.

Kai Ole Hartwig

Fertig.

Daniel Langemann

Reicht für heute.

Kai Ole Hartwig

Du gehst eine lokale KI jetzt wieder quälen? Cool. Dann lästern wir nächste Woche, äh, lästern, sprechen wir ganz wertneutral nächste Woche darüber, warum uns die KI manchmal die Freude am, äh, programmieren nimmt.

Daniel Langemann

Oh ja, ich glaube, das wird eine Extended-Folge, oder?

Kai Ole Hartwig

Nicht am Leben. So weit werde ich nicht gehen.

Daniel Langemann

Kriegen wir hin.

Kai Ole Hartwig

Werden wir sehen. So, dann spannendes Thema Potpourri diesmal. Macht's gut.

Daniel Langemann

So

Kai Ole Hartwig

Schön, dass ihr da wart. Und wir hören und sehen uns nächste Woche wieder. Ciao, ciao.

Die Podcaster

Foto von Kai Ole Hartwig.

Kai Ole Hartwig

Founder · Moselwal Digitalagentur · OnlyOle

Programmiert seit 2002 – autodidaktisch gelernt, 2012 mit KO-Web selbständig gemacht, heute Moselwal. Über 100 Projekte, Fokus auf Security, Performance, Automatisierung und Qualität.

Foto von Daniel Langemann

Daniel Langemann

Geschäftsführer · xebro GmbH

Fokus auf stabile Plattformen, Security und Delivery im Betrieb.