SpecterOps / Nemesis

An offensive data enrichment pipeline
https://specterops.github.io/Nemesis/
Other
613 stars 59 forks source link

Sliver Connector pip dependency issue #20

Closed siesta888 closed 1 year ago

siesta888 commented 1 year ago
user@nemesis:~/Nemesis/cmd/connectors/sliver-connector$ poetry --version
Poetry (version 1.6.1)

Python3 Version 3.11.2

user@nemesis:~/Nemesis/cmd/connectors/sliver-connector$ python3 --version
Python 3.11.2
user@nemesis:~/Nemesis/cmd/connectors/sliver-connector$ which python3
/home/user/.pyenv/shims/python3

When installing the requirements for the sliver connector service:

user@nemesis:~/Nemesis/cmd/connectors/sliver-connector$ pip3 install -r requirements.txt 
Collecting aiohttp==3.8.4 (from -r requirements.txt (line 1))
  Downloading aiohttp-3.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 6.2 MB/s eta 0:00:00
Collecting grpcio==1.54.2 (from -r requirements.txt (line 2))
  Downloading grpcio-1.54.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)
Collecting grpcio-tools==1.54.2 (from -r requirements.txt (line 3))
  Downloading grpcio_tools-1.54.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.2 kB)
Collecting protobuf==3.20.3 (from -r requirements.txt (line 4))
  Downloading protobuf-3.20.3-py2.py3-none-any.whl (162 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 162.1/162.1 kB 26.2 MB/s eta 0:00:00
Collecting attrs>=17.3.0 (from aiohttp==3.8.4->-r requirements.txt (line 1))
  Using cached attrs-23.1.0-py3-none-any.whl (61 kB)
Collecting charset-normalizer<4.0,>=2.0 (from aiohttp==3.8.4->-r requirements.txt (line 1))
  Using cached charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (32 kB)
Collecting multidict<7.0,>=4.5 (from aiohttp==3.8.4->-r requirements.txt (line 1))
  Downloading multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (117 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.4/117.4 kB 20.9 MB/s eta 0:00:00
Collecting async-timeout<5.0,>=4.0.0a3 (from aiohttp==3.8.4->-r requirements.txt (line 1))
  Downloading async_timeout-4.0.3-py3-none-any.whl.metadata (4.2 kB)
Collecting yarl<2.0,>=1.0 (from aiohttp==3.8.4->-r requirements.txt (line 1))
  Downloading yarl-1.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (282 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 282.8/282.8 kB 3.8 MB/s eta 0:00:00
Collecting frozenlist>=1.1.1 (from aiohttp==3.8.4->-r requirements.txt (line 1))
  Downloading frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.2 kB)
Collecting aiosignal>=1.1.2 (from aiohttp==3.8.4->-r requirements.txt (line 1))
  Downloading aiosignal-1.3.1-py3-none-any.whl (7.6 kB)
INFO: pip is looking at multiple versions of grpcio-tools to determine which version is compatible with other requirements. This could take a while.
ERROR: Cannot install -r requirements.txt (line 3) and protobuf==3.20.3 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested protobuf==3.20.3
    grpcio-tools 1.54.2 depends on protobuf<5.0dev and >=4.21.6

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
t94j0 commented 1 year ago

Upgrading to protobuf==4.21.6 seems to fix it. I'll add this in the next patch