Biblioteka detektorówSkrypty instalacji pakietu

Skrypty instalacji pakietu

Zainstaluj pakiet. Uruchom skrypt.

Dostrzegaj wykonywalne hooki cyklu życia, zanim je przeoczysz w manifeście.

Zobacz problem. Zrozum znalezisko.

Narracja w języku angielskim z napisami.

Jak to umyka uwadze

Agent instaluje zależność. Manifest pakietu zawiera też skrypt uruchamiany podczas instalacji. To, co wygląda jak konfiguracja, może obejmować wykonanie kodu wymagające osobnej weryfikacji.

Projekt może używać hooków instalacyjnych do całkowicie zwykłych kroków budowania. Może też zawierać nieoczekiwane polecenie. Istotne jest to, że skrypt znajduje się w manifeście, gdzie łatwo go przeoczyć, sprawdzając tylko polecenie instalacji najwyższego poziomu.

Co wykrywa ClawMetry

ClawMetry skanuje manifest pakietów w przestrzeni roboczej pod kątem obsługiwanych hooków cyklu życia instalacji. Zgłasza ostrzeżenie o wykonaniu z manifestu pakietu i identyfikuje hook. Skaner odczytuje plik, nie wykonuje znalezionego polecenia.

Różnica zmieniająca wynik

Przykład wyzwalający

postinstall: node build.js

Znalezisko ostrzegawcze

Porównanie bez alarmu

test: node build.js

Brak znaleziska dla tego detektora.

Sprawdzany przykład zawiera skrypt postinstall wskazujący program budowania i generuje ostrzeżenie. Ten sam program umieszczony w zwykłym skrypcie testowym nie uruchamia tego detektora. Rozróżnienie polega na tym, kiedy manifest mówi, że program zostanie uruchomiony.

Sprawdź wynik detektora
{
  "kind": "package_manifest_exec",
  "severity": "warning",
  "evidence": {
    "hooks": [
      "postinstall"
    ],
    "hits": [
      {
        "hook": "postinstall",
        "command": "node build.js",
        "tool": null,
        "alarm": null
      }
    ],
    "manifest": "package.json",
    "tools": [],
    "observed": "package_manifest"
  }
}
Pobierz dane wejściowe i pełne wyniki (JSON)
Jak sprawdzono przykład

Te przykłady oceniają opublikowany detektor z autorskimi danymi zdarzeń lub jednorazowymi plikami konfiguracyjnymi. Filmy ilustrują te zachowania. Nie są nagraniami działających agentów ani interfejsu produktu. Żadne polecenie z przykładów nie zostało wykonane.

Wynik określa zachowanie dla tych danych wejściowych. Nie ustala pozyskiwania danych w czasie rzeczywistym, zapobiegania ani rzeczywistego naruszenia. Sprawdź przypiętą umowę źródłową.

Co sprawdzić dalej

Przeczytaj polecenie hooka i program, do którego się odwołuje. Sprawdź, czy takie zachowanie instalacyjne należy do projektu i czy źródło zależności jest zaufane. Jeśli instalacja już nastąpiła, osobno przejrzyj rzeczywiste efekty przed zaakceptowaniem środowiska.

  1. Przeczytaj hook cyklu życia
  2. Sprawdź wskazany program
  3. Przejrzyj oczekiwane zachowanie instalacji

Co ustala ten sygnał

Hook instalacyjny nie jest automatycznie szkodliwy. Znalezisko zgłasza wpis w manifeście, nie dowód, że instalacja lub wykonanie nastąpiło.

Utrzymaj ważne momenty w zasięgu wzroku.

Śledź aktywność agenta, sprawdzaj znaleziska i decyduj, co wymaga Twojej uwagi.