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.