Skip to content

Commit 6b105e6

Browse files
author
司芳源
committed
Merge branch 'main' of github.com:nexB/vulnerablecode
Signed-off-by: 司芳源 <[email protected]>
2 parents dcc9d6f + 28f5659 commit 6b105e6

Some content is hidden

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

85 files changed

+266
-250
lines changed

Makefile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ VENV=venv
2727
ACTIVATE?=. ${VENV}/bin/activate;
2828
VIRTUALENV_PYZ=etc/thirdparty/virtualenv.pyz
2929
BLACK_ARGS=-l 100 .
30+
ISORT_ARGS=.
3031
# Do not depend on Python to generate the SECRET_KEY
3132
GET_SECRET_KEY=`base64 /dev/urandom | head -c50`
3233
# Customize with `$ make envfile ENV_FILE=/etc/vulnerablecode/.env`
@@ -61,14 +62,20 @@ envfile:
6162
@echo SECRET_KEY=\"${GET_SECRET_KEY}\" > ${ENV_FILE}
6263

6364
check:
65+
@echo "-> Run isort validation"
66+
@${ACTIVATE} isort --check-only ${ISORT_ARGS}
6467
@echo "-> Run black validation"
6568
@${ACTIVATE} black --check ${BLACK_ARGS}
6669

6770
black:
6871
@echo "-> Apply black code formatter"
6972
${VENV}/bin/black ${BLACK_ARGS}
7073

71-
valid: black
74+
isort:
75+
@echo "-> Apply isort code formatter"
76+
${VENV}/bin/isort ${ISORT_ARGS}
77+
78+
valid: isort black
7279

7380
clean:
7481
@echo "-> Clean the Python env"

pyproject.toml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,10 @@ addopts = [
4343
"-rfExXw",
4444
"--strict",
4545
"--doctest-modules"
46-
]
46+
]
47+
48+
[tool.isort]
49+
profile = "black"
50+
line_length = 100
51+
force_single_line = true
52+
skip_gitignore = true

requirements-dev.txt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
pytest
2-
pytest-django
3-
freezegun
4-
ipython
5-
black
1+
black==22.1.0
2+
freezegun==1.1.0
3+
ipython==8.0.1
4+
isort==5.10.1
5+
pytest==7.0.0
6+
pytest-django==4.5.2

setup.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
from setuptools import find_packages
55
from setuptools import setup
66

7-
87
requirements = [
98
r.strip() for r in open("requirements.txt") if r.strip() and not r.strip().startswith("#")
109
]

vulnerabilities/admin.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,11 @@
2323

2424
from django.contrib import admin
2525

26-
from vulnerabilities.models import (
27-
PackageRelatedVulnerability,
28-
Package,
29-
Vulnerability,
30-
VulnerabilityReference,
31-
VulnerabilitySeverity,
32-
)
26+
from vulnerabilities.models import Package
27+
from vulnerabilities.models import PackageRelatedVulnerability
28+
from vulnerabilities.models import Vulnerability
29+
from vulnerabilities.models import VulnerabilityReference
30+
from vulnerabilities.models import VulnerabilitySeverity
3331

3432

3533
@admin.register(Vulnerability)

vulnerabilities/api.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,11 @@
2525

2626
from django_filters import rest_framework as filters
2727
from packageurl import PackageURL
28-
29-
from rest_framework import serializers, viewsets
28+
from rest_framework import serializers
29+
from rest_framework import viewsets
3030
from rest_framework.decorators import action
3131
from rest_framework.response import Response
32+
3233
from vulnerabilities.models import Package
3334
from vulnerabilities.models import Vulnerability
3435
from vulnerabilities.models import VulnerabilityReference

vulnerabilities/forms.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222

2323
from django import forms
2424

25-
from vulnerabilities.models import Package, PackageRelatedVulnerability, Vulnerability
25+
from vulnerabilities.models import Package
26+
from vulnerabilities.models import PackageRelatedVulnerability
27+
from vulnerabilities.models import Vulnerability
2628

2729

2830
def get_package_types():

vulnerabilities/import_runner.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,13 @@
2525
import datetime
2626
import json
2727
import logging
28-
from typing import List
2928
from typing import Iterable
30-
29+
from typing import List
3130

3231
from vulnerabilities import models
33-
from vulnerabilities.models import Advisory
3432
from vulnerabilities.importer import AdvisoryData
3533
from vulnerabilities.importer import Importer
34+
from vulnerabilities.models import Advisory
3635

3736
logger = logging.getLogger(__name__)
3837

vulnerabilities/importer.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,19 @@
2020
# VulnerableCode is a free software code scanning tool from nexB Inc. and others.
2121
# Visit https://github.com/nexB/vulnerablecode/ for support and download.
2222
import dataclasses
23+
import datetime
2324
import logging
2425
import os
2526
import shutil
2627
import tempfile
2728
import traceback
2829
import xml.etree.ElementTree as ET
29-
import datetime
3030
from pathlib import Path
31+
from typing import Iterable
3132
from typing import List
3233
from typing import Mapping
3334
from typing import Optional
3435
from typing import Set
35-
from typing import Iterable
3636
from typing import Tuple
3737

3838
from binaryornot.helpers import is_binary_string
@@ -41,11 +41,12 @@
4141
from packageurl import PackageURL
4242
from univers.version_range import VersionRange
4343
from univers.versions import Version
44-
from vulnerabilities.helpers import nearest_patched_package
44+
4545
from vulnerabilities.helpers import classproperty
46+
from vulnerabilities.helpers import nearest_patched_package
4647
from vulnerabilities.oval_parser import OvalParser
47-
from vulnerabilities.severity_systems import ScoringSystem
4848
from vulnerabilities.severity_systems import SCORING_SYSTEMS
49+
from vulnerabilities.severity_systems import ScoringSystem
4950

5051
logger = logging.getLogger(__name__)
5152

vulnerabilities/importers/alpine_linux.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@
2929
import saneyaml
3030
from bs4 import BeautifulSoup
3131

32+
from vulnerabilities.helpers import is_cve
3233
from vulnerabilities.importer import Advisory
3334
from vulnerabilities.importer import Importer
3435
from vulnerabilities.importer import Reference
35-
from vulnerabilities.helpers import is_cve
3636

3737
BASE_URL = "https://secdb.alpinelinux.org/"
3838

vulnerabilities/importers/apache_httpd.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,16 @@
2727
import requests
2828
from bs4 import BeautifulSoup
2929
from packageurl import PackageURL
30-
from univers.versions import SemverVersion
3130
from univers.version_specifier import VersionSpecifier
31+
from univers.versions import SemverVersion
3232

33+
from vulnerabilities.helpers import nearest_patched_package
3334
from vulnerabilities.importer import Advisory
3435
from vulnerabilities.importer import Importer
3536
from vulnerabilities.importer import Reference
3637
from vulnerabilities.importer import VulnerabilitySeverity
3738
from vulnerabilities.package_managers import GitHubTagsAPI
3839
from vulnerabilities.severity_systems import scoring_systems
39-
from vulnerabilities.helpers import nearest_patched_package
4040

4141

4242
class ApacheHTTPDImporter(Importer):

vulnerabilities/importers/apache_kafka.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@
2525
import requests
2626
from bs4 import BeautifulSoup
2727
from packageurl import PackageURL
28-
from univers.versions import MavenVersion
2928
from univers.version_specifier import VersionSpecifier
29+
from univers.versions import MavenVersion
3030

31+
from vulnerabilities.helpers import nearest_patched_package
3132
from vulnerabilities.importer import Advisory
3233
from vulnerabilities.importer import Importer
3334
from vulnerabilities.importer import Reference
3435
from vulnerabilities.package_managers import GitHubTagsAPI
35-
from vulnerabilities.helpers import nearest_patched_package
3636

3737
GH_PAGE_URL = "https://raw.githubusercontent.com/apache/kafka-site/asf-site/cve-list.html"
3838
ASF_PAGE_URL = "https://kafka.apache.org/cve-list"

vulnerabilities/importers/apache_tomcat.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,18 @@
2424
import dataclasses
2525
import re
2626

27-
2827
import requests
2928
from bs4 import BeautifulSoup
29+
from packageurl import PackageURL
3030
from univers.version_specifier import VersionSpecifier
3131
from univers.versions import MavenVersion
3232
from univers.versions import SemverVersion
33-
from packageurl import PackageURL
3433

34+
from vulnerabilities.helpers import create_etag
35+
from vulnerabilities.helpers import nearest_patched_package
3536
from vulnerabilities.importer import Advisory
3637
from vulnerabilities.importer import Importer
3738
from vulnerabilities.importer import Reference
38-
from vulnerabilities.helpers import create_etag
39-
from vulnerabilities.helpers import nearest_patched_package
4039
from vulnerabilities.package_managers import MavenVersionAPI
4140

4241

vulnerabilities/importers/archlinux.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@
3030

3131
from packageurl import PackageURL
3232

33+
from vulnerabilities.helpers import nearest_patched_package
3334
from vulnerabilities.importer import Advisory
3435
from vulnerabilities.importer import Importer
3536
from vulnerabilities.importer import Reference
3637
from vulnerabilities.importer import VulnerabilitySeverity
37-
from vulnerabilities.helpers import nearest_patched_package
3838
from vulnerabilities.severity_systems import scoring_systems
3939

4040

vulnerabilities/importers/debian.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,19 @@
2222
# Visit https://github.com/nexB/vulnerablecode/ for support and download.
2323

2424
import dataclasses
25-
from dateutil import parser as dateparser
2625
from typing import Any
2726
from typing import List
2827
from typing import Mapping
2928
from typing import Set
3029

3130
import requests
31+
from dateutil import parser as dateparser
3232
from packageurl import PackageURL
3333

34+
from vulnerabilities.helpers import nearest_patched_package
3435
from vulnerabilities.importer import Advisory
3536
from vulnerabilities.importer import Importer
3637
from vulnerabilities.importer import Reference
37-
from vulnerabilities.helpers import nearest_patched_package
3838

3939

4040
class DebianImporter(Importer):

vulnerabilities/importers/debian_oval.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@
2727

2828
import requests
2929

30+
from vulnerabilities.helpers import create_etag
3031
from vulnerabilities.importer import OvalImporter
3132
from vulnerabilities.package_managers import DebianVersionAPI
32-
from vulnerabilities.helpers import create_etag
3333

3434

3535
class DebianOvalImporter(OvalImporter):

vulnerabilities/importers/elixir_security.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@
2626
from univers.version_specifier import VersionSpecifier
2727
from univers.versions import SemverVersion
2828

29+
from vulnerabilities.helpers import load_yaml
30+
from vulnerabilities.helpers import nearest_patched_package
2931
from vulnerabilities.importer import Advisory
3032
from vulnerabilities.importer import GitImporter
3133
from vulnerabilities.importer import Reference
32-
from vulnerabilities.helpers import load_yaml
33-
from vulnerabilities.helpers import nearest_patched_package
3434
from vulnerabilities.package_managers import HexVersionAPI
3535

3636

vulnerabilities/importers/gentoo.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626

2727
from packageurl import PackageURL
2828

29-
from vulnerabilities.importer import GitImporter
29+
from vulnerabilities.helpers import nearest_patched_package
3030
from vulnerabilities.importer import Advisory
31+
from vulnerabilities.importer import GitImporter
3132
from vulnerabilities.importer import Reference
32-
from vulnerabilities.helpers import nearest_patched_package
3333

3434

3535
class GentooImporter(GitImporter):

vulnerabilities/importers/github.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,32 +21,32 @@
2121
# Visit https://github.com/nexB/vulnerablecode/ for support and download.
2222

2323
import asyncio
24-
import os
2524
import dataclasses
26-
from dateutil import parser as dateparser
27-
from typing import Set
28-
from typing import Tuple
25+
import os
2926
from typing import List
3027
from typing import Mapping
3128
from typing import Optional
29+
from typing import Set
30+
from typing import Tuple
3231

3332
import requests
33+
from dateutil import parser as dateparser
3434
from packageurl import PackageURL
3535
from univers.version_specifier import VersionSpecifier
3636
from univers.versions import version_class_by_package_type
3737

38+
from vulnerabilities.helpers import nearest_patched_package
3839
from vulnerabilities.importer import Advisory
3940
from vulnerabilities.importer import Importer
4041
from vulnerabilities.importer import Reference
4142
from vulnerabilities.importer import VulnerabilitySeverity
43+
from vulnerabilities.package_managers import ComposerVersionAPI
4244
from vulnerabilities.package_managers import MavenVersionAPI
4345
from vulnerabilities.package_managers import NugetVersionAPI
44-
from vulnerabilities.package_managers import ComposerVersionAPI
4546
from vulnerabilities.package_managers import PypiVersionAPI
4647
from vulnerabilities.package_managers import GoproxyVersionAPI
4748
from vulnerabilities.package_managers import RubyVersionAPI
4849
from vulnerabilities.severity_systems import scoring_systems
49-
from vulnerabilities.helpers import nearest_patched_package
5050

5151
# set of all possible values of first '%s' = {'MAVEN','COMPOSER', 'NUGET', 'RUBYGEMS', 'PYPI'}
5252
# second '%s' is interesting, it will have the value '' for the first request,

vulnerabilities/importers/istio.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,21 @@
2020
# VulnerableCode is a free software tool from nexB Inc. and others.
2121
# Visit https://github.com/nexB/vulnerablecode/ for support and download.
2222
import asyncio
23-
import pytz
2423
import re
25-
from dateutil import parser
2624
from typing import Set
2725

26+
import pytz
2827
import saneyaml
28+
from dateutil import parser
2929
from packageurl import PackageURL
3030
from univers.version_specifier import VersionSpecifier
3131
from univers.versions import SemverVersion
3232

33+
from vulnerabilities.helpers import nearest_patched_package
34+
from vulnerabilities.helpers import split_markdown_front_matter
3335
from vulnerabilities.importer import Advisory
3436
from vulnerabilities.importer import GitImporter
3537
from vulnerabilities.importer import Reference
36-
from vulnerabilities.helpers import nearest_patched_package
37-
from vulnerabilities.helpers import split_markdown_front_matter
3838
from vulnerabilities.package_managers import GitHubTagsAPI
3939

4040
is_release = re.compile(r"^[\d.]+$", re.IGNORECASE).match

vulnerabilities/importers/kaybee.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222

2323
from packageurl import PackageURL
2424

25-
from vulnerabilities.importer import GitImporter
26-
from vulnerabilities.importer import Advisory
27-
from vulnerabilities.importer import Reference
2825
from vulnerabilities.helpers import load_yaml
2926
from vulnerabilities.helpers import nearest_patched_package
27+
from vulnerabilities.importer import Advisory
28+
from vulnerabilities.importer import GitImporter
29+
from vulnerabilities.importer import Reference
3030

3131

3232
class KaybeeImporter(GitImporter):

0 commit comments

Comments
 (0)