dirkjanm / mitm6

pwning IPv4 via IPv6

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project dependencies may have API risk issues

PyDeps opened this issue · comments

Hi, In mitm6, inappropriate dependency versioning constraints can cause risks.

Below are the dependencies and version constraints that the project is using

scapy>=2.4
ipaddress;python_version<'3.0'
future;python_version<'3.0'
twisted
netifaces

The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict.
The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.

After further analysis, in this project,
The version constraint of dependency scapy can be changed to >=2.4.0rc3,<=2.4.5.

The above modification suggestions can reduce the dependency conflicts as much as possible,
and introduce the latest version as much as possible without calling Error in the projects.

The invocation of the current project includes all the following methods.

The calling methods from the scapy
scapy.all.ls
scapy.sendrecv.sendp
scapy.layers.inet6.ICMPv6ND_RA
The calling methods from the all methods
DHCP6OptClientId
twisted.internet.reactor.adoptDatagramPort
socket.getaddrinfo
argparse.ArgumentParser
loop.start.addErrback
scapy.all.IPv6
args.relay.lower
scapy.all.IP
should_spoof_dhcpv6
twisted.internet.task.LoopingCall.start
argparse.ArgumentParser.add_argument_group
matches_list
parser.add_argument_group.add_argument
should_spoof_dns
print
setupFakeDns
loop.start.lower
scapy.all.ls
DHCP6OptIAAddress
argparse.ArgumentParser.add_argument
dnssock.fileno
target.ipv4.replace
join
self.__str__
DHCP6_Advertise
main
twisted.internet.protocol.DatagramProtocol
send_dhcp_advertise
twisted.internet.reactor.callFromThread
ipaddress.ip_address
scapy.all.DNS
scapy.layers.inet6.ICMPv6ND_RA
DHCP6OptIA_NA
random.randint
value.lower
failure.getErrorMessage
DHCP6_Reply
builtins.str
json.load
host.decode
get_fqdn
twisted.internet.threads.deferToThread
get_target
DHCP6OptDNSServers
twisted.internet.task.LoopingCall
setuptools.setup
socket.socket.bind
socket.socket.setblocking
Config
DUID_LL
DHCP6OptDNSDomains
scapy.all.Ether
dns.qd.qname.decode
netifaces.ifaddresses
self.v6addr.index
args.localdomain.lower
json.dumps
DHCP6OptServerId
format
scapy.sendrecv.sendp
twisted.internet.reactor.run
dnssock2.fileno
argparse.ArgumentParser.parse_args
sys.exit
scapy.all.DNSRR
netifaces.gateways
Target
len
open
scapy.all.DNSRRSOA
socket.socket
twisted.internet.reactor.addSystemEventTrigger
send_dns_reply
scapy.all.UDP
arpcache.write
send_dhcp_reply

@developer
Could please help me check this issue?
May I pull a request to fix it?
Thank you very much.