8 python3.pkgs.buildPythonApplication rec {
12 src = fetchFromGitHub {
16 sha256 = "sha256-0ROWx1CsKtjxmbCgPYZpvr37VKsEsWCwMehf0/0/cnY=";
21 # Import Iterable from collections.abc
22 url = "https://github.com/CANToolz/CANToolz/commit/9e818946716a744b3c7356f248e24ea650791d1f.patch";
23 hash = "sha256-BTQ0Io2RF8WpWlLoYfBj8IhL92FRR8ustGClt28/R8c=";
26 # Replace time.clock() which was removed, https://github.com/CANToolz/CANToolz/pull/30
27 url = "https://github.com/CANToolz/CANToolz/pull/30/commits/d75574523d3b273c40fb714532c4de27f9e6dd3e.patch";
28 sha256 = "0g91hywg5q6f2qk1awgklywigclrbhh6a6mwd0kpbkk1wawiiwbc";
32 propagatedBuildInputs = with python3.pkgs; [
40 nativeCheckInputs = with python3.pkgs; [
50 pythonImportsCheck = [
55 description = "Black-box CAN network analysis framework";
56 mainProgram = "cantoolz";
58 CANToolz is a framework for analysing CAN networks and devices. It
59 provides multiple modules that can be chained using CANToolz's pipe
60 system and used by security researchers, automotive/OEM security
61 testers in black-box analysis.
63 CANToolz can be used for ECU discovery, MitM testing, fuzzing, brute
64 forcing, scanning or R&D, testing and validation. More can easily be
65 implemented with a new module.
67 homepage = "https://github.com/CANToolz/CANToolz";
68 license = with licenses; [ asl20 ];
69 maintainers = with maintainers; [ fab ];