Exemplo n.º 1
0
def test_invalid_plugin():
    dirpath = tempfile.mkdtemp()
    Files.create(dirpath, "foo.py", "import foobarnotexist")

    with pytest.raises(CuckooOperationalError) as e:
        enumerate_plugins(dirpath, "enumplugins", globals(), Signature, {})
    e.match("Unable to load the Cuckoo plugin")
Exemplo n.º 2
0
def test_invalid_plugin():
    dirpath = tempfile.mkdtemp()
    Files.create(dirpath, "foo.py", "import foobarnotexist")

    with pytest.raises(CuckooOperationalError) as e:
        enumerate_plugins(dirpath, "enumplugins", globals(), Signature, {})
    e.match("Unable to load the Cuckoo plugin")
Exemplo n.º 3
0
def enumerate_signatures(dirpath, submodule, g, attributes):
    """In the new Cuckoo package, Signatures are no longer accessed
    under the modules module."""
    try:
        from cuckoo.core.plugins import enumerate_plugins
        from cuckoo.common.abstracts import Signature

        return enumerate_plugins(dirpath, "signatures.%s" % submodule, g,
                                 Signature, attributes)
    except ImportError:
        from lib.cuckoo.core.plugins import enumerate_plugins
        from lib.cuckoo.common.abstracts import Signature

        return enumerate_plugins(dirpath, "modules.signatures.%s" % submodule,
                                 g, Signature, attributes)
Exemplo n.º 4
0
def enumerate_signatures(dirpath, submodule, g, attributes):
    """In the new Cuckoo package, Signatures are no longer accessed
    under the modules module."""
    try:
        from cuckoo.core.plugins import enumerate_plugins
        from cuckoo.common.abstracts import Signature

        return enumerate_plugins(
            dirpath, "signatures.%s" % submodule,
            g, Signature, attributes
        )
    except ImportError:
        from lib.cuckoo.core.plugins import enumerate_plugins
        from lib.cuckoo.common.abstracts import Signature

        return enumerate_plugins(
            dirpath, "modules.signatures.%s" % submodule,
            g, Signature, attributes
        )
Exemplo n.º 5
0
def test_enumerate_plugins():
    sys.path.insert(0, "tests/files")
    plugins = enumerate_plugins("tests/files/enumplugins", "enumplugins",
                                globals(), Signature, {"foo": "bar"})
    sys.path.pop(0)

    assert len(plugins) == 5
    assert [plugin.name for plugin in plugins
            ] == ["sig1", "sig2", "sig3", "sigsub1", "sigsub2"]
    assert all([plugin.foo == "bar" for plugin in plugins])
    assert issubclass(sys.modules["enumplugins"].sig1.Sig1, Signature)
    assert issubclass(sys.modules["enumplugins"].sig2.Sig2, Signature)
    assert issubclass(sys.modules["enumplugins"].sig3.Sig3, Signature)
    assert issubclass(sys.modules["enumplugins"].sigsub.Sigsub1, Signature)
    assert issubclass(sys.modules["enumplugins"].sigsub.Sigsub2, Signature)
Exemplo n.º 6
0
def test_enumerate_plugins():
    sys.path.insert(0, "tests/files")
    plugins = enumerate_plugins(
        "tests/files/enumplugins", "enumplugins",
        globals(), Signature, {"foo": "bar"}
    )
    sys.path.pop(0)

    assert len(plugins) == 5
    assert [plugin.name for plugin in plugins] == ["sig1", "sig2", "sig3", "sigsub1", "sigsub2"]
    assert all([plugin.foo == "bar" for plugin in plugins])
    assert issubclass(sys.modules["enumplugins"].sig1.Sig1, Signature)
    assert issubclass(sys.modules["enumplugins"].sig2.Sig2, Signature)
    assert issubclass(sys.modules["enumplugins"].sig3.Sig3, Signature)
    assert issubclass(sys.modules["enumplugins"].sigsub.Sigsub1, Signature)
    assert issubclass(sys.modules["enumplugins"].sigsub.Sigsub2, Signature)
Exemplo n.º 7
0
def test_enumerate_plugins():
    sys.path.insert(0, "tests/files")
    plugins = enumerate_plugins("tests/files/enumplugins", "enumplugins",
                                globals(), Signature, {"foo": "bar"})
    sys.path.pop(0)

    assert len(plugins) == 3
    assert plugins[0].name == "sig1"
    assert plugins[1].name == "sig2"
    assert plugins[2].name == "sig3"
    assert plugins[0].foo == "bar"
    assert plugins[1].foo == "bar"
    assert plugins[2].foo == "bar"
    assert issubclass(sys.modules["enumplugins"].sig1.Sig1, Signature)
    assert issubclass(sys.modules["enumplugins"].sig2.Sig2, Signature)
    assert issubclass(sys.modules["enumplugins"].sig3.Sig3, Signature)
Exemplo n.º 8
0
def test_enumerate_plugins():
    sys.path.insert(0, "tests/files")
    plugins = enumerate_plugins(
        "tests/files/enumplugins", "enumplugins",
        globals(), Signature, {"foo": "bar"}
    )
    sys.path.pop(0)

    assert len(plugins) == 3
    assert plugins[0].name == "sig1"
    assert plugins[1].name == "sig2"
    assert plugins[2].name == "sig3"
    assert plugins[0].foo == "bar"
    assert plugins[1].foo == "bar"
    assert plugins[2].foo == "bar"
    assert issubclass(sys.modules["enumplugins"].sig1.Sig1, Signature)
    assert issubclass(sys.modules["enumplugins"].sig2.Sig2, Signature)
    assert issubclass(sys.modules["enumplugins"].sig3.Sig3, Signature)
Exemplo n.º 9
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2017 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.common.abstracts import Signature
from cuckoo.core.plugins import enumerate_plugins

plugins = enumerate_plugins(
    __file__, "signatures.network", globals(),
    Signature, {}
)
Exemplo n.º 10
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2017 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.core.plugins import enumerate_plugins
from cuckoo.common.abstracts import Machinery

plugins = enumerate_plugins(
    __file__, "cuckoo.machinery", globals(), Machinery, as_dict=True
)
Exemplo n.º 11
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2016 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.core.plugins import enumerate_plugins
from cuckoo.common.abstracts import Auxiliary

plugins = enumerate_plugins(
    __file__, "cuckoo.auxiliary", globals(), Auxiliary
)
Exemplo n.º 12
0
# Copyright (C) 2017 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.common.abstracts import Signature
from cuckoo.core.plugins import enumerate_plugins

plugins = enumerate_plugins(
    __file__, "signatures.linux", globals(),
    Signature, dict(platform="linux")
)
Exemplo n.º 13
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2017 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.common.abstracts import Signature
from cuckoo.core.plugins import enumerate_plugins

plugins = enumerate_plugins(
    __file__, "signatures.android", globals(),
    Signature, dict(platform="android")
)
Exemplo n.º 14
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2017 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.common.abstracts import Signature
from cuckoo.core.plugins import enumerate_plugins

plugins = enumerate_plugins(__file__, "signatures.cross", globals(), Signature,
                            {})
Exemplo n.º 15
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2016 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.core.plugins import enumerate_plugins
from cuckoo.common.abstracts import Report

plugins = enumerate_plugins(
    __file__, "cuckoo.reporting", globals(), Report
)
Exemplo n.º 16
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2017 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.common.abstracts import Signature
from cuckoo.core.plugins import enumerate_plugins

plugins = enumerate_plugins(__file__, "signatures.windows", globals(),
                            Signature, dict(platform="windows"))
Exemplo n.º 17
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2017 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.common.abstracts import Signature
from cuckoo.core.plugins import enumerate_plugins

plugins = enumerate_plugins(__file__, "signatures.darwin", globals(),
                            Signature, dict(platform="darwin"))
Exemplo n.º 18
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2017 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.common.abstracts import Signature
from cuckoo.core.plugins import enumerate_plugins

plugins = enumerate_plugins(
    __file__, "signatures.windows", globals(),
    Signature, dict(platform="windows")
)
Exemplo n.º 19
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2016 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.common.abstracts import Auxiliary
from cuckoo.core.plugins import enumerate_plugins

plugins = enumerate_plugins(__file__, "cuckoo.auxiliary", globals(), Auxiliary)
Exemplo n.º 20
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2017 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.core.plugins import enumerate_plugins
from cuckoo.common.abstracts import Machinery

plugins = enumerate_plugins(__file__,
                            "cuckoo.machinery",
                            globals(),
                            Machinery,
                            as_dict=True)
Exemplo n.º 21
0
# Copyright (C) 2017 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.core.plugins import enumerate_plugins
from cuckoo.common.abstracts import AnalysisManager

plugins = enumerate_plugins(
    __file__, "cuckoo.analysis", globals(), AnalysisManager
)
Exemplo n.º 22
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2016 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.core.plugins import enumerate_plugins
from cuckoo.common.abstracts import Processing

plugins = enumerate_plugins(
    __file__, "cuckoo.processing", globals(), Processing
)
Exemplo n.º 23
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2016 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.common.abstracts import Processing
from cuckoo.core.plugins import enumerate_plugins

plugins = enumerate_plugins(__file__, "cuckoo.processing", globals(),
                            Processing)
Exemplo n.º 24
0
# Copyright (C) 2017 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

try:
    from cuckoo.common.abstracts import Extractor
    from cuckoo.core.plugins import enumerate_plugins

    plugins = []
    extractors = enumerate_plugins(
        __file__, "signatures.extractor", globals(), Extractor, {}
    )
except ImportError:
    plugins = []
    extractors = []
Exemplo n.º 25
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2017 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.common.abstracts import Signature
from cuckoo.core.plugins import enumerate_plugins

plugins = enumerate_plugins(
    __file__, "signatures.cross", globals(),
    Signature, {}
)
Exemplo n.º 26
0
# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2016 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.

from cuckoo.common.abstracts import Report
from cuckoo.core.plugins import enumerate_plugins

plugins = enumerate_plugins(
    __file__, "cuckoo.reporting", globals(), Report
)