这是indexloc提供的服务,不要输入任何密码
Skip to content
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
4 changes: 3 additions & 1 deletion src/analysis/plugin/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import semver
from pydantic import BaseModel, ConfigDict, field_validator

from . import compat

if typing.TYPE_CHECKING:
import io

Expand All @@ -33,7 +35,7 @@ class Tag(BaseModel):
propagate: bool = False


class AnalysisPluginV0(metaclass=abc.ABCMeta):
class AnalysisPluginV0(compat.AnalysisBasePluginAdapterMixin, metaclass=abc.ABCMeta):
"""An abstract class that all analysis plugins must inherit from.

Analysis plugins should not depend on FACT_core code where they mustn't.
Expand Down
3 changes: 1 addition & 2 deletions src/plugins/analysis/binwalk/code/binwalk.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

import config
from analysis.plugin import AnalysisPluginV0
from analysis.plugin.compat import AnalysisBasePluginAdapterMixin
from analysis.plugin.plugin import AnalysisFailedError
from helperFunctions.install import OperateInDirectory
from plugins.mime_blacklists import MIME_BLACKLIST_COMPRESSED
Expand All @@ -27,7 +26,7 @@ class SignatureScanResult(BaseModel):
description: str


class AnalysisPlugin(AnalysisPluginV0, AnalysisBasePluginAdapterMixin):
class AnalysisPlugin(AnalysisPluginV0):
class Schema(BaseModel):
entropy_analysis_graph: str = Field(
description='An entropy analysis graph generated by binwalk as base64 string.',
Expand Down
2 changes: 1 addition & 1 deletion src/plugins/analysis/crypto_hints/code/crypto_hints.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import io


class AnalysisPlugin(AnalysisPluginV0, compat.AnalysisBasePluginAdapterMixin):
class AnalysisPlugin(AnalysisPluginV0):
class Schema(pydantic.BaseModel):
matches: List[dict]

Expand Down
3 changes: 1 addition & 2 deletions src/plugins/analysis/crypto_material/code/crypto_material.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
from pydantic import BaseModel, Field

from analysis.plugin import AnalysisPluginV0, Tag, addons, compat
from analysis.plugin.compat import AnalysisBasePluginAdapterMixin
from helperFunctions.hash import get_md5
from helperFunctions.tag import TagColor
from plugins.mime_blacklists import MIME_BLACKLIST_COMPRESSED
Expand Down Expand Up @@ -50,7 +49,7 @@ class CryptoMaterialMatch(BaseModel):
hashes: List[str] = Field(description='The MD5 hashes of the keys/certificates (in the same order as `material`)')


class AnalysisPlugin(AnalysisPluginV0, AnalysisBasePluginAdapterMixin):
class AnalysisPlugin(AnalysisPluginV0):
"""
Searches for known Crypto material (e.g., public and private keys)
"""
Expand Down
3 changes: 1 addition & 2 deletions src/plugins/analysis/device_tree/code/device_tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
from typing import TYPE_CHECKING, Dict, Optional

from analysis.plugin import AnalysisPluginV0, Tag
from analysis.plugin.compat import AnalysisBasePluginAdapterMixin
from helperFunctions.tag import TagColor
from plugins.mime_blacklists import MIME_BLACKLIST_COMPRESSED

Expand All @@ -13,7 +12,7 @@
import io


class AnalysisPlugin(AnalysisPluginV0, AnalysisBasePluginAdapterMixin):
class AnalysisPlugin(AnalysisPluginV0):
def __init__(self):
metadata = AnalysisPluginV0.MetaData(
name='device_tree',
Expand Down
3 changes: 1 addition & 2 deletions src/plugins/analysis/example_plugin/code/example_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@
from pydantic import Field

from analysis.plugin import AnalysisPluginV0
from analysis.plugin.compat import AnalysisBasePluginAdapterMixin


class AnalysisPlugin(AnalysisPluginV0, AnalysisBasePluginAdapterMixin):
class AnalysisPlugin(AnalysisPluginV0):
class Schema(pydantic.BaseModel):
"""Here goes the toplevel description of the plugin result"""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

import config
from analysis.plugin import AnalysisPluginV0, Tag
from analysis.plugin.compat import AnalysisBasePluginAdapterMixin
from helperFunctions.docker import run_docker_container
from helperFunctions.tag import TagColor

Expand Down Expand Up @@ -116,7 +115,7 @@ class FileMetadata(BaseModel):
)


class AnalysisPlugin(AnalysisPluginV0, AnalysisBasePluginAdapterMixin):
class AnalysisPlugin(AnalysisPluginV0):
NAME = 'file_system_metadata'

class Schema(BaseModel):
Expand Down
3 changes: 1 addition & 2 deletions src/plugins/analysis/file_type/code/file_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,13 @@
from pydantic import Field

from analysis.plugin import AnalysisPluginV0
from analysis.plugin.compat import AnalysisBasePluginAdapterMixin
from helperFunctions import magic

if typing.TYPE_CHECKING:
import io


class AnalysisPlugin(AnalysisPluginV0, AnalysisBasePluginAdapterMixin):
class AnalysisPlugin(AnalysisPluginV0):
class Schema(pydantic.BaseModel):
mime: str = Field(
description="The file's mimetype.",
Expand Down
3 changes: 1 addition & 2 deletions src/plugins/analysis/hash/code/hash.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@

import config
from analysis.plugin import AnalysisPluginV0
from analysis.plugin.compat import AnalysisBasePluginAdapterMixin
from helperFunctions.hash import get_hash, get_md5

if TYPE_CHECKING:
Expand All @@ -26,7 +25,7 @@
]


class AnalysisPlugin(AnalysisPluginV0, AnalysisBasePluginAdapterMixin):
class AnalysisPlugin(AnalysisPluginV0):
class Schema(BaseModel):
# The supported hashes are the ones from helperFunctions.hash and hashlib (except "shake" which is of
# little use considering its variable length).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
from semver import Version

from analysis.plugin import AnalysisPluginV0
from analysis.plugin.compat import AnalysisBasePluginAdapterMixin

if TYPE_CHECKING:
from io import FileIO
Expand All @@ -36,7 +35,7 @@ class Location(BaseModel):
latitude: float


class AnalysisPlugin(AnalysisPluginV0, AnalysisBasePluginAdapterMixin):
class AnalysisPlugin(AnalysisPluginV0):
class Schema(BaseModel):
ips_v4: List[IpAddress]
ips_v6: List[IpAddress]
Expand Down
3 changes: 1 addition & 2 deletions src/plugins/analysis/ipc/code/ipc_analyzer.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
from semver import Version

from analysis.plugin import AnalysisPluginV0
from analysis.plugin.compat import AnalysisBasePluginAdapterMixin
from helperFunctions.docker import run_docker_container

if TYPE_CHECKING:
Expand Down Expand Up @@ -39,7 +38,7 @@ class FunctionCall(BaseModel):
)


class AnalysisPlugin(AnalysisPluginV0, AnalysisBasePluginAdapterMixin):
class AnalysisPlugin(AnalysisPluginV0):
class Schema(BaseModel):
calls: List[FunctionCall] = Field(description='An array of IPC function calls.')

Expand Down
3 changes: 1 addition & 2 deletions src/plugins/analysis/linter/code/source_code_analysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
from pydantic import Field

from analysis.plugin import AnalysisPluginV0
from analysis.plugin.compat import AnalysisBasePluginAdapterMixin
from helperFunctions.docker import run_docker_container
from helperFunctions.virtual_file_path import get_paths_for_all_parents

Expand All @@ -31,7 +30,7 @@
}


class AnalysisPlugin(AnalysisPluginV0, AnalysisBasePluginAdapterMixin):
class AnalysisPlugin(AnalysisPluginV0):
class Schema(pydantic.BaseModel):
class Issue(pydantic.BaseModel):
"""A linting issue."""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
from pydantic import Field

from analysis.plugin import AnalysisPluginV0, Tag
from analysis.plugin.compat import AnalysisBasePluginAdapterMixin
from helperFunctions.tag import TagColor
from plugins.analysis.users_and_passwords.internal.credentials_finder import (
CredentialResult,
Expand All @@ -22,7 +21,7 @@
from io import FileIO


class AnalysisPlugin(AnalysisPluginV0, AnalysisBasePluginAdapterMixin):
class AnalysisPlugin(AnalysisPluginV0):
class Schema(pydantic.BaseModel):
unix: List[CredentialResult] = Field(description='The list of found UNIX credentials.')
http: List[CredentialResult] = Field(description='The list of found HTTP basic auth credentials.')
Expand Down
Loading