È stato presentato il primo rilascio del progetto Gixy-Next, che sviluppa un analizzatore statico per i file di configurazione di Nginx, in grado di identificare impostazioni problematiche che influenzano negativamente la sicurezza e le prestazioni. Il progetto è guidato da Joshua Rogers, che alcuni anni fa ha scoperto 55 vulnerabilità nel server proxy Squid. Gixy-Next è stato creato come un fork del progetto Gixy-ng, che ha continuato lo sviluppo degli strumenti di Gixy, resi disponibili da Yandex nel 2017 e non aggiornati negli ultimi due anni.
La creazione di un nuovo fork è dovuta al malcontento per le azioni del maintainer del progetto Gixy-ng, che ha abusato dell'uso di strumenti AI nello sviluppo. Il fork è stato creato dopo che modifiche generate automaticamente sono state aggiunte al repository, senza un adeguato riesame e portando a regressioni e malfunzionamenti dello strumento. Nel codice sono apparsi artefatti privi di senso derivanti dall'uso dell'AI e funzioni che non svolgevano il compito previsto. Ad esempio, sono stati apportati correttivi gonfiati che occupavano migliaia di righe, sostituibili con un patch di 10 righe. Inoltre, nella documentazione e nei suggerimenti integrati è stata inserita pubblicità, e le pull request di terzi sono state accolte tagliando le informazioni sugli autori.

In Gixy-Next è stata effettuata una pulizia della base di codice da modifiche spazzatura create con l'AI, sono stati corretti errori, è stata implementata una metodologia di testing su file di configurazione NGINX di grandi dimensioni e apportate modifiche per semplificare la manutenzione della base di codice. Tra le nuove funzionalità di Gixy-Next rispetto al Gixy originale si segnalano:
- 19 nuovi plugin che verificano la correttezza delle impostazioni relative alla gestione degli accessi, DNS, proxy e espressioni regolari, oltre a identificare le configurazioni che portano a costi aggiuntivi e a una diminuzione 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 standardizzato e riproducibile, adatto 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 positivi e migliorare l'individuazione di problemi.
- Corretto trattamento di file di configurazione aggiuntivi collegati tramite la direttiva "include".
- Miglioramento della verifica delle espressioni regolari.
- Possibilità di costruire un ricevitore Online funzionante nel browser.
Fonte: opennet.ru
