ספריית גלאיםסקריפטי התקנת חבילה

סקריפטי התקנת חבילה

התקן את החבילה. הרץ את הסקריפט שלה.

ראה hooks מחזור חיים הניתנים להרצה לפני שתחמיץ אותם ב-manifest.

ראה את הבעיה. הבן את הממצא.

פרשנות באנגלית עם כתוביות.

איך זה נעלם מהעין

הסוכן שלך מתקין תלות. ה-manifest של החבילה גם נוקב בשם סקריפט שרץ במהלך ההתקנה. מה שנראה כהגדרה יכול לכלול הרצת קוד הראויה לבדיקה משלה.

פרויקט עשוי להשתמש ב-install hooks לשלבי build רגילים לחלוטין. הוא גם עשוי להכיל פקודה בלתי צפויה. הנקודה החשובה היא שהסקריפט נמצא ב-manifest, שם ניתן להחמיצו אם תבדוק רק את פקודת ההתקנה ברמה העליונה.

מה ClawMetry מזהה

ClawMetry סורק את ה-manifest של חבילת סביבת העבודה ל-install lifecycle hooks נתמכים. הוא מעלה אזהרת הרצת manifest חבילה ומזהה את ה-hook. הסורק קורא את הקובץ; הוא לא מריץ את הפקודה שמוצא.

ההבדל שמשנה את הממצא

דוגמה מפעילה

postinstall: node build.js

ממצא אזהרה

השוואה שקטה

test: node build.js

אין ממצא לגלאי זה.

לדוגמה הנבדקת יש סקריפט postinstall הנוקב בשם תוכנית build ומייצר אזהרה. שים את אותה תוכנית תחת סקריפט test רגיל, וגלאי זה נשאר שקט. ההבחנה היא מתי ה-manifest אומר שהתוכנית תרוץ.

בדוק את תוצאת הגלאי
{
  "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"
  }
}
הורד קלטים ותוצאות מלאות (JSON)
איך הדוגמה נבדקה

דוגמאות אלה מעריכות את הגלאי שפורסם עם נתוני אירועים שנוצרו או קבצי תצורה חד פעמיים. הסרטונים ממחישים את ההתנהגויות הללו. אינם הקלטות של סוכנים חיים או ממשק המוצר. אף פקודה בדוגמאות לא בוצעה.

התוצאה מבססת התנהגות עבור קלטים אלה. אינה מבססת קליטת זמן ריצה, מניעה או פגיעה אמיתית. בדוק את חוזה המקור המצומד.

מה לבדוק בהמשך

קרא את פקודת ה-hook ואת התוכנית אליה היא מפנה. בדוק האם התנהגות ההתקנה הזו שייכת לפרויקט והאם מקור התלות מהימן. אם ההתקנה כבר התרחשה, בדוק את ההשפעות בפועל בנפרד לפני קבלת הסביבה.

  1. קרא את ה-lifecycle hook
  2. בדוק את התוכנית המוזכרת
  3. בדוק התנהגות התקנה צפויה

מה אות זה מבסס

install hook אינו בהכרח עוין. ממצא זה מדווח על הרשומה ב-manifest, לא הוכחה שהתקנה או הרצה התרחשו.

שמור על הרגעים החשובים גלויים.

עקוב אחר פעילות הסוכן, בדוק ממצאים והחלט מה דורש את תשומת לבך.