È stato presentato il primo rilascio del progetto Gixy-Next, che sviluppa un analizzatore statico per i file di configurazione Nginx, in grado di identificare impostazioni problematiche che influiscono negativamente sulla sicurezza e sulle prestazioni. Il progetto è guidato da Joshua Rogers, che qualche anno fa ha scoperto 55 vulnerabilità nel server proxy Squid. Gixy-Next è stato creato come fork del progetto Gixy-ng, che ha continuato lo sviluppo degli strumenti Gixy, aperti dall'azienda Yandex nel 2017 e non aggiornati negli ultimi due anni.
Il motivo della creazione di questo nuovo fork è il malcontento nei confronti delle azioni del maintainer del progetto Gixy-ng, che ha abusato dell'uso di strumenti AI nello sviluppo. Il fork è stato creato dopo che nel repository sono iniziate ad essere aggiunte modifiche generate automaticamente, che non avevano ricevuto l'adeguata revisione e portavano a regressioni e a comportamenti errati degli strumenti. Nel codice sono apparsi artefatti senza senso derivanti dall'applicazione di AI e funzioni che non svolgevano ciò che avrebbero dovuto. Ad esempio, sono state introdotte correzioni gonfiate che occupavano migliaia di righe, sostituibili con una patch di 10 righe. Inoltre, nella documentazione e nei suggerimenti incorporati è stata aggiunta pubblicità, e le pull request esterne venivano accettate eliminando le informazioni sugli autori.

In Gixy-Next è stata effettuata una pulizia del codice da modifiche indesiderate generate da AI, sono stati corretti errori, è stato attivato il testing su grandi file di configurazione NGINX ed è stata semplificata la manutenzione della base di codice. Tra le nuove funzionalità di Gixy-Next rispetto all'originale Gixy si segnala:
- 19 nuovi plugin che controllano la correttezza delle impostazioni relative alla gestione degli accessi, DNS, proxy e espressioni regolari, oltre a identificare le impostazioni che portano a costi aggiuntivi e a una riduzione delle prestazioni.
Tra i plugin aggiunti: 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.
- Output di report standardizzati e riproducibili, adatti per l'analisi automatizzata.
- Supporto per i moduli map e geo.
- Aggiornamento dei plugin origins, ssrf, http_splitting, alias_traversal e valid_referers per ridurre i falsi allarmi e migliorare l'individuazione dei problemi.
- Corretto trattamento dei file di configurazione aggiuntivi, inclusi tramite la direttiva «include».
- Miglioramento del controllo delle espressioni regolari.
- Possibilità di compilazione come scanner Online, funzionante nel browser.
Fonte: opennet.ru
