Skip to content

DockerException: Not supported URL scheme http+docker #13

Description

@krpandrei05
  • The application fails to connect to the Docker daemon when running on modern Python environments.
  • The result is:
$ poetry run attack_surface_approximation detect --elf examples/full_test 
Traceback (most recent call last):
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/requests/adapters.py", line 611, in send
    conn = self.get_connection_with_tls_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/requests/adapters.py", line 467, in get_connection_with_tls_context
    conn = self.poolmanager.connection_from_host(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/urllib3/poolmanager.py", line 317, in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/urllib3/poolmanager.py", line 339, in connection_from_context
    raise URLSchemeUnknown(scheme)
urllib3.exceptions.URLSchemeUnknown: Not supported URL scheme http+docker

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/docker/api/client.py", line 214, in _retrieve_server_version
    return self.version(api_version=False)["ApiVersion"]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/docker/api/daemon.py", line 181, in version
    return self._result(self._get(url), json=True)
                        ^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/docker/utils/decorators.py", line 46, in inner
    return f(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/docker/api/client.py", line 237, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/requests/sessions.py", line 605, in get
    return self.request("GET", url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/requests/sessions.py", line 592, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/requests/sessions.py", line 706, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/requests/adapters.py", line 615, in send
    raise InvalidURL(e, request=request)
requests.exceptions.InvalidURL: Not supported URL scheme http+docker

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/attack_surface_approximation/cli.py", line 198, in main
    cli(prog_name="attack_surface_approximation")
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/click/core.py", line 1514, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/click/core.py", line 1435, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/click/core.py", line 1902, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/click/core.py", line 1298, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/click/core.py", line 853, in invoke
    return callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/attack_surface_approximation/cli.py", line 80, in detect
    detector = InputStreamsDetector(elf)
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/attack_surface_approximation/static_input_streams_detection/detector.py", line 81, in __init__
    analysis = GhidraAnalysis(self.__filename)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/commons/ghidra/ghidra.py", line 39, in __init__
    self.__docker_client = docker.from_env()
                           ^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/docker/client.py", line 96, in from_env
    return cls(
           ^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/docker/client.py", line 45, in __init__
    self.api = APIClient(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/docker/api/client.py", line 197, in __init__
    self._version = self._retrieve_server_version()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/attack_surface_approximation_original/.venv/lib/python3.12/site-packages/docker/api/client.py", line 221, in _retrieve_server_version
    raise DockerException(
docker.errors.DockerException: Error while fetching server API version: Not supported URL scheme http+docker

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions