باز کردن قدرت Sarif: ستون فقرات تجزیه و تحلیل استاتیک مدرن

ابزارهای تجزیه و تحلیل استاتیک برای امنیت نرم افزار مدرن ضروری هستند ، اما ادغام آنها یکپارچه در خطوط لوله DevSecops اغلب یک چالش است. هر ابزاری غالباً یافته های خود را در قالب های اختصاصی به دست می آورد و تیم ها را برای جمع آوری راه حل های سفارشی برای تجزیه ، جمع و مدیریت نتایج به دست می آورد. وارد کردن SARIF (فرمت تبادل نتایج تجزیه و تحلیل استاتیک)– استاندارد باز که این روند را ساده تر می کند.
در این شیرجه عمیق ، ما فرمت پرونده SARIF را از بالا به پایین کشف خواهیم کرد: چرا وجود دارد ، ساختار آن ، مزایایی که برای مهندسان امنیتی و تیم های DevSecops به ارمغان می آورد ، و اینکه چگونه ابزارهای مدرن مانند CodePathfinder – جایگزین SAST منبع باز جایگزین SAST SAST برای LEVERE SARIF برای بالا بردن گردش کار تجزیه و تحلیل استاتیک. این که آیا شما در Sarif تازه کار هستید یا به دنبال تعمیق تخصص فنی خود هستید ، این راهنما منبع یک مرحله ای شماست.
ساریف چیست و چرا اهمیت دارد؟
SARIF (فرمت تبادل نتایج تجزیه و تحلیل استاتیک) یک طرحواره استاندارد JSON است که به منظور نشان دادن خروجی ابزارهای تجزیه و تحلیل استاتیک طراحی شده است. Sarif که از نیاز به متحد کردن قالب های متفاوت متولد شده است ، چگونگی گزارش ابزارها یافته های خود را ساده می کند و باعث می شود که مهندسان امنیتی مصرف ، تریاژ و عمل بر روی آسیب پذیری ها را آسان تر کنند.
در CodePathfinder ، SARIF در هسته فرآیند گزارشگری قرار دارد و ادغام یکپارچه را در خطوط لوله DevSecops امکان پذیر می کند و به تیم های امنیتی اجازه می دهد تا بتوانند مسائل را به طور مؤثر مدیریت و اصلاح کنند.
ساختار Sarif: آناتومی یک استاندارد
در هسته خود ، Sarif یک سند JSON است که مطابق با یک طرح کاملاً تعریف شده (آخرین نسخه 2.1.0) است. در اینجا تجزیه و تحلیل مؤلفه های اصلی آن وجود دارد:
1 $schema
وت version
این زمینه ها طرح SARIF و نسخه آن را به طور معمول 2.1.0 شناسایی می کنند.
2 runs
آرایه ای که در آن هر مورد یک اجرای ابزار واحد را نشان می دهد. در codepathfinder.dev ، هر کار تجزیه و تحلیل یک ساریف تولید می کند run
بشر
3 tool
ابزاری را که تجزیه و تحلیل را انجام داده است توصیف می کند. CodePathfinder شامل ابرداده در مورد موتور اسکن ، نسخه آن و قوانین اعمال شده است.
4 results
این جایی است که یافته ها اسیر می شوند. هر ورودی یک مسئله امنیتی را توصیف می کند ، از جمله:
-
ruleId
: این یافته را به یک قانون خاص وصل می کند. -
message
: شرح موضوع. -
locations
: مکانهای کد منبع ، از جمله مسیر فایل و شماره خط.
5 rules
تعریف شده در tool.driver.rules
، این بخش کلیه قوانینی را که در طول اسکن اعمال شده است ، فهرست می کند. این شامل میزان شدت ، توضیحات و راهنمایی اصلاح است.
نمونه ای از sarif از codepathfinder
در اینجا یک قطعه sarif snippet تولید شده توسط CodePathfinder:
{
"$schema": "https://json.schemastore.org/sarif-2.1.0.json",
"version": "2.1.0",
"runs": [
{
"tool": {
"driver": {
"name": "pathfinder",
"version": "1.0.0",
"informationUri": "https://codepathfinder.dev",
"rules": [
{
"id": "CWE-89",
"name": "SQL Injection Risk",
"shortDescription": { "text": "Potential SQL injection detected." },
"fullDescription": { "text": "Unvalidated user input in SQL query." },
"defaultConfiguration": { "level": "error" },
"properties": { "security-severity": 9.5 }
}
]
}
},
"results": [
{
"ruleId": "CWE-89",
"level": "error",
"message": { "text": "Possible SQL Injection via unvalidated input." },
"locations": [
{
"physicalLocation": {
"artifactLocation": { "uri": "src/main/java/com/example/Database.java" },
"region": { "startLine": 42, "startColumn": 13 }
}
}
]
}
]
}
]
}
مزایای SARIF برای مهندسان امنیتی
1 گزارش استاندارد
دیگر تجزیه کننده های سفارشی برای ابزارهای مختلف وجود ندارد. Sarif تمام یافته ها را مطابق با یک استاندارد مشترک تضمین می کند و آنها را با سیستم عامل هایی مانند اسکن کد GitHub سازگار می کند.
2 قابلیت همکاری
این که آیا خط لوله شما شامل اسکریپت های سفارشی ، داشبورد امنیتی یا ادغام های شخص ثالث است ، Sarif به نتایج اجازه می دهد تا از طریق ابزار DevSecops شما به راحتی جریان یابد.
3 سه گانه پیشرفته
ابرداده های غنی ، از جمله مکان های پرونده ، میزان شدت و جریان داده ها استاندارد شده اند. مهندسان امنیتی می توانند به راحتی در مورد آسیب پذیری ها فیلتر ، اولویت بندی و عمل کنند.
4 سازگاری با اسکن کد GitHub
با خروجی SARIF ، نتایج را می توان مستقیماً در هشدارهای اسکن کد GitHub بارگذاری کرد. توسعه دهندگان مواردی را که در درخواست های کشش با قابلیت ردیابی کامل برجسته شده اند ، می بینند.
CodePathfinder: تجزیه و تحلیل استاتیک با قابلیت SARIF
CodePathfinder.dev برای استفاده از SARIF برای حداکثر قابلیت همکاری طراحی شده است. این که آیا شما یک اسکن مستقل را اجرا می کنید یا در خطوط لوله CI/CD ادغام می شوید ، خروجی های Sarif ما از سازگاری یکپارچه اطمینان می دهند.
با اتخاذ CodePathfinder.dev ، تیم شما به دست می آورد:
- اسکن دقیق در سراسر پروژه های جاوا (و زبانهای بیشتری به زودی!)
- گزارش های مبتنی بر سرف برای ادغام با Github ، Azure DevOps و سایر سیستم عامل ها آماده است
- فوق داده قانون غنی برای راهنمایی روشنایی روشن
- خروجی باز و قابل توسعه برای گردش کار سفارشی
شروع با CodePathfinder و Sarif
آماده دیدن ساریف در عمل هستید؟ امروز اسکن را با CodePathfinder شروع کنید:
- name: CodePathfinder SAST Scan
uses: codepathfinder/codepathfinder-action@v1
with:
project: '.'
output: 'output.sarif'
سپس در اسکن کد GitHub بارگذاری کنید:
- name: Upload SARIF results to GitHub
uses: github/code-scanning/upload-sarif@v1
with:
sarif_file: output.sarif
پایان
SARIF در حال تغییر چگونگی اشتراک و مصرف نتایج تجزیه و تحلیل استاتیک است. با استاندارد سازی در SARIF ، تیم های امنیتی قوام ، وضوح و قابلیت ادغام قدرتمند را به دست می آورند.
در CodePathfinder ، ما متعهد به استفاده از SARIF برای ارائه تجزیه و تحلیل استاتیک منبع باز و ادغام Devsecops بدون درز هستیم. برای کسب اطلاعات بیشتر به CodePathfinder مراجعه کنید و امروز شروع کنید.