Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Connectors] Integrate Pydantic V2 Compatibility Changes #2444

Merged
merged 2 commits into from
Aug 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion external-import/alienvault/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
pycti==6.2.11
pydantic==1.10.17
pydantic==2.8.2
OTXv2==1.5.12
4 changes: 2 additions & 2 deletions external-import/alienvault/src/alienvault/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
from datetime import datetime
from typing import List

import pydantic
from alienvault.models import Pulse
from OTXv2 import OTXv2
from pydantic.v1 import parse_obj_as

__all__ = [
"AlienVaultClient",
Expand Down Expand Up @@ -39,6 +39,6 @@ def get_pulses_subscribed(
:return: A list of pulses.
"""
pulse_data = self.otx.getsince(timestamp=modified_since, limit=limit)
pulses = pydantic.parse_obj_as(List[Pulse], pulse_data)
pulses = parse_obj_as(List[Pulse], pulse_data)

return pulses
2 changes: 1 addition & 1 deletion external-import/alienvault/src/alienvault/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from datetime import datetime
from typing import List, Literal, Optional, Union

from pydantic import BaseModel
from pydantic.v1 import BaseModel

__all__ = [
"Pulse",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from typing import Any, Dict, List, Mapping, Optional, Union

from crowdstrike_feeds_services.client.reports import ReportsAPI
from pydantic import BaseModel
from pydantic.v1 import BaseModel

from . import create_file_from_download

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from io import StringIO
from typing import Any, List, Optional

from pydantic import BaseModel
from pydantic.v1 import BaseModel

from . import convert_comma_separated_str_to_list

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from io import StringIO
from typing import List, Optional

from pydantic import BaseModel
from pydantic.v1 import BaseModel

from . import convert_comma_separated_str_to_list

Expand Down
2 changes: 1 addition & 1 deletion external-import/crowdstrike/src/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pycti==6.2.11
lxml==5.2.2
crowdstrike-falconpy==1.4.4
pydantic==1.10.17
pydantic==2.8.2
5 changes: 2 additions & 3 deletions external-import/ironnet/src/ironnet/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
from datetime import datetime
from typing import Dict, Iterator, List

import pydantic
import requests
import urllib3.exceptions
from pydantic import BaseModel
from pydantic.v1 import BaseModel, parse_raw_as
from requests import Response

__all__ = [
Expand Down Expand Up @@ -60,7 +59,7 @@ def query(self) -> Iterator[IronNetItem]:
List[IronNetItem],
],
]
result = pydantic.parse_raw_as(result_type, resp.text)
result = parse_raw_as(result_type, resp.text)
for indicator, ports in result.items():
for port, entries in ports.items():
for entry in entries:
Expand Down
2 changes: 1 addition & 1 deletion external-import/ironnet/src/ironnet/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from datetime import timedelta

from pydantic import BaseModel, BaseSettings, Field, validator
from pydantic.v1 import BaseModel, BaseSettings, Field, validator

__all__ = [
"RootConfig",
Expand Down
2 changes: 1 addition & 1 deletion external-import/ironnet/src/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
pycti==6.2.11
pydantic==1.10.17
pydantic==2.8.2
2 changes: 1 addition & 1 deletion external-import/kaspersky/src/kaspersky/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from kaspersky.models import Publication
from kaspersky.utils import datetime_to_timestamp, decode_base64_gzip_to_string
from pycti import OpenCTIConnectorHelper
from pydantic.tools import parse_obj_as
from pydantic.v1.tools import parse_obj_as
from requests import RequestException, Response
from requests.exceptions import ConnectTimeout, ReadTimeout

Expand Down
6 changes: 3 additions & 3 deletions external-import/kaspersky/src/kaspersky/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
from datetime import datetime, timezone
from typing import Any, List, Optional

from pydantic import BaseModel, validator
from pydantic.datetime_parse import parse_date, parse_datetime
from pydantic.errors import DateError, DateTimeError
from pydantic.v1 import BaseModel, validator
from pydantic.v1.datetime_parse import parse_date, parse_datetime
from pydantic.v1.errors import DateError, DateTimeError

log = logging.getLogger(__name__)

Expand Down
2 changes: 1 addition & 1 deletion external-import/kaspersky/src/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
pycti==6.2.11
pydantic==1.10.17
pydantic==2.8.2
lxml==5.2.2
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
URLS_MAPPING,
)
from pycti import OpenCTIConnectorHelper
from pydantic import ValidationError
from pydantic.v1 import ValidationError


class MalpediaConnector:
Expand Down
2 changes: 1 addition & 1 deletion external-import/malpedia/src/malpedia_services/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from datetime import date
from typing import List, Optional

from pydantic import BaseModel
from pydantic.v1 import BaseModel


class MalpediaModels:
Expand Down
2 changes: 1 addition & 1 deletion external-import/malpedia/src/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
pycti==6.2.11
pydantic==1.10.17
pydantic==2.8.2
pycountry==24.6.1
2 changes: 1 addition & 1 deletion external-import/urlscan/src/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
pycti==6.2.11
pydantic==1.10.17
pydantic==2.8.2
validators==0.33.0
2 changes: 1 addition & 1 deletion external-import/urlscan/src/urlscan/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

import pydantic
import requests
from pydantic import BaseModel
from pydantic.v1 import BaseModel

__all__ = [
"UrlscanClient",
Expand Down
2 changes: 1 addition & 1 deletion external-import/valhalla/src/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pycti==6.2.11
pydantic==1.10.17
pydantic==2.8.2
valhallaAPI==0.6.0
python-dateutil==2.9.0.post0
2 changes: 1 addition & 1 deletion external-import/valhalla/src/valhalla/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from datetime import datetime
from typing import List

from pydantic import BaseModel
from pydantic.v1 import BaseModel


class Status(BaseModel):
Expand Down
2 changes: 1 addition & 1 deletion external-import/zerofox/src/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pydantic==2.7.1
pydantic==2.8.2
pytest==8.3.2
pycti==6.2.11
urllib3==2.2.2
2 changes: 1 addition & 1 deletion internal-enrichment/malbeacon/src/models/c2_model.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Optional

from dateutil import parser
from pydantic import BaseModel
from pydantic.v1 import BaseModel


class C2Beacon(BaseModel):
Expand Down
2 changes: 1 addition & 1 deletion internal-enrichment/malbeacon/src/models/email_model.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Optional

from dateutil import parser
from pydantic import BaseModel
from pydantic.v1 import BaseModel


class EmailBeacon(BaseModel):
Expand Down
2 changes: 1 addition & 1 deletion internal-enrichment/malbeacon/src/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pycti==6.2.11
pydantic==1.10.17
pydantic==2.8.2
urllib3==2.2.2
validators==0.33.0
2 changes: 1 addition & 1 deletion internal-enrichment/shodan-internetdb/src/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
pycti==6.2.11
pydantic==1.10.17
pydantic==2.8.2
validators==0.33.0
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@

from typing import List, Optional

import pydantic
import requests
from pydantic import BaseModel
from pydantic.v1 import BaseModel, parse_raw_as

__all__ = [
"ShodanInternetDbClient",
Expand Down Expand Up @@ -43,7 +42,7 @@ def query(self, ip: str) -> Optional[ShodanResult]:

resp.raise_for_status()

return pydantic.parse_raw_as(ShodanResult, resp.text)
return parse_raw_as(ShodanResult, resp.text)


class ShodanResult(BaseModel):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from typing import Any, Dict, ForwardRef

import stix2
from pydantic import BaseModel, BaseSettings, Field, validator
from pydantic.v1 import BaseModel, BaseSettings, Field, validator

__all__ = [
"RootConfig",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
StixCoreRelationship,
get_config_variable,
)
from pydantic import BaseModel
from pydantic.v1 import BaseModel
from reportimporter.constants import (
ANALYSIS_TYPE,
ENTITY_CLASS,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from typing import Any, Dict, List, Optional, Pattern

from pycti import OpenCTIConnectorHelper
from pydantic import BaseModel, validator
from pydantic.v1 import BaseModel, validator
from reportimporter.constants import (
COMMENT_INDICATOR,
CONFIG_PATH,
Expand Down
2 changes: 1 addition & 1 deletion internal-import-file/import-document/src/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ urllib3==2.2.2
beautifulsoup4==4.12.3
pdfminer.six==20240706
stix==1.2.0.11
pydantic==1.10.17
pydantic==2.8.2
ioc-finder==7.3.0
dateparser==1.2.0
pyhumps==3.8.0
Expand Down