DetektorbibliotekPaketinstallationsskript

Paketinstallationsskript

Installera paketet. Kör dess skript.

Se körbara livscykel-hooks innan du förbiser dem i ett manifest.

Se problemet. Förstå fyndet.

Engelsk berättarröst med undertexter.

Hur det förbises

Din agent installerar ett beroende. Paketmanifestet namnger också ett skript som körs under installationen. Det som ser ut som installation kan inkludera kodexekvering som förtjänar sin egen granskning.

Ett projekt kan använda installationshooks för helt vanliga byggsteg. Det kan också innehålla ett oväntat kommando. Det viktiga är att skriptet finns i manifestet, där det kan missas om du bara inspekterar installationskommandot på toppnivå.

Vad ClawMetry identifierar

ClawMetry söker igenom arbetsytans paketmanifest efter stödda installationslivscykel-hooks. Det skapar en varning om paketmanifestexekvering och identifierar hooken. Skannern läser filen; den kör inte kommandot den hittar.

Skillnaden som förändrar fyndet

Utlösande exempel

postinstall: node build.js

Varningsfynd

Tyst jämförelse

test: node build.js

Inget fynd för den här detektorn.

Det kontrollerade exemplet har ett postinstallskript som namnger ett byggprogram och producerar en varning. Placera samma program under ett vanligt testskript, och den här detektorn förblir tyst. Distinktionen är när manifestet säger att programmet ska köras.

Granska detektorresultatet
{
  "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"
  }
}
Ladda ner indata och fullständiga resultat (JSON)
Hur exemplet kontrollerades

De här exemplen utvärderar den publicerade detektorn med skapade händelsedata eller tillfälliga konfigurationsfiler. Videorna illustrerar dessa beteenden. De är inte inspelningar av aktiva agenter eller produktgränssnittet. Inget kommando i exemplen utfördes.

Resultatet fastställer beteende för dessa indata. Det fastställer inte körtidsinmatning, förebyggande eller ett verkligt intrång. Granska det fästa källkontraktet.

Vad du kontrollerar härnäst

Läs hook-kommandot och det program det refererar till. Kontrollera om det installationsbeteendet hör hemma i projektet och om beroendesourcen är betrodd. Om installationen redan skett, granska de faktiska effekterna separat innan du accepterar miljön.

  1. Läs livscykel-hooken
  2. Inspektera det refererade programmet
  3. Granska förväntat installationsbeteende

Vad den här signalen fastställer

En installationshook är inte automatiskt fientlig. Det här fyundet rapporterar manifestposten, inte bevis på att installation eller exekvering inträffade.

Håll de viktiga ögonblicken synliga.

Följ agentaktivitet, granska fynd och bestäm vad som behöver din uppmärksamhet.