Die erste Ausgabe des Projekts Gixy-Next wurde vorgestellt, das einen statischen Analyzer für Nginx-Konfigurationsdateien entwickelt, der problematische Einstellungen identifizieren kann, die die Sicherheit und Leistung negativ beeinflussen. Das Projekt wird von Joshua Rogers entwickelt, der vor einigen Jahren 55 Schwachstellen im Proxy-Server Squid aufgedeckt hat. Gixy-Next wurde als Fork des Projekts Gixy-ng erstellt, das die Entwicklung des Gixy-Tools weitergeführt hat, das 2017 von Yandex veröffentlicht wurde und in den letzten zwei Jahren nicht aktualisiert wurde.
Als Grund für die Schaffung des neuen Forks wird Unzufriedenheit mit den Maßnahmen des Maintainers des Gixy-ng-Projekts genannt, der AI-Tools während der Entwicklung missbräuchlich eingesetzt hat. Der Fork wurde erstellt, nachdem im Repository automatisch generierte Änderungen hinzugefügt wurden, die nicht ordnungsgemäß überprüft wurden und zu Regressionen und Verhaltensänderungen des Tools führten. Im Code erschienen sinnlose Artefakte durch den Einsatz von AI und Funktionen, die nicht das taten, was sie sollten. Zum Beispiel wurden aufgeblähte Korrekturen eingereicht, die Tausende von Zeilen umfassten, während sie durch einen 10-zeiligen Patch hätten ersetzt werden können. Darüber hinaus wurde Werbung in die Dokumentation und die eingebauten Hinweise eingefügt, und externe Pull-Anfragen wurden unter Ausschluss von Informationen über die Autoren angenommen.

In Gixy-Next wurde der Code-Basis von Mülländerungen, die mit Hilfe von AI erstellt wurden, gesäubert, Fehler wurden behoben, das Testen mit großen NGINX-Konfigurationsdateien wurde verbessert, und Änderungen zur Vereinfachung der Wartung der Code-Basis wurden hinzugefügt. Zu den neuen Funktionen von Gixy-Next im Vergleich zum Original-Gixy gehören:
- 19 neue Plugins, die die Korrektheit von Einstellungen im Zusammenhang mit Zugriffskontrolle, DNS, Proxying und regulären Ausdrücken überprüfen und Einstellungen identifizieren, die zusätzliche Overheads verursachen und die Leistung beeinträchtigen.
Zu den hinzugefügten Plugins gehören: allow_without_deny, return_bypasses_allow_deny, proxy_pass_normalized, merge_slashes_on, resolver_external, stale_dns_cache, version_disclosure, invalid_regex, regex_redos, add_header_content_type, add_header_multiline, add_header_redefinition, default_server_flag, error_log_off, hash_without_default, if_is_evil, try_files_is_evil_too, unanchored_regex, low_keepalive_requests, worker_rlimit_nofile_vs_connections, proxy_buffering_off.
- Standardisierte und reproduzierbare Ausgaben von Berichten, die für die automatisierte Analyse geeignet sind.
- Unterstützung der Module map und geo.
- Modernisierung der Plugins origins, ssrf, http_splitting, alias_traversal und valid_referers zur Reduzierung von Fehlalarmen und zur genaueren Erkennung von Problemen.
- Korrekte Verarbeitung zusätzlicher Konfigurationsdateien, die über die Direktive „include“ eingebunden werden.
- Verbesserung der Überprüfung regulärer Ausdrücke.
- Möglichkeit, als Online-Scanner zu arbeiten, der im Browser funktioniert.
Quelle: opennet.ru
