Sobes.tech
Back to tasks
Junior — Middle+
77

Подсчёт количества разных уязвимостей для каждого устройства

Companies where asked:
Cybersec

Task condition

livecode

Необходимо доработать текущий скрипт, чтобы он выводил количество уникальных уязвимостей, сгруппированных по каждому device_id.


def process_paginated_response(content, res):
    total = 0
    for item in content:
        device_id = item["device_id"]
        vuln_num = len(item["vulnerabilities"])
        res[device_id] += vuln_num
        total += vuln_num
    return total

res = defaultdict(int)
total_ = 0
page_number = 1

while True:
    url = f"{base_url}?page_number={page_number}"
    content_ = requests.get(url, auth=(username, password)).json()
    total_ += process_paginated_response(content_["results"], res)
    if content_["more"] is False:
        break
    page_number += 1

print(json.dumps(dict(res), indent=4))
print(total_)