Пример #1
0
def process_cpe_item(item=None):
    if item is None:
        return None
    if "cpe23Uri" not in item:
        return None

    cpe = {}
    cpe["title"] = generate_title(item["cpe23Uri"])
    cpe["cpe_2_2"] = item["cpe23Uri"]
    cpe["cpe_name"] = item["cpe_name"]
    version_info = ""
    if "versionStartExcluding" in item:
        cpe["versionStartExcluding"] = item["versionStartExcluding"]
        version_info += cpe["versionStartExcluding"]
    if "versionStartIncluding" in item:
        cpe["versionStartIncluding"] = item["versionStartIncluding"]
        version_info += cpe["versionStartIncluding"]
    if "versionEndExcluding" in item:
        cpe["versionEndExcluding"] = item["versionEndExcluding"]
        version_info += cpe["versionEndExcluding"]
    if "versionEndIncluding" in item:
        cpe["versionEndIncluding"] = item["versionEndIncluding"]
        version_info += cpe["versionEndIncluding"]

    sha1_hash = hashlib.sha1(cpe["cpe_2_2"].encode("utf-8") +
                             version_info.encode("utf-8")).hexdigest()
    cpe["id"] = sha1_hash

    return cpe
Пример #2
0
    def process_cpe_item(item=None):
        if item is None:
            return None
        if "cpe23Uri" not in item:
            return None

        cpe = {
            "title": generate_title(item["cpe23Uri"]),
            "cpe_2_2": item["cpe23Uri"],
            "cpe_name": item["cpe_name"],
            "vendor": item["cpe23Uri"].split(":")[3],
            "product": item["cpe23Uri"].split(":")[4],
        }

        version_info = ""
        if "versionStartExcluding" in item:
            cpe["versionStartExcluding"] = item["versionStartExcluding"]
            version_info += cpe["versionStartExcluding"] + "_VSE"
        if "versionStartIncluding" in item:
            cpe["versionStartIncluding"] = item["versionStartIncluding"]
            version_info += cpe["versionStartIncluding"] + "_VSI"
        if "versionEndExcluding" in item:
            cpe["versionEndExcluding"] = item["versionEndExcluding"]
            version_info += cpe["versionEndExcluding"] + "_VEE"
        if "versionEndIncluding" in item:
            cpe["versionEndIncluding"] = item["versionEndIncluding"]
            version_info += cpe["versionEndIncluding"] + "_VEI"

        sha1_hash = hashlib.sha1(cpe["cpe_2_2"].encode("utf-8") +
                                 version_info.encode("utf-8")).hexdigest()

        cpe["id"] = sha1_hash

        return cpe