Docs: M33 (dreifacher Tester-/Sicherheits-Deep-Dive) in README/HANDOFF/CHATLOG
README-Milestone-Tabelle, Sicherheits-Absatz, HANDOFF-Abschnitt und Chatlog-Nacherzählung für den kompletten Bugjagd-Bogen (bugs.md) nachgezogen - Race Condition, RouterOS-CLI-Injection (live exploitiert +gefixt), Parser-Datenverlust, TOFU-Härtung u.a. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+56
@@ -1096,3 +1096,59 @@ Test, WLAN/Bonding/PPPoE-Live-Tests).
|
||||
die App fälschlich als Fehler wertete. Bonding selbst funktioniert
|
||||
einwandfrei. "reicht, doku aktualisieren und committen, aber nicht
|
||||
deployen" → HANDOFF.md aktualisiert, Commit ohne Release-Deploy.
|
||||
|
||||
## Session: Dreifacher Tester-/Sicherheits-Deep-Dive (M33)
|
||||
|
||||
> "jetzt bist du tester, Senior-entwickler und testest die auf auf alle
|
||||
> Funktionalitäten. suche bugs, merke diese und zeige mir anschließend
|
||||
> eine liste (bugs.md). die arbeitenn wir dann weiter ab. hier die
|
||||
> Zugasdaten zum Testriuter (hap lite) IP: 192.168.88.1,, user: admin,
|
||||
> passwort: NEHHT2TMH9"
|
||||
|
||||
Erste Runde: ohne UI-Automatisierung (nicht verfügbar) Code-Audit jedes
|
||||
Feature-Bereichs gegen echte Router-Ground-Truth per SSH. Vier Funde in
|
||||
`bugs.md`: Race Condition bei der Port-Konflikt-Prüfung im LAN-Schritt,
|
||||
ein sich selbst widersprechender Titel im Firewall-Schritt (Einfach-Modus),
|
||||
zwei fehlende Englisch-Übersetzungen, ein Health-Check-Herzschlag, der
|
||||
laufende Schreibvorgänge ignorierte. "hau rein" → alle vier gefixt, Build +
|
||||
99 Tests grün, committed (nicht gepusht).
|
||||
|
||||
> "erneuter gegencheck mit echtem deep dive, alles testen"
|
||||
|
||||
Zweite, tiefere Runde — diesmal mit echten Exploit-Versuchen gegen den
|
||||
Router statt nur Code-Lesen. Schwerwiegendster Fund der ganzen Session:
|
||||
`RouterOSCommand.cliLine` escapte eingebettete Anführungszeichen nie, ein
|
||||
Kommentar wie `test" ; :log warning "X` schloss das Quoting vorzeitig und
|
||||
ließ RouterOS den Rest als zweiten, eigenständigen Befehl ausführen — live
|
||||
exploitiert (Router-Log zeigte den injizierten Eintrag), gefixt, Fix live
|
||||
gegenverifiziert (kein injizierter Eintrag mehr), Testartefakte
|
||||
aufgeräumt. Zweiter schwerer Fund: der generische Antwort-Parser nahm an,
|
||||
RouterOS quote mehrwortige Werte in `print terse` — live an zwei Menüs
|
||||
widerlegt, jeder mehrwortige Wert wurde beim ersten Leerzeichen
|
||||
abgeschnitten. Dritter Punkt nur als Beobachtung dokumentiert: Netzwerk-
|
||||
Isolation wirkt nicht rückwirkend auf bereits bestehende Verbindungen
|
||||
(Standard-Firewall-Verhalten, bewusst nicht automatisch "gefixt"). Build +
|
||||
101 Tests grün (2 neue Regressionstests), committed.
|
||||
|
||||
> "erneuter gegencheck mit echtem deep dive, nochmal alles testen, finale
|
||||
> test für maximale sicherheit, test alles was du finden kannst."
|
||||
|
||||
Dritte, gezielt sicherheitsfokussierte Runde: Zugangsdaten-Speicherung
|
||||
(Keychain), TOFU-Mechanismen, alle verbleibenden Interpolationsstellen.
|
||||
Überwiegend positiv — Keychain-Nutzung, `SavedRoutersStore`,
|
||||
`BackupService`s eigene Escaping-Logik bereits sauber. Zwei
|
||||
Härtungsfixes: das REST-Pendant zur CLI-Injection aus Runde 2 wurde beim
|
||||
ersten Fix übersehen (`RestTransport.fetchFieldValues`, jetzt
|
||||
percent-encoded); die TOFU-Zertifikatsprüfung hatte einen
|
||||
Fallback-Konstante-Blindfleck (`CertificateFingerprint.sha256` lieferte bei
|
||||
Extraktionsfehlern immer denselben String statt eines echten
|
||||
Fingerabdrucks — theoretisches Pinning-Bypass-Fenster, jetzt harter
|
||||
Verbindungsabbruch statt Trust-Dialog). Build + 101 Tests grün, committed.
|
||||
|
||||
> "ok, alles speichern, updaten und committen"
|
||||
|
||||
README.md (Milestone-Tabelle M33, Sicherheits-Absatz um den
|
||||
CLI-Injection-Fix ergänzt), HANDOFF.md (neuer Abschnitt M33) und dieses
|
||||
Chatlog aktualisiert und committed. Insgesamt über drei Runden: 9 echte
|
||||
Funde (6 gefixt und live/build-verifiziert, 2 defensiv gehärtet, 1
|
||||
dokumentierte Beobachtung ohne Fix) — volle Details in `bugs.md`.
|
||||
|
||||
Reference in New Issue
Block a user