Skip to content

Commit 1b4b23a

Browse files
authored
Merge branch 'main' into fix-swagger
2 parents 57af414 + 7cdf304 commit 1b4b23a

46 files changed

Lines changed: 4456 additions & 3139 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.rst

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
Release notes
22
=============
33

4+
Version v40.0.1
5+
---------------------
6+
7+
- Add throttling info in API docs, remove V1 and V2 API docs.
8+
- Avoid converting None to "None" in AdvisorySeverity.
9+
- Refine package curation workflow.
10+
11+
12+
Version v40.0.0
13+
---------------------
14+
15+
- Fix malformed CVSS severity scores.
16+
- Disable v1 API, UI & pipelines.
17+
18+
419
Version v39.0.0
520
---------------------
621

docs/source/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
"http://ftp.suse.com/pub/projects/security/yaml/",
4343
r"https://nixos\.wiki/", # NixOS wiki blocks CI bots with 403
4444
"https://usn.ubuntu.com/usn-db/database-all.json.bz2",
45+
"https://public.vulnerablecode.io/vulnerabilities/search/",
4546
]
4647

4748
# Add any Sphinx extension module names here, as strings. They can be

requirements-dev.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
aboutcode.federated==1.0.3
12
aboutcode.pipeline==0.1.0
23
alabaster==0.7.16
34
altcha==1.0.0

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
aboutcode.federated==1.0.3
12
aboutcode.pipeline==0.1.0
23
altcha==1.0.0
34
asgiref==3.8.1

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = vulnerablecode
3-
version = 39.0.0
3+
version = 40.0.1
44
license = Apache-2.0 AND CC-BY-SA-4.0
55

66
# description must be on ONE line https://github.com/pypa/setuptools/issues/1390

vulnerabilities/importer.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
from typing import Optional
2020
from typing import Set
2121
from typing import Tuple
22-
from typing import Union
2322

2423
import pytz
2524
from dateutil import parser as dateparser
@@ -40,7 +39,6 @@
4039
from vulnerabilities.utils import get_reference_id
4140
from vulnerabilities.utils import is_commit
4241
from vulnerabilities.utils import is_cve
43-
from vulnerabilities.utils import nearest_patched_package
4442
from vulnerabilities.utils import purl_to_dict
4543
from vulnerabilities.utils import update_purl_version
4644

@@ -65,7 +63,7 @@ def __post_init__(self):
6563
raise TypeError(f"system must be a ScoringSystem, got {type(self.system)!r}")
6664

6765
if not isinstance(self.value, str):
68-
self.value = str(self.value)
66+
self.value = str(self.value) if self.value else ""
6967

7068
def to_dict(self):
7169
data = {

vulnerabilities/importers/__init__.py

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -7,38 +7,7 @@
77
# See https://aboutcode.org for more information about nexB OSS projects.
88
#
99

10-
from vulnerabilities.importers import apache_httpd
11-
from vulnerabilities.importers import apache_kafka
12-
from vulnerabilities.importers import apache_tomcat
13-
from vulnerabilities.importers import archlinux
14-
from vulnerabilities.importers import curl
15-
from vulnerabilities.importers import debian
16-
from vulnerabilities.importers import debian_oval
17-
from vulnerabilities.importers import elixir_security
18-
from vulnerabilities.importers import epss
19-
from vulnerabilities.importers import fireeye
20-
from vulnerabilities.importers import gentoo
21-
from vulnerabilities.importers import github_osv
22-
from vulnerabilities.importers import istio
23-
from vulnerabilities.importers import mozilla
24-
from vulnerabilities.importers import oss_fuzz
25-
from vulnerabilities.importers import postgresql
26-
from vulnerabilities.importers import project_kb_msr2019
27-
from vulnerabilities.importers import redhat
28-
from vulnerabilities.importers import retiredotnet
29-
from vulnerabilities.importers import ruby
30-
from vulnerabilities.importers import suse_scores
31-
from vulnerabilities.importers import ubuntu_usn
32-
from vulnerabilities.importers import vulnrichment
33-
from vulnerabilities.importers import xen
3410
from vulnerabilities.pipelines import VulnerableCodeBaseImporterPipelineV2
35-
from vulnerabilities.pipelines import alpine_linux_importer
36-
from vulnerabilities.pipelines import github_importer
37-
from vulnerabilities.pipelines import gitlab_importer
38-
from vulnerabilities.pipelines import nginx_importer
39-
from vulnerabilities.pipelines import npm_importer
40-
from vulnerabilities.pipelines import pypa_importer
41-
from vulnerabilities.pipelines import pysec_importer
4211
from vulnerabilities.pipelines.v2_importers import alpine_linux_importer as alpine_linux_importer_v2
4312
from vulnerabilities.pipelines.v2_importers import aosp_importer as aosp_importer_v2
4413
from vulnerabilities.pipelines.v2_importers import apache_httpd_importer as apache_httpd_v2
@@ -159,37 +128,6 @@
159128
collect_fix_commits_v2.CollectGitFixCommitsPipeline,
160129
collect_fix_commits_v2.CollectJenkinsFixCommitsPipeline,
161130
collect_fix_commits_v2.CollectGitlabFixCommitsPipeline,
162-
github_importer.GitHubAPIImporterPipeline,
163-
gitlab_importer.GitLabImporterPipeline,
164-
github_osv.GithubOSVImporter,
165-
pypa_importer.PyPaImporterPipeline,
166-
npm_importer.NpmImporterPipeline,
167-
nginx_importer.NginxImporterPipeline,
168-
pysec_importer.PyPIImporterPipeline,
169-
apache_tomcat.ApacheTomcatImporter,
170-
postgresql.PostgreSQLImporter,
171-
debian.DebianImporter,
172-
curl.CurlImporter,
173-
epss.EPSSImporter,
174-
vulnrichment.VulnrichImporter,
175-
alpine_linux_importer.AlpineLinuxImporterPipeline,
176-
apache_kafka.ApacheKafkaImporter,
177-
ruby.RubyImporter,
178-
redhat.RedhatImporter,
179-
archlinux.ArchlinuxImporter,
180-
debian_oval.DebianOvalImporter,
181-
retiredotnet.RetireDotnetImporter,
182-
apache_httpd.ApacheHTTPDImporter,
183-
mozilla.MozillaImporter,
184-
gentoo.GentooImporter,
185-
istio.IstioImporter,
186-
project_kb_msr2019.ProjectKBMSRImporter,
187-
suse_scores.SUSESeverityScoreImporter,
188-
elixir_security.ElixirSecurityImporter,
189-
xen.XenImporter,
190-
ubuntu_usn.UbuntuUSNImporter,
191-
fireeye.FireyeImporter,
192-
oss_fuzz.OSSFuzzImporter,
193131
]
194132
)
195133

vulnerabilities/improvers/__init__.py

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,6 @@
77
# See https://aboutcode.org for more information about nexB OSS projects.
88
#
99

10-
from vulnerabilities.improvers import valid_versions
11-
from vulnerabilities.improvers import vulnerability_status
12-
from vulnerabilities.pipelines import compute_package_risk
13-
from vulnerabilities.pipelines import compute_package_version_rank
14-
from vulnerabilities.pipelines import enhance_with_exploitdb
15-
from vulnerabilities.pipelines import enhance_with_kev
16-
from vulnerabilities.pipelines import enhance_with_metasploit
17-
from vulnerabilities.pipelines import flag_ghost_packages
18-
from vulnerabilities.pipelines import populate_vulnerability_summary_pipeline
1910
from vulnerabilities.pipelines.v2_improvers import archive_urls
2011
from vulnerabilities.pipelines.v2_improvers import collect_ssvc_trees
2112
from vulnerabilities.pipelines.v2_improvers import compute_advisory_todo as compute_advisory_todo_v2
@@ -51,29 +42,6 @@
5142
reference_collect_commits.CollectReferencesFixCommitsPipeline,
5243
enhance_with_github_poc.GithubPocsImproverPipeline,
5344
mark_unfurl_version_range.MarkUnfurlVersionRangePipeline,
54-
valid_versions.GitHubBasicImprover,
55-
valid_versions.GitLabBasicImprover,
56-
valid_versions.NginxBasicImprover,
57-
valid_versions.ApacheHTTPDImprover,
58-
valid_versions.DebianBasicImprover,
59-
valid_versions.NpmImprover,
60-
valid_versions.ElixirImprover,
61-
valid_versions.ApacheTomcatImprover,
62-
valid_versions.ApacheKafkaImprover,
63-
valid_versions.IstioImprover,
64-
valid_versions.DebianOvalImprover,
65-
valid_versions.OSSFuzzImprover,
66-
valid_versions.RubyImprover,
67-
valid_versions.GithubOSVImprover,
68-
vulnerability_status.VulnerabilityStatusImprover,
69-
valid_versions.CurlImprover,
70-
flag_ghost_packages.FlagGhostPackagePipeline,
71-
enhance_with_kev.VulnerabilityKevPipeline,
72-
enhance_with_metasploit.MetasploitImproverPipeline,
73-
enhance_with_exploitdb.ExploitDBImproverPipeline,
74-
compute_package_risk.ComputePackageRiskPipeline,
75-
compute_package_version_rank.ComputeVersionRankPipeline,
76-
populate_vulnerability_summary_pipeline.PopulateVulnerabilitySummariesPipeline,
7745
group_advisories_for_packages_v2.GroupAdvisoriesForPackages,
7846
]
7947
)

vulnerabilities/middleware/altcha_protection.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
ALTCHA_PROTECTED_PREFIXES = (
1919
"/packages/",
20-
"/vulnerabilities/",
2120
"/advisories/",
2221
"/affected-by-advisories/v2/",
2322
"/fixing-advisories/v2/",
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Generated by Django 5.2.11 on 2026-06-30 08:15
2+
3+
from django.db import migrations
4+
from django.db.models import Value
5+
from django.db.models.functions import Concat
6+
7+
8+
class Migration(migrations.Migration):
9+
10+
dependencies = [
11+
("vulnerabilities", "0137_alter_pipelineschedule_run_interval"),
12+
]
13+
14+
def fix_malformed_cvss_severity(apps, schema_editor):
15+
AdvisorySeverity = apps.get_model("vulnerabilities", "AdvisorySeverity")
16+
17+
AdvisorySeverity.objects.filter(
18+
scoring_system="cvssv3.1",
19+
scoring_elements__startswith="CVSS:3.0/",
20+
).update(scoring_system="cvssv3")
21+
22+
AdvisorySeverity.objects.filter(
23+
scoring_system="cvssv3",
24+
scoring_elements__isnull=False,
25+
).exclude(
26+
scoring_elements="",
27+
).exclude(
28+
scoring_elements__startswith="CVSS:3.0/",
29+
).update(
30+
scoring_elements=Concat(
31+
Value("CVSS:3.0/"),
32+
"scoring_elements",
33+
)
34+
)
35+
36+
operations = [
37+
migrations.RunPython(
38+
fix_malformed_cvss_severity,
39+
reverse_code=migrations.RunPython.noop,
40+
),
41+
]

0 commit comments

Comments
 (0)