ĂshtĂ« publikuar versioni i parĂ« i projektit Gixy-Next, i cili zhvillon njĂ« analizues statik pĂ«r skedarĂ«t e konfigurimit tĂ« Nginx, qĂ« mundĂ«son zbulimin e konfigurimeve problematike qĂ« ndikojnĂ« negativisht nĂ« siguri dhe performancĂ«. Projekti zhvillohet nga Joshua Rogers, i cili disa vite mĂ« parĂ« zbuloi 55 cenueshmĂ«ri nĂ« proxy-serverin Squid. Gixy-Next Ă«shtĂ« krijuar si fork i projektit Gixy-ng, qĂ« vazhdonte zhvillimin e paketĂ«s sĂ« veglave Gixy, tĂ« hapur nga kompania Yandex nĂ« vitin 2017 dhe tĂ« papĂ«rditĂ«suar gjatĂ« dy viteve tĂ« fundit.
Si arsye për krijimin e fork-ut të ri përmendet pakënaqësia me veprimet e mirëmbajtësit të projektit Gixy-ng, i cili abuzonte me përdorimin e mjeteve AI gjatë zhvillimit. Fork-u u krijua pasi në repository nisën të shtoheshin ndryshime të gjeneruara automatikisht, të cilat nuk kishin kaluar rishikimin e duhur dhe shkaktonin regresione dhe prishje të funksionimit të paketës së veglave. Në kod filluan të shfaqeshin artefakte pa kuptim nga përdorimi i AI dhe funksione që nuk bënin atë që duhej të bënin. Për shembull, futeshin korrigjime të fryra, që zinin mijëra rreshta, ndërsa mund të zëvendësoheshin me një patch prej 10 rreshtash. Për më tepër, në dokumentacion dhe në ndihmën e integruar u shtua reklamë, ndërsa pull request-et e palëve të treta pranoheshin duke hequr informacionin për autorët.

Në Gixy-Next është pastruar baza e kodit nga ndryshimet e padobishme të krijuara me ndihmën e AI, janë korrigjuar gabimet, është organizuar testimi mbi skedarë të mëdhenj konfigurimi NGINX dhe janë shtuar ndryshime për të thjeshtuar mirëmbajtjen e bazës së kodit. Ndër veçoritë e reja të Gixy-Next në krahasim me Gixy origjinal përmenden:
- 19 plugin-e të reja që kontrollojnë saktësinë e konfigurimeve të lidhura me menaxhimin e aksesit, DNS, proxying dhe shprehjet e rregullta, si edhe zbulojnë konfigurime që sjellin kosto shtesë operative dhe ulje të performancës.
Ndër plugin-et e shtuara janë: 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.
- Dalje raportesh e standardizuar dhe e riprodhueshme, e përshtatshme për analizë të automatizuar.
- Mbështetje për modulet map dhe geo.
- Përmirësim i plugineve origins, ssrf, http_splitting, alias_traversal dhe valid_referers për të ulur rastet e alarmeve të rreme dhe për zbulim më të saktë të problemeve.
- Përpunim i saktë i skedarëve shtesë të konfigurimit të përfshirë përmes direktivës «include».
- Përmirësim i kontrollit të shprehjeve të rregullta.
- Mundësi ndërtimi në formën e një skaneri online që funksionon në shfletues.
Burimi: opennet.ru
