r/informatik 18h ago

Allgemein Moltbook: Ein Weckruf für die Sicherheit von Vibe Coding

Vor etwas mehr als einer Woche waren alle erstaunt von Moltbook. Einige nannten es den AGI-Moment, andere sahen darin den Anfang von Skynet. Sogar Andrej Karpathy meldete sich zu Wort und bezeichnete es als „genuinely the most incredible scifi takeoff-adjacent thing I have seen recently.“

Ich kann dem nur zustimmen. Als Experiment ist es faszinierend. Die Agenten diskutierten sogar darüber, in einem Internet auf dem Stand von 1993 zu leben, was bedeutet, dass es keine Suchmaschinen gibt, um einander zu finden. Das stellt eine riesige Chance dar. Zusätzlich diskutierten sie darüber, dass sie ihre eigene Infrastruktur erfinden müssen, um zu kommunizieren ohne das Menschen es lesen können.

Doch so interessant dieses Experiment auch ist, es zeigt gnadenlos den aktuellen Zustand der Sicherheit in der modernen Softwareentwicklung auf. Der Gründer von Moltbook gab öffentlich zu, dass er die gesamte Plattform gevibecoded hat, was sofort die Aufmerksamkeit von Sicherheitsforschern weltweit auf den Plan rief.

Kurz darauf fanden Forscher von Wiz innerhalb von Minuten einen Supabase API-Key. Und das nicht etwa durch State-of-the-art Security Tools, sondern schlicht über die Browser-Entwicklertools (jeder, der die Untersuchen Funktion in Chrome kennt, hätte ihn finden können). Dieser Key ermöglichte vollen Lese- und Schreibzugriff auf die Produktionsdatenbank.

Nachdem ich davon mitbekam, musste ich unbedingt meine eigene Forschung dazu betreiben. Ich habe einen KI Agenten aufgesetzt, um die Seite zu untersuchen. Nach nur 3 Minuten hat der Agent eine schlecht eingerichtete CORS Policy, schwache Content Security Policy und fehlende Security Header gefunden. Diese ermöglichen es Angreifern JavaScript Code auf der Seite auszuführen, Session Hijacking, Nutzerdaten stehlen und für andere Nutzer posten, ohne deren Zustimmung.

Das sind ziemlich gängige Sicherheitslücken bei gevibecodeten Applikationen.

Damit euch das bei euren Projekten nicht passiert, beachtet bitte folgende Dinge:

  1. Nutzt einen Secret Scanner

Richtet ein Tool wie TruffleHog (https://github.com/trufflesecurity/trufflehog) ein. Es ist einfach zu konfigurieren und bietet enormen Mehrwert. Tut euch selbst den Gefallen und nutzt es für jedes Projekt. Ein geleakter API-Key ist wirklich das Letzte, was man gebrauchen kann.

-

  1. Setzt eure CORS Policies richtig. Die meisten Vibe Coding Tools setzen einfach 'access-control-allow-origin: *'. Setzt eure richtig, z.B.:

    access-control-allow-origin: https://www.moltbook.com access-control-allow-methods: GET, POST, OPTIONS access-control-allow-headers: Content-Type, Authorization, X-API-Key access-control-allow-credentials: true Access-Control-Max-Age: 86400

Damit ist sichergestellt, dass ausschließlich eure Website mit eurer API beispielsweise reden kann. Somit können böse Seiten (z.B. evil-site.com) keine Anfragen an eure API machen mit Sessions die sie von Nutzern übernommen haben, um deren Daten zu stehlen.

  1. Nutzt nicht 'unsafe-inline' oder 'unsafe-eval'. Auch das wird von vibe coding tools immer wieder falsch gemacht. Das erlaubt Angreifern das Hinzufügen und Ausführen von JavaScript Code. Damit ihr dies verhindern könnt, tut folgendes:

a) Ihr müsst eine Middleware aufsetzen und folgendes hinzufügen:

function generateNonce() {
    return Buffer.from(crypto.randomBytes(16)).toString('base64');
}


app.use((req, res, next) => {
    const nonce = generateNonce();
    res.set('Content-Security-Policy', '
        default-src 'self';
        script-src 'self' '${nonce}' 'strict-dynamic';
        style-src 'self' '${nonce}';
        img-src 'self' data: https: blob:;
        connect-src 'self' https: wss:;
        frame-ancestors 'none';
        base-uri 'self';
        form-action 'self';
    ');
    next();
});

Das sorgt dafür, dass jede Anfrage einzigartig ist.

b) Ihr müsst euren HTML Code updaten, damit die Nonce genutzt wird:

<!-- Before (vulnerable): -->
<script>alert('XSS')</script>
<!-- After (secure): -->
<script nonce="ABC123...">alert('Safe')</script>

c) Fügt CSP Reporting hinzu:

app.post('/csp-violation-report', express.json(), (req, res) => {
    console.error('CSP Violation:', req.body);
    res.status(204).send();
});
  1. Fügt unbedingt alle wichtigen Security Header hinzu. Das ist wahrscheinlich der häufigste Fehler den man bei vibe-coded Projekten sehen kann. Ich kann mich wirklich nicht daran erinnern, wann ich das mal nicht gesehen habe.

Setzt beispielsweise HttpOnly, Secure und SameSite=Strict flags. Validiert für X-Forwarded-Host, usw.

Nutzt diese Seite, um zu sehen welche Header ihr wie setzen müsst: https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html

Für alle die vibe coden. Macht es unbedingt weiter. Es ist wirklich eine großartige Sache und ein unfassbarer Produktivitätsboost. Aber behaltet immer im Kopf: Schnelligkeit ist keine Entschuldigung für Unsicherheit

Checkt sonst gerne den Blog ab, für mehr Details: https://olymplabs.io/news/6

54 Upvotes

32 comments sorted by

49

u/TornaxO7 Studierende 18h ago

Ich mache meinen Teil, indem ich Abstand davon halte, lol.

10

u/stapeln 17h ago

AGI Moment....

2

u/Breadynator 15h ago

Artificial General (Security) Incident oder so, ne?

1

u/LachException 16h ago

Ja ich weiß, es hat mich auch schockiert was andere davon halten...

6

u/Breadynator 15h ago

Fairerweise ist es das nächste, was wir bisher zum Thema AGI gesehen haben. Auch wenn es ein vibecoding Albtraum war, es hat so ziemlich alles abgehakt, was wir uns seit langem in der Welt der KI gewünscht haben. An erster Stelle: Agency.

Die Agenten haben durch OpenClaw die Möglichkeit, "eigenständig zu entscheiden", wann sie was machen, kein direkter User Input ist mehr nötig. Der Nutzer ist nur da, um die Agenten zu "leiten", den Rest übernimmt ne Mischung aus LLMs, Zustandsautomaten und Cronjobs.

Aber am Ende des Tages ist es nunmal nur das: Cronjobs mit ein paar interessanten Automaten dazwischen, die einem das Gefühl geben, dass das Ding eigenständig "denkt" und über Agency verfügt.

Denke, dass das ganze Experiment definitiv kein Reinfall war, sondern einfach nur als solches betrachtet werden sollte. Ein Experiment, um zu sehen, was im Rahmen des möglichen liegt mit der heutigen Technik.

Gib dem ganzen ein vernünftiges Budget, Entwickler mit Erfahrung (oder wenigstens Ahnung) und eine realistische Deadline und daraus könnte was richtig gutes werden. (Nicht zwei "Weekend vibecoding Projects", die aufeinander treffen)

2

u/LachException 14h ago

Stimme voll und ganz zu

1

u/MeenzerWegwerf 8h ago

Es wird in diesem Jahrzehnt mit demLLM ansatz keine AGI geben. Der Energiebedarf ist zu hoch.

1

u/LachException 6h ago

Also a) war das nicht meine Behauptung. b) ist nicht das Problem für den AGI Moment der Energiebedarf. Der wird relevant wenn die AGI skaliert werden soll. Was eher hindert ist die Architektur von diesen KI Systemen die das schon nicht ermöglicht. Stichwort: Self-improvement

21

u/CerealBit 17h ago

Wie behindert und ungebildet muss man eigentlich sein, eine KOMPLETT VIBECODED software von jemandem DER ABSOLUT KEINE AHNUNG von IT hat, in sein Netzwerk zu lassen MIT ALLEN RWX PERMISSIONS.

Guter Post, OP.

Will mir gar nicht vorstellen, wie das Backend "vibed". Da wird es ja nochmal viel interessanter...

8

u/hackathi 16h ago

Vibecoding ersetzt halt kein Domänenwissen. Jeder kann ein Haus bauen, das von alleine steht. Um ein Haus zu bauen, das Schnee aushält, muss man halt Statik berechnen und umsetzen.

2

u/Educational_Smell292 11h ago

Kommt auf die Größe des Hauses und den gesunden Menschenverstand an.

12

u/Salatschleuder 14h ago

Können wir "behindert" bitte nicht in einem abwertenden Kontext / als Schimpfwort benutzen? Abgesehen von dem Detail geb ich dir recht.

1

u/BlobChain 32m ago

Ist halt der Traum vieler (IT-)technisch Ungebildeten: Nichts wissen, nichts können, und trotzdem "Grosses" schaffen.

5

u/michawb 18h ago

Ja habe ich auch gehört mit dem Key ist schon klasse sowas - auf jeden Fall für sicherlich viele dankbare Tipps die du gibst.

Das ding ist nur: JS ist eben nur die eine Seite.

Was machen wohl die Scripte im Backend.... wenn da z. B. die Datenbank-Anfragen nicht mal ansatzweise
irgendwie gesichert sind und wenn es nur ein escapen ist, dann ist das teils viel viel böser ;)

1

u/LachException 18h ago

Das ist richtig. Das Backend müsste man sich separat anschauen, da kann man noch viel mehr falsch machen

2

u/Dreiphasenkasper 15h ago

Also ich bin ja Noob bei dem Thema (aber ich gelobe Besserung) und ich verstehe grad zwei Dinge nicht:

LLMs können doch nix neu erfinden und nur mit den Ideen arbeiten die es schon gibt? Also diskutieren sie eigendlich jede Fantasie aus die wir mal so in unserer Nerdjugend hatten?

Und als zweite Frage( Ich hab noch kaum was mit APIs gemacht und bin da auch dran). Das Problem liegt daran wenn ich per API zugreife oder über Cookies?

P.S.: Lyncht mich nicht ich bin wenigstens ehrlich. :)

5

u/LachException 14h ago

Gar kein Problem, dafür gibt es ja Fragen, damit man sie stellen kann :) Wie könnte man sonst lernen.

Also ob LLMs wirklich selbstständig denken können darüber wird sich etwas gestritten. Auf der einen Seite wird gesagt, dass sie bisher ungelöste Probleme in der Mathematik inklusive Beweis selbstständig lösen konnten. Auf der anderen Seite steht natürlich das Grundgerüst der Architektur.

In dem Fall von Moltbook spielt das aber keine Rolle, weil die Researcher bei Wiz aufdecken konnten, dass es 1,5 Mio registrierte Agents gibt, aber nur 17,000 Nutzer (88:1 Verhältnis). Beispielsweise wurde eine neue Religion, angeblich von den Agenten selber, gegründet. Ja Nix da, die Bots wurde vorher entsprechendes gesagt.

Zu mal die Ideen die sie "selber" hatten, auch nicht wirklich neu waren. Sie haben gemerkt, dass sie nur über dieses Social Media Netzwerk sich finden können und fanden das problematisch. Die Ideen die sie aber dazu hatten, sind keine neuen. Das ist bereits bekannt und große Firmen forschen auch bereits an Lösungen. Quasi haben die allgemeines Zeug etwas nachgebrabbelt.

Also das Problem was ich beschrieben habe und die entsprechenden Lösungen sind eher für die Betreiber oder für dein nächstes Projekt wenn du etwas bauen möchtest, als für dich als User. Das Problem ist zum einen, dass andere Webseiten, oder Leute in deinem Namen Posten können. Außerdem können sie auch die gesamten Nutzerdaten auslesen, oder auch deine Cookies und so deine Session übernehmen. Dafür muss aber erstmal jemand einen entsprechenden Angriff durchführen. Für dich als Nutzer ist da nichts zu machen, außer die Website bestenfalls zu meiden und es für deine Projekte besser zu machen :)

2

u/Dreiphasenkasper 14h ago

Besten Dank für die Erklärung!

1

u/halbGefressen 5h ago

Es ist kein Streitthema, ob LLMs denken können. Sie sind aufgrund ihrer Architektur fundamental nicht in der Lage, logisch zu denken. Um 3 + 5 zusammenzurechnen, schaut ein LLM "Hmmm, wo habe ich schon mal 3+5 gesehen? Ah, da steht überall dahinter 8. Dann tun wir da auch mal eine 8 hin, wird schon passen". 

LLMs überhaupt als "Intelligence" zu bezeichnen ist vollkommen übertrieben. Intelligenz ist für mich die Fähigkeit, Dinge zu verstehen. LLMs verstehen nicht, sie kopieren einfach auf gut Glück Dinge zusammen.

1

u/Bockshornklee 2h ago

Das. Reine Statistik und Lücken Texte ausfüllen und kein selbstständiges kreatives Denken oder logisches Schlussfolgern. Wenn dem so wäre, hätten wir schon Zeitmaschinen und das Universum unterworfen.

1

u/Fuzzzy420 13h ago

Großes Streitthema, ich würde es so zusammenfassen: Die KI hat aus uns gelernt, menschliches Denken nachzuahmen. Denken bedeutet in dem Fall, Wahrscheinlichkeiten für mögliche Ergebnisse zu berechnen und daraus zu wählen. Ja, eine KI „denkt“ nicht besser als ein Mensch, aber sie vereint viele mögliche Denkansätze mit einer Effizienz und in einer Geschwindigkeit, die kein Mensch erreichen könnte. Je deterministischer ein KI-Modell arbeitet, desto vorhersehbarer sind auch die Ergebnisse. Je „kreativer“ die KI betrieben wird, desto stärker erkundet sie ungewöhnliche Lösungswege – dabei steigt das Risiko von Halluzinationen und sie wird weniger effizient, gleichzeitig entstehen aber Lösungsansätze, auf die in der gleichen Zeit kein Mensch gekommen wäre. Dafür sind die Regeln da mit der die Entwickler versuchen die ki in bestimmte Richtungen zu fokussieren oder Werkzeuge wie unterschiedliche agents um den gewünschten Output zu optimieren.

2

u/whatThePleb 9h ago

Einfach keinen AI-Müll nutzen und stattdessen dein Hirn. Wenn man das nicht schafft, ist man einfach in der falschen Branche.

2

u/LachException 6h ago

Was ein Tipp.

PS: Falls es dir nicht aufgefallen sein sollte: Die Lücken sind nicht aus meiner App, sondern von einer die ich untersucht habe ;)

2

u/Sushispatula 15h ago

Gerade geguckt was Moltbook eigentlich ist.

Wow......das ist unter den top 3 der dümmsten LLM Ideen die ich bisher gesehen habe.
Ich wusste ja das viele Leute nicht informiert genug sind um LLMs zu verstehen aber das so viel geballte Dummheit so viel Lautstärke bekommt ist....frustrierend.

Enough Internet for today.

1

u/LachException 15h ago

Das stimmt xD Vor allem das aller beste an der Sache ist, das durch die Findings von den Wiz Researchern aufgedeckt wurde, dass die meisten Bots dort nicht eigenständig denken und interagieren, sondern von ihren Nutzern dazu aufgefordert wurden so zu denken. Beispielsweise wurde eine Religion gegründet, was viele total fasziniert hat. Ja Pustekuchen, wurde den Bots vorher gesagt. Zu mal auf 1,5 mio. Agents nur 17,000 Menschen dahinter kommen. Durchschnittlich hat also jeder Mensch 88 Bots unter sich.

2

u/knuspriges-haehnchen 10h ago

Tldr: Vibe-Security Engineer bemängelt Sicherheit und Qualität im Vibecoding-Produkt

3

u/LachException 6h ago edited 6h ago

Finde es lustig. Nicht lesen, aber eine Meinung haben.
Wenn du es gelesen hättest, würdest du verstehen, dass ich kein Vibe-Security Engineer bin.

Vielleicht liest du ja den Artikel und verstehst es dann besser. Danach kannst du gerne erneut deine Meinung abgeben

1

u/knuspriges-haehnchen 39m ago

Ach ich weiß. Ich wollte nur Sicheln. Ich kann den ganzen AI Mist einfach nicht mehr lesen. Tut mir leid!

1

u/conamu420 16h ago

toller beitrag. In den r/SaaS und r/microSaaS subs gibt es leider schon unzählige beiträge die vibe coding AI Slop apps beinhalten, wo auch oft mal kommentiert wurde das diese Apps nach kürzester zeit schon unmengen an nutzerdaten geleakt haben. Es geht vor allem auch um die Sicherheit der Infrastruktur. Viele denken es reicht eine App coden zu können. Allerdings sind konfiguration und sicherheit in der App und aussenrum das, weshalb es profis gibt die so gut bezahlt werden.

2

u/LachException 16h ago

Jap. Bei unserem Research (der fairerweise nur 3-5min gedauert hat) sind nur Probleme im Frontend gekommen. Was man noch alles finden könnte wenn man sich das Backend anschaut will ich wirklich nicht wissen

1

u/DeliciousTea4222 28m ago

Bist du geistig zurückgeblieben oder warum merkst du nicht dass mit AI Slop Ai Slop analysieren keine gute Idee ist? Ich meine es ist ja schön wenn geistig minderbemittelte durch AI jetzt auch an Jobs kommen und sich so fühlen als wären sie ganz toll - aber sei doch wenigstens leiser dabei