През следващите месеци ще се потопим по-задълбочено в резултатите от тази зима „Проучване на екосистемата на JavaScript“, проучване сред над 16 000 разработчици, проведено от npm в сътрудничество с Node.JS Foundation и JS Foundation. Първата ни тема е Сигурност — и по-конкретно как разработчиците възприемат безопасността на кода, който пишат, и кода с отворен код, който използват. За да прочетете за методологията зад това проучване, щракнете тук.

Приемането на сигурността на сериозно е навик, който професионалните разработчици на софтуер придобиват, когато придобият повече опит. Разработчиците се доверяват повече на сигурността на кода с отворен код, отколкото на кода, който пишат сами, че е защитен, но инструментите за гарантиране на безопасността и качеството на кода оставят много да се желае.

Това са някои от заключенията на проучване сред над 16 000 разработчици, проведено от npm в сътрудничество с Node.js Foundation и JS Foundation. Зададохме много въпроси (благодарим на всички, които отговориха на всичките 54!) и получихме огромно количество невероятна представа от тези данни.

Доволни ли сме от нашата сигурност?

97% от респондентите използват код с отворен код, така че един от първите ни въпроси беше: Загрижени ли сте дали кодът с отворен код, който използвате, е защитен? Очевидно знаехме, че някои хора са сигурни, но се оказа, че 77% от анкетираните са загрижени. Останалите 23% вероятно са много доверчиви типове.

Очевидно това, че просто се интересувате дали е сигурен, не означава, че смятате, че кодът с отворен код не е сигурен; това просто означава, че искате да знаете. Затова попитахме хората дали са доволни от методите, с които разполагат, за да оценят безопасността и качеството на техния код с отворен код. Резултатите не бяха добра новина:

Като цяло 52% от респондентите не са доволни от инструментите, с които разполагат, за да оценят сигурността и качеството на кода с отворен код. Интересното е, че този брой е по-нисък, но не е нула сред хората, които казват, че не са загрижени за сигурността на своя код с отворен код. Тъй като групата „незагрижени за сигурността“ е 23% от всички респонденти, това означава, че 7% от общността на JavaScript смятат, че инструментите за оценка на сигурността с отворен код не са достатъчно добри, но все пак са не се притеснява за сигурността. Ние ги обозначихме вътрешно като групата DGAF, което ме уверява, че означава „оптимистични“.

Повече от половината разработчици на JavaScript смятат, че инструментите, с които разполагат за оценка на сигурността и качеството на кода с отворен код, не са достатъчно добри. Това е тревожно! Но открихме нещо интересно, когато им зададохме същата двойка въпроси, но този път за техния собствен код, след което сравнихме двата набора от отговори.

87% от респондентите казват, че са загрижени за сигурността на кода, който са написали сами, в сравнение със само 77%, казващи същото за отворен код. Здравословното мнозинство е загрижено за сигурността и в двата случая, но това несъответствие предполага, че разработчиците на JavaScript вярват, че кодът с отворен код е защитен повече, отколкото се доверяват на себе си, че пишат защитен код. Ако вярвате в това, тогава това е силен двигател за приемане на код с отворен код на първо място.

Също така попитахме разработчиците за методите, с които разполагат, за да оценят сигурността на кода. И в двата случая мнозинството не бяха доволни от наличните за тях опции за сигурност, но отново загрижеността беше по-голяма за техния собствен код, отколкото за кода с отворен код. Разработчиците изглежда вярват, че кодът с отворен код, макар и да не е перфектен, е по-вероятно да бъде сигурен от кода, който са написали, и че инструментите за гарантиране, че е защитен, са по-добри.

Отношението към сигурността се променя с опита

Друг интересен ефект, който забелязахме при питането на разработчиците на JavaScript за сигурността, е, че разработчиците изглежда стават по-загрижени за сигурността, колкото по-опитни и сложни стават.

Първият знак за това беше, когато разделихме нашите потребители според това колко дълго са използвали JavaScript, в групи, вариращи от по-малко от една година (6% от респондентите) до повече от десет години (19%). Резултатът беше забележително стабилна прогресия:

81% от респондентите с над 10 години опит казаха, че са загрижени за сигурността на кода с отворен код, който използват, в сравнение със само 72% от най-новата група.

Като се има предвид, че колкото по-дълго използвате JavaScript, толкова по-загрижени за неговата сигурност ставате, струва си да се запитате дали това отблъсква хората от езика с течение на времето. Но няма доказателства за това. Попитахме разработчиците дали през следващите 12 месеца възнамеряват да използват JavaScript повече, по-малко или приблизително същото количество. 95% от респондентите казаха повече или приблизително същото и този процент не се промени изобщо в групите, разделени по опит.

Това, което изглежда води до повишаване на съзнанието за сигурност, е просто общо повишаване на задълбочеността и професионализма, докато програмистът натрупва опит. Зададохме на разработчиците редица въпроси относно инструменти и практики и имаше ясен модел, когато отново ги разделихме на групи по опит:

Сравнявайки отново най-опитната група с последната опитна група, най-опитната група беше:

  • По-вероятно е да използвате рамка за тестване (87% до 57%)
  • По-вероятно е да използвате линтер (90% до 75%)
  • По-вероятно е да участват в прегледи на кодове (79% до 50%)
  • По-вероятно е да има външни одити на кода (26% до 9%)
  • По-вероятно е да се използват автоматизирани сканирания за пропуски в сигурността в кода (53% до 27%)

Във всички въпроси процентите нарастваха, докато преминавахме от групи с по-малко към повече опит. Тези неща изглеждат като най-добри практики, възприети от силно мнозинство в повечето случаи.

По-специално, последните 3 практики са свързани със сигурността. Комбинирайки отговорите, успяхме да измерим колко хора използват някаква форма на анализ на сигурността на своя код с отворен код (отговорите за техния собствен код следваха подобен модел). Силно мнозинство го направи както в групите с най-малко опит, така и в групите с най-голям опит, но в групата с най-голям опит това бяха цели 85%.

Изводи

Всички тези данни водят до някои доста ясни заключения:

  • Най-добрите практики като тестване, линтинг, прегледи на код и сканиране за сигурност са признак за опитен разработчик.
  • Голямо мнозинство от разработчиците на JavaScript са загрижени за сигурността както на кода, който пишат, така и на кода с отворен код, който използват.
  • Но разработчиците се доверяват повече на сигурността на кода с отворен код, отколкото на своя собствен.
  • Разработчиците не са доволни от опциите, с които разполагат, за да осигурят своя код.

npm напоследък влага повече ресурси за подобряване на сигурността. През октомври „въведохме двуфакторно удостоверяване за npm акаунти“. През март повече от 8 милиарда изтегляния на пакети – 43% от всички изтегляния на пакети този месец – са били на пакети, принадлежащи на акаунти, защитени с двуфакторно удостоверяване. Това е огромна стъпка напред в гарантирането, че кодът в регистъра е безопасен и сигурен, но има много повече за вършене. Останете на линия.