אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » פיתוח אינטרנט » ספריות ומודולים » כלי עזר חדש ומגניב של Snyk ל-VSCode: סורק מודולים בזמן אמת

כלי עזר חדש ומגניב של Snyk ל-VSCode: סורק מודולים בזמן אמת

רן בר-זיק ספטמבר 8, 2020 12:30 pm 4 תגובות

תוסף פשוט אך אפקטיבי מאוד ל-VSCode שיכול לשפר את האבטחה של המוצרים שלכם.

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

הביזנס העיקרי של סניק (ושל המתחרות שלה כמו whitesource) זה לספק שירותי אבטחה של מודולים. כל מי שמפתח, משתמש בסופו של דבר בקוד שהוא לא כתב. במיוחד מפתחי קוד פתוח אבל לא רק. הקוד הזה מגיע כספריות, מודולים, פריימוורקים וכו'. עם Node.js זה ממש קל, פשוט עושים npm intsall וצורכים את המודול הזה כ-require או כ-import.

זה מאפשר למפתחי Node.js והאקוסיסטם שלו, וגם למפתחי פרונט אנד שמשתמשים בפלטפורמות שנשענות על Node.js, לפתח ממש ממש מהר. אני לא צריך, למשל, לבנות את הפונקציונליות אלא ממש בלחיצת כפתור לייבא את המודול שמכיל את הפונקציונליות הזו.

למשל, אם אני, בקוד הפרונט אנד שלי או בקוד הבק אנד שלי צריך לבדוק אם מספר מסוים נמצא בטווח של מספםרים, במקום לבנות פונקציה שעושה את זה (שזו מטלה קטנה אבל בכל זאת), אני יכול תוך שניות להשתמש בפונקציה של ספריה שנקראת lodash שמכילה את in range. זה נראה כך:

const inRange = require('lodash/inRange');

const numberToCheck = 3;
const lowBoundry = 2;
const highBoundry = 4;

const result = inRange(numberToCheck, lowBoundry, highBoundry);
console.log(result); // true

זה הכוח של הקוד הפתוח. אבל מה הבעיה? הבעיה היא שהמודולים האלו הם חבילות תוכנה לכל דבר ועניין ובחבילות תוכנה מתגלות חולשות אבטחה. כן, גם ב-Node.js והיו כמה מקרים כאלו בעבר. יש מצב שה-lodash התמים הזה מכיל בעיית אבטחה שתגרום לנו לצרות בהמשך.

הפתרון הוא, בגדול, סריקה סטטית של המודולים עם npm audit או עם סניק, כחלק מהבילד ממש. מפתח השתמש במודול שיש בו חולשות ידועות? הבילד ייפול או שתתקבל התרעה למנהל הפיתוח שיוכל להחליט מה לעשות עם זה. הבעיה היא שהרבה פעמים אנחנו רוצים שהמפתח יקבל התראה באופן מיידי על בעיות אבטחה. כשמפתח מקבל התראה מיידית, ממש בזמן הקלדת השורה, על בעיה, זה הרבה הרבה יותר טוב מאשר הבילד ייפול. כי הרבה פעמים (למרות שזה לא מומלץ), מפתחים עובדים באיטרציות ארוכות. אפילו ארוכות מאוד. ואם הבילד נשבר בגלל ענייני אבטחה, מהניסיון שלי הכי קל זה פשוט לבכות למנהל הפיתוח שיסיר את הבדיקה המנדנדת הזו.

הפתרון הוא לתת חיווי בזמן אמת איפה שאפשר. כלומר אם ברגע שמפתח מבצע require או import אני מקבל התראה שהמודול שבחרתי הוא בעייתי וגם אפשרות מהירה לתקן את זה, אותו מפתח יתקן ולא יחכה שהבילד יישבר. תמיד עדיף שיהיו בדיקות ואפשרות לתיקון גם במקומי.

התוסף של Snyk קל להתקנה (אבל כן מחייב חיבור לאינטרנט). מרגע ההתקנה, הוא סורק כל מודול שמשתמשים בו. יש בעיות? יהיה חיווי מאוד ברור לזה שאנו משתמשים במודול בעייתי.

בדיקת בעיות ב-lodash
בדיקת בעיות ב-lodash

לחיצה על החיווי תראה לנו את התקלה – במקרה הזה מודול של lodash שיש לו בעיות אבטחה.

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

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.
אבטחת מידע פיתוח תשתית

4 תגובות

  1. ברוך הגב ספטמבר 8, 2020 בשעה 9:05 pm

    משפט קטן שאמרת "היא לא מכבידה על העורך ומאוד נעימה לשימוש ויכולה לחסוך לכם כאב ראש לא קטן" גורם לי לנסות…

    עד עכשיו סניק דווקא כן עשה לי בעיות, והערך היחיד שקיבלתי ממנו הוסתר על ידי הערך שקיבלתי מdependsBot.

    • לירן הגב ספטמבר 9, 2020 בשעה 4:33 pm

      היי ברוך. לירן מסניק כאן. אשמח לעזור אם זה רלוונטי.
      אתה בקלות יכול למצוא פרטי קשר שלי כאן https://twitter.com/liran_tal או https://github.com/lirantal

  2. משתמש אנונימי (לא מזוהה) הגב ספטמבר 9, 2020 בשעה 8:29 am

    "בלחיצת כפתור" = "בהקשת מקש(ים)"…

    ובכל מקרה זה בכלל לא כלי חדש.

  3. משתמש אנונימי (לא מזוהה) הגב ספטמבר 10, 2020 בשעה 9:54 am

    ל Whitesource יש כמה כאלה, והם לא כל כך חדשים. ( לי יצא להשתמש גם בפלאגין לeclipse וגם בפלאגין לVSCode שלהם)

השארת תגובה

ביטול

ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד