Âûáèðàé : Ïîêóïàé : Èñïîëüçóé
0

PVS-Studio 8.01: OWASP Benchmark, ïîääåðæêà JDK 25 è Go 1.27

Êîìïàíèÿ PVS-Studio, ðàçðàáàòûâàþùàÿ ðåøåíèå äëÿ îáåñïå÷åíèÿ êà÷åñòâà, íàäåæíîñòè è çàùèùåííîñòè èñõîäíîãî êîäà...

Êîìïàíèÿ PVS-Studio, ðàçðàáàòûâàþùàÿ ðåøåíèå äëÿ îáåñïå÷åíèÿ êà÷åñòâà, íàäåæíîñòè è çàùèùåííîñòè èñõîäíîãî êîäà, ïðåäñòàâèëà íîâûé ðåëèç ïðîäóêòà — PVS-Studio 8.01.  íåãî âîøëè íîâûå äèàãíîñòè÷åñêèå ïðàâèëà äëÿ Java, ïîääåðæêà JDK 25 è Go 1.27, à òàêæå ðàñøèðåííûå âîçìîæíîñòè íàñòðîéêè àíàëèçà è ôèëüòðàöèè îò÷åòîâ. Îá ýòîì CNews ñîîáùèëè ïðåäñòàâèòåëè PVS-Studio.

 íîâîì ðåëèçå êîìàíäà ðàçðàáîò÷èêîâ ïðîâåðèëà SAST-ïðàâèëà àíàëèçàòîðà Java íà áåí÷ìàðêå OWASP Benchmark for Java, ïðåäíàçíà÷åííîì äëÿ îöåíêè èíñòðóìåíòîâ ïîèñêà óÿçâèìîñòåé â ïðîãðàììíîì êîäå.

«Ïðè ïðîâåðêå íà ðåàëüíûõ ïðîåêòàõ ñëîæíî îáúåêòèâíî îöåíèòü ïîëíîòó îáíàðóæåíèÿ óÿçâèìîñòåé: çàðàíåå íåèçâåñòíî, ñêîëüêî äåôåêòîâ áåçîïàñíîñòè ñîäåðæèòñÿ â êîäå è êàêèå èç íèõ àíàëèçàòîð ìîã ïðîïóñòèòü. Èñïîëüçîâàíèå ñïåöèàëèçèðîâàííîãî áåí÷ìàðêà ïîçâîëèëî âûÿâèòü íåäî÷åòû â SAST-ïðàâèëàõ Java àíàëèçàòîðà è ïîâûñèòü ýôôåêòèâíîñòü îáíàðóæåíèÿ äåôåêòîâ áåçîïàñíîñòè», — ñêàçàë Project Lead îòäåëà Java ðàçðàáîòêè PVS-Studio Êèðèëë Åïèôàíîâ.

 íîâîé âåðñèè òàêæå ïîÿâèëèñü òðè äèàãíîñòè÷åñêèõ ïðàâèëà äëÿ Java, îðèåíòèðîâàííûå íà òðåáîâàíèÿ ñòàíäàðòà OWASP ASVS: V5341. OWASP. A cookie was created without enabling the Secure attribute. This may lead to the exposure of sensitive data; V5342. OWASP. Potentially tainted data is stored in an object that can be used as a source of trusted data; V5343. OWASP. A cryptographically weak random number is used for sensitive data.

 ðåëèçå 8.01 äîáàâèëè ïîääåðæêó íîâûõ âåðñèé ïëàòôîðì: àíàëèçàòîð Java òåïåðü ðàáîòàåò ñ JDK 25, à àíàëèçàòîð Go — ñ Go 1.27.

Ýòî ïîçâîëÿåò êîìàíäàì ïðîâåðÿòü ïðîåêòû, èñïîëüçóþùèå àêòóàëüíûå âåðñèè ÿçûêîâ è ñòàíäàðòíûõ áèáëèîòåê, áåç íåîáõîäèìîñòè îòêëàäûâàòü îáíîâëåíèå èç-çà îãðàíè÷åíèé èíñòðóìåíòîâ ñòàòè÷åñêîãî àíàëèçà. Ïîääåðæêà JDK 25 îñîáåííî àêòóàëüíà äëÿ îðãàíèçàöèé, êîòîðûå ïåðåõîäÿò íà íîâóþ âåðñèþ Java ñ äîëãîñðî÷íîé ïîääåðæêîé (LTS).

Äëÿ ïðîâåðêè MSBuild-ïðîåêòîâ ïîÿâèëàñü âîçìîæíîñòü ñîõðàíÿòü â JSON-îò÷åòå êîíôèãóðàöèè ïðîåêòîâ, êîòîðûå èñïîëüçîâàëèñü ïðè àíàëèçå. Ýòî óïðîùàåò èñïðàâëåíèå ñðàáàòûâàíèé, âîçíèêàþùèõ íà íåêîòîðûõ ïëàòôîðìàõ.

 îò÷åòå fullhtml, êîòîðûé ãåíåðèðóåò óòèëèòà PlogConverter.exe, ñðàáàòûâàíèÿ òåïåðü ãðóïïèðóþòñÿ ïî êîíôèãóðàöèè àíàëèçà.

 âåðñèè 8.01 ïîÿâèëèñü äîïîëíèòåëüíûå ïàðàìåòðû, ïîçâîëÿþùèå àäàïòèðîâàòü àíàëèçàòîð ê îñîáåííîñòÿì ïðîåêòà è ñðåäû ðàçðàáîòêè.

Òàê, â àíàëèçàòîðàõ JavaScript è TypeScript ïîÿâèëàñü íàñòðîéêà max-old-space-size. Åå ìîæíî çàäàòü â ôàéëå êîíôèãóðàöèè pvs-settings.toml èëè ÷åðåç óòèëèòó êîìàíäíîé ñòðîêè pvs-js.exe. Ïàðàìåòð ïîçâîëÿåò óïðàâëÿòü îáúåìîì ïàìÿòè, äîñòóïíûì Node.js-ñåðâåðó àíàëèçàòîðà.

 óòèëèòå PVS-Studio_Cmd.exe ïóòè ê êýøàì çàâèñèìîñòåé òåïåðü ìîæíî çàäàâàòü îòíîñèòåëüíî ôàéëà êîíôèãóðàöèè .pvsconfig.

 àíàëèçàòîðå äëÿ C è C++ ðàñøèðèëèñü âîçìîæíîñòè íàñòðîéêè äèàãíîñòè÷åñêèõ ïðàâèë. Íàïðèìåð, ìîæíî âðó÷íóþ óêàçàòü òèïû, êîòîðûå àíàëèçàòîð áóäåò ñ÷èòàòü äåøåâûìè äëÿ êîïèðîâàíèÿ, è íàñòðîèòü ïîâåäåíèå àíàëèçàòîðà â çàâèñèìîñòè îò öåëåâîé ïëàòôîðìû.

Äîïîëíèòåëüíûå ïàðàìåòðû ïîÿâèëèñü è ó äèàãíîñòè÷åñêîãî ïðàâèëà V719. Òåïåðü ìîæíî íàñòðîèòü èãíîðèðîâàíèå default-âåòêè è íåáîëüøèõ ïåðå÷èñëåíèé enum, çàäàòü êîíêðåòíûå èãíîðèðóåìûå çíà÷åíèÿ è äîïóñòèìîå êîëè÷åñòâî èãíîðèðóåìûõ êîíñòàíò.

 PlogConverter — óòèëèòå äëÿ ïðåîáðàçîâàíèÿ è ôèëüòðàöèè îò÷åòîâ — ïîÿâèëàñü âîçìîæíîñòü ôèëüòðàöèè ñðàáàòûâàíèÿ ïî èäåíòèôèêàòîðàì CWE è SAST. Ýòà ôóíêöèÿ ìîæåò áûòü ïîëåçíà ïðè àíàëèçå ðåçóëüòàòîâ ñ ó÷åòîì òðåáîâàíèé ÃÎÑÒ Ð 71207—2024.  ÷àñòíîñòè, îíà ïîçâîëÿåò âûäåëÿòü ñðàáàòûâàíèÿ, êîòîðûå êëàññèôèöèðóþòñÿ ñòàíäàðòîì êàê êðèòè÷åñêèå îøèáêè è èìåþò èäåíòèôèêàòîð SAST ñ ïðåôèêñîì SEC.

 ýòîì ðåëèçå ïðîèçîøëî èçìåíåíèå, êîòîðîå ëîìàåò îáðàòíóþ ñîâìåñòèìîñòü ñ ïðåäûäóùèìè âåðñèÿìè àíàëèçàòîðà.  ñâÿçè ñ ýòèì ìîæåò ïîòðåáîâàòüñÿ èçìåíèòü ñïîñîá åãî èñïîëüçîâàíèÿ.

 óñòàíîâùèêå PVS-Studio äëÿ Windows áûë äîáàâëåí êîä âîçâðàòà 100, êîòîðûé âûäàåòñÿ ïðè íåóäà÷íîé óñòàíîâêå ïëàãèíîâ äëÿ Visual Studio. Òàêæå áûë äîáàâëåí ôëàã skipVSIXInstallErrorCode äëÿ îòêëþ÷åíèÿ íåíóëåâîãî êîäà âîçâðàòà â òàêîì ñëó÷àå.


Êîììåíòàðèè