Library ng mga detectorMga script sa pag-install ng package

Mga script sa pag-install ng package

I-install ang package. Patakbuhin ang script nito.

Makita ang mga executable na lifecycle hook bago mapalampas ang mga ito sa isang manifest.

Tingnan ang problema. Unawain ang natuklasan.

Ingles na pagsasalaysay na may mga subtitle.

Paano ito nababalewalaan

Nag-install ang iyong ahente ng dependency. Ang package manifest ay nagngangalan din ng script na tumatakbo sa panahon ng pag-install. Ang mukhang setup ay maaaring magsama ng pagpapatakbo ng code na karapat-dapat suriin.

Maaaring gamitin ng isang proyekto ang mga install hook para sa ganap na karaniwang mga hakbang sa pagbuo. Maaari rin itong maglaman ng hindi inaasahang command. Ang mahalaga ay ang script ay nasa manifest, kung saan maaari itong mapalampas kung sisuriin mo lamang ang nangungunang command ng pag-install.

Ano ang natutukoy ng ClawMetry

Sinusuri ng ClawMetry ang workspace package manifest para sa mga suportadong install lifecycle hook. Nagtataas ito ng babala sa pagpapatakbo ng package manifest at tinutukoy ang hook. Binabasa ng scanner ang file; hindi nito pinapatakbo ang command na natuklasan nito.

Ang pagkakaibang nagbabago ng natuklasan

Halimbawa ng pag-trigger

postinstall: node build.js

Babala na natuklasan

Tahimik na paghahambing

test: node build.js

Walang natuklasan para sa detector na ito.

Ang sinusuring halimbawa ay may postinstall script na nagngangalan ng build program at gumagawa ng babala. Ilagay ang parehong programa sa ilalim ng karaniwang test script, at ang detector na ito ay nananatiling tahimik. Ang pagkakaiba ay kung kailan sinasabi ng manifest na tatakbo ang programa.

Suriin ang resulta ng detector
{
  "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"
  }
}
I-download ang mga input at kumpletong resulta (JSON)
Paano sinuri ang halimbawa

Sinusuri ng mga halimbawang ito ang inilathala na detector gamit ang isinulat na data ng kaganapan o mga configuration file na maaaring itapon. Isinasalarawan ng mga video ang mga gawi na iyon. Hindi ito mga recording ng mga live na ahente o ng interface ng produkto. Walang utos sa mga halimbawa ang naisakatuparan.

Itinatag ng resulta ang gawi para sa mga input na ito. Hindi nito itinatag ang runtime ingestion, pag-iwas o tunay na kompromiso. Suriin ang nakalagay na source contract.

Ano ang susunod na titingnan

Basahin ang hook command at ang programa na sinanggunian nito. Suriin kung ang gawi sa pag-install na iyon ay nararapat sa proyekto at kung pinagkakatiwalaan ang pinagmulan ng dependency. Kung nangyari na ang pag-install, suriin ang aktwal na mga epekto nang hiwalay bago tanggapin ang kapaligiran.

  1. Basahin ang lifecycle hook
  2. Suriin ang sinangguniyang programa
  3. Suriin ang inaasahang gawi sa pag-install

Ano ang itinatag ng signal na ito

Ang isang install hook ay hindi awtomatikong mapanganib. Iniuulat ng natuklasang ito ang entry sa manifest, hindi patunay na naganap ang pag-install o pagpapatakbo.

Panatilihing nakikita ang mahahalagang sandali.

Subaybayan ang aktibidad ng ahente, suriin ang mga natuklasan at magpasya kung ano ang nangangailangan ng iyong atensyon.