این پروژه با هدف درک عمیقتر از انواع باگهای گزارششده، پذیرفتهشده یا ردشده، و بهبود استراتژیهای شکار باگ انجام شده است. در ادامه، نحوهی انجام این هدف و ابزارهای استفادهشده توضیح داده شده است.
هدف اصلی، تحلیل گزارشهای افشاشدهی باگ برای شناسایی الگوها در آسیبپذیریها و گزارشدهی آنها بوده است. در ابتدا، هدف تحلیل ۱۰,۰۰۰ گزارش بود، اما به دلیل محدودیتهای زمانی و منابع، این تعداد به ۵,۰۰۰ گزارش کاهش یافت. برای جمعآوری دادهها، از H1 Data Dump استفاده شد که شامل اطلاعاتی از گزارشهای افشاشده در HackerOne است.
برای پردازش و تحلیل دادهها، از زبان برنامهنویسی Python و کتابخانههایی مانند Pandas و Matplotlib استفاده شد. این ابزارها به تجزیه و تحلیل دادهها و ایجاد نمودارهای بصری کمک کردند.
import requests
import json
j = 0
while j < 20000000:
graphql_query = {
“operationName”: “HacktivitySearchQuery”,
“variables”: {
“queryString”: “*:*”,
“size”: 25,
“from”: j,
“sort”: {“field”: “disclosed_at”, “direction”: “DESC”}
},
“query”: “query HacktivitySearchQuery…”
}
response = requests.post(‘https://hackerone.com/graphql’, json=graphql_query)
if response.status_code == 200:
data = response.json()
with open(‘h1reports.txt’, ‘a’) as f:
for i in data[“data”][“search”][‘nodes’]:
f.write(i[‘report’][‘url’] + ‘\n’)
else:
print(f”Request failed with status code: {response.status_code}”)
j += 25
در نتیجهی این تحلیل، الگوهایی در انواع آسیبپذیریها، برنامههای هدف، و روشهای گزارشدهی شناسایی شد که میتواند به شکارچیان باگ در بهبود استراتژیهای خود کمک کند. همچنین، این مطالعه نشان داد که برخی از آسیبپذیریها بیشتر گزارش میشوند و برخی برنامهها بیشتر در معرض این آسیبپذیریها قرار دارند.
در نهایت، این پروژه نشان داد که تحلیل سیستماتیک گزارشهای افشاشده میتواند به درک بهتری از اکوسیستم باگ بانتی و بهبود روشهای شکار باگ منجر شود.
یک نظر