דביר נעמן

תמונת כותרת לפוסט: סקיל security-ownership-map לקלוד קוד
סקילים לקלוד קוד

סקיל Security Ownership Map

8 דקות קריאה דביר נעמן

security-ownership-map הוא סקיל רשמי של OpenAI שמנתח את היסטוריית ה-git ובונה טופולוגיית בעלות אבטחתית: מי נוגע באילו קבצים. הוא מחשב גורם אוטובוס, bus factor, ובעלות על קוד רגיש, ומייצא קבצי CSV ו-JSON למסדי גרפים והדמיה. הסקיל בונה גרף דו-צדדי של אנשים וקבצים, וגם גרף שינויים-משותפים שמקבץ קבצים לפי האופן שבו הם זזים יחד. כך מגלים קוד רגיש עם בעלים יחיד, בעלים נסתרים, ונקודות חמות מסוכנות. בפרויקטי הפיתוח שאני מוביל, לדעת מי באמת מתחזק את הקוד הרגיש הוא חלק מניהול סיכונים. במדריך תקבלו את כל ההנחיות, ארבעה תרחישי שימוש, וצ'קליסט איכות.

תמונת כותרת לפוסט: סקיל security-ownership-map לקלוד קוד

פקודת התקנה

מפתח: OpenAI
קטגוריה: אבטחה ו-DevOps
התקנות: מעל 1 אלף
רישיון: קוד פתוח
npx skills add openai/skills@security-ownership-map -g -y

ההתקנה מתבצעת דרך מנהל החבילות הרשמי של הסקילים בפקודה אחת. זהו סקיל רשמי של OpenAI הכולל סקריפטי Python, ומופעל כשמבקשים ניתוח בעלות אבטחתי. דורש Python ו-networkx. אפשר להוריד ולבדוק את הקוד דרך הכפתורים שבראש העמוד.

מה הסקיל כולל?

הסקיל מתעד ניתוח בעלות אבטחתי מהיסטוריית git: גרף אנשים-קבצים, חישוב גורם אוטובוס ובעלות על קוד רגיש, קיבוץ לפי שינויים משותפים, וייצוא CSV/JSON להדמיה.

גרף בעלות של אנשים מול קבצים מ-git
חישוב גורם אוטובוס לקוד רגיש
זיהוי קוד רגיש עם בעלים יחיד
חשיפת בעלים נסתרים על קוד אבטחה
קיבוץ קבצים לפי שינויים משותפים
ייצוא CSV ו-JSON למסדי גרפים והדמיה

קוד הסקיל המלא

Markdown

מה זה security-ownership-map ולמה הסקיל הזה שונה?

security-ownership-map פותר סיכון שקוף: אף אחד לא יודע מי באמת מתחזק את הקוד הרגיש. קובץ הצפנה קריטי שנגע בו אדם אחד שעזב הוא פצצה מתקתקת, אבל קשה לזהות אותו ידנית. הסקיל מנתח את היסטוריית ה-git ובונה מפה ברורה של בעלות אבטחתית, מבוססת נתונים אמיתיים.

מה שמייחד אותו הוא הניתוח האבטחתי של ה-git. הסקיל בונה גרף דו-צדדי של אנשים וקבצים, מחשב גורם אוטובוס ובעלות על קוד רגיש לפי כללי רגישות, ומקבץ קבצים לפי שינויים משותפים תוך התעלמות מ-commits רועשים. הוא חושף קוד רגיש מיותם, בעלים נסתרים שמחזיקים אחוז גבוה מקוד האבטחה, ונקודות חמות עם גורם אוטובוס נמוך. את הכל הוא מייצא ל-CSV ו-JSON להדמיה במסדי גרפים.

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

מה security-ownership-map נותן לקלוד קוד?

הסקיל מוסיף לקלוד יכולת לנתח בעלות אבטחתית מ-git: גרף אנשים-קבצים, גורם אוטובוס, זיהוי קוד רגיש מיותם, וייצוא להדמיה.

גרף בעלות מ-git

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

גורם אוטובוס לקוד רגיש

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

קוד מיותם ובעלים נסתרים

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

קיבוץ וייצוא להדמיה

הסקיל מקבץ קבצים לפי שינויים משותפים, תוך התעלמות מ-commits רועשים כמו קבצי נעילה, ומזהה קהילות עם המתחזקים שלהן. את התוצאות הוא מייצא ל-CSV ו-JSON, כך שאפשר לטעון אותן למסד גרפים ולהדמיה ולחקור את הטופולוגיה ויזואלית.

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

למי הסקיל הזה מתאים?

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

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

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

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

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

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

איך security-ownership-map עזר לי בפרויקטים אמיתיים

01

קוד רגיש עם בעלים יחיד

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

bus-factorrisksensitive
02

בעלים נסתר על קוד אבטחה

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

hidden-ownerconcentrationauth
03

השוואה מול CODEOWNERS

השוויתי את המפה מול קובץ ה-CODEOWNERS. התברר שהבעלות הרשמית לא תאמה את המציאות: מי שמוגדר כבעלים כבר לא נגע בקוד, ומישהו אחר תחזק אותו בפועל. עדכנתי את ה-CODEOWNERS כך שישקף את הבעלות האמיתית.

codeownersdriftreality
04

הדמיה של טופולוגיית הבעלות

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

exportgraphvisualize

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

סיכום

סקיל security-ownership-map הוא כלי רשמי מצוין לכל מי שמנהל קוד רגיש. הוא מנתח את היסטוריית ה-git, בונה גרף בעלות, מחשב גורם אוטובוס, חושף קוד מיותם ובעלים נסתרים, ומייצא CSV ו-JSON להדמיה של טופולוגיית הבעלות.

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

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

שיתוף הסקיל

שאלות ותשובות

מה זה בעצם הסקיל security-ownership-map?

זה סקיל רשמי של OpenAI שמנתח את היסטוריית ה-git ובונה טופולוגיית בעלות אבטחתית: מי נוגע באילו קבצים. הוא מחשב גורם אוטובוס ובעלות על קוד רגיש, מקבץ קבצים לפי שינויים משותפים, ומייצא CSV ו-JSON למסדי גרפים והדמיה, כך שמזהים סיכוני בעלות מבוססי נתונים.

מה זה גורם אוטובוס ולמה הוא חשוב?

גורם אוטובוס, bus factor, הוא מספר האנשים שצריכים לעזוב לפני שאף אחד לא מכיר חלק מסוים בקוד. גורם אוטובוס אחד פירושו שאדם יחיד מכיר אזור קריטי, וזה סיכון גדול אם הוא יעזוב. הסקיל מחשב אותו לקוד רגיש, כך שאפשר להפיץ ידע ולהקטין את התלות בזמן.

איך מתקינים את הסקיל בקלוד קוד?

בפקודה אחת דרך מנהל החבילות הרשמי של הסקילים, כפי שמופיע בקופסת ההתקנה למעלה. זהו סקיל רשמי של OpenAI הכולל סקריפטי Python, ודורש Python ואת הספרייה networkx. אחרי ההתקנה בקשו ניתוח בעלות אבטחתי, והסקיל יריץ את הסקריפטים על היסטוריית ה-git.

האם הסקיל שולח את הקוד שלי לאנשהו?

לא. הסקיל מריץ סקריפטי Python מקומית על היסטוריית ה-git שלכם, ומייצא קבצי CSV ו-JSON מקומיים בלבד. שום קוד או נתונים לא נשלחים לשרת חיצוני. כל הניתוח מתבצע על המכונה שלכם, מה שמתאים גם לקוד רגיש שלא אמור לצאת מהארגון.

מהו קוד רגיש מיותם שהסקיל מזהה?

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

איך הסקיל עוזר מול קובץ CODEOWNERS?

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

מה זה גרף שינויים משותפים?

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

האם צריך ידע מתקדם כדי להשתמש בסקיל?

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

דביר נעמן

על הכותב

דביר נעמן – מומחה שיווק דיגיטלי, SEO ואוטומציות

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