semvec/pypi-packages huggingface dataset:
strobesprioritization 0.0.3
CVE prioritization score calculator.
Requires Python: >=3.6

# Strobes Prioritization Score

Strobes_Prioritization is a custom version of the cvss score which takes temporal factors into account when scoring the cves for the prioritization. Temporal factors will include
factors like social media trending and real time interest in the cve which makes this score dynamic and makes it more accurate even after years after the cve has been published

The algorithm has many dependent variables like:

- Exp_Avail: Whether or not there is any active exploit available for the listed cve. We can get this from the nvd dataset.
- Malware: Whether or not there is any malware availble for the listed cve. We can get this info from the nvd dataset.
- Seen_wild: Whether this cve is being actively used to exploit in the current trend. We can get this from the nvd dataset
- SLA: Bool Thether or not the SLA has been passed to fix the bug. Will come from the user.
- Asset Exposure: 'Pvt'/'Pub' The asset affected by the cve is public or private. User submits this information 
- Asset Sensitivity: 'High'/'Medium'/'Low' The asset affected by the cve is how much important to the user. User gives this info.
- Cwe_id: Int The id of the Common Weakness Enumeration or CWE used to find the type of vulnerability is the cve. Can be found form the nvd dataset.
- Vector_stringV3: CVSSv3 version vector string  of the cve. Used to get additional information about the cve like the Confidentiality,Availabilitiy, integrity can be found in the CVSS module
- Vector_stringV2: Same as above but for version 2. The weightages need to be converted to v3 before using in the algo.


# Algorithm and weights

  - There are weights assigned to every factor..
    - For Business imapct the severity of the vulnerability type is taken into account. The weights are:
    'Varies by Context': 0.3,
     'Execute Unauthorized Code or Commands': 0.95,
     'Read Files or Directories': 0.6,
     'Other': 0.2,
     'Bypass Protection Mechanism': 0.7,
     'Read Application Data': 0.55,
     'Modify Application Data': 0.6,
     'Modify Files or Directories': 0.75,
     'Unexpected State': 0.6,
     'Modify Memory': 0.65,
     'Read Memory': 0.55,
     'DoS': 0.7,
     'Hide Activities': 0.5,
     'Gain Privileges or Assume Identity': 0.85,
     'Alter Execution Logic': 0.9,
     'Quality Degradation': 0.7,
     'Reduce Maintainability': 0.4,
     'Reduce Performance': 0.45
    - asset_expo = .25 if is_private_asset else .63
    - asset_sense = {'High':.77,'Medium':.67,'Low':.31}.get(asset_sensitivity)
    - sla =  0.67 if sla_violated else 0.44

    tmp_score = 1 - (1-sw)*(1-ea)*(1-ma)  
    impact = 2.63*(iss-.016)-(2.58*(iss-0.02)**15)+(.75*tmp_score)  
    explotability = 5.258 * attack_vector * attack_complexity * priv_req * usr_inter + ((.23 * sla)/20)*custom_weights['SLA']  
    score = (impact+explotability)*100  
    score = (1+(category_score)*.877)*score*(1+(((asset_expo/40)*custom_weights['AE'])*((asset_sense/40)*custom_weights['AS']))/14)