{"id":13378159,"url":"https://github.com/ntop/nDPI","last_synced_at":"2025-03-13T04:31:21.676Z","repository":{"id":30638544,"uuid":"34194075","full_name":"ntop/nDPI","owner":"ntop","description":"Open Source Deep Packet Inspection Software Toolkit","archived":false,"fork":false,"pushed_at":"2024-11-22T17:22:32.000Z","size":234867,"stargazers_count":3857,"open_issues_count":81,"forks_count":898,"subscribers_count":155,"default_branch":"dev","last_synced_at":"2024-11-24T19:30:02.823Z","etag":null,"topics":["cybersecurity","deep-packet-inspection","dpi","ndpi","network","traffic-analysis"],"latest_commit_sha":null,"homepage":"http://www.ntop.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ntop.png","metadata":{"files":{"readme":"README.fuzzer.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-04-19T04:56:52.000Z","updated_at":"2024-11-23T03:52:44.000Z","dependencies_parsed_at":"2023-01-14T17:30:34.501Z","dependency_job_id":"8dffb2e2-c6d3-4e91-83ba-8f2c8e4af9a7","html_url":"https://github.com/ntop/nDPI","commit_stats":{"total_commits":4188,"total_committers":184,"mean_commits":22.76086956521739,"dds":0.5580229226361031,"last_synced_commit":"81e42b748e46666158596cc22224b0ec11d85be0"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntop%2FnDPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntop%2FnDPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntop%2FnDPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntop%2FnDPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ntop","download_url":"https://codeload.github.com/ntop/nDPI/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243104063,"owners_count":20236944,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cybersecurity","deep-packet-inspection","dpi","ndpi","network","traffic-analysis"],"created_at":"2024-07-30T07:00:31.014Z","updated_at":"2025-03-13T04:31:21.671Z","avatar_url":"https://github.com/ntop.png","language":"C","readme":"## Compiling nDPI with Fuzzer\n\n- Install the latest clang (sudo apt-get install clang-18)\n- Export environamental variables to prefer clang over g++ (of installed)\n  - export CC=/usr/bin/clang-18\n  - export CPP=/usr/bin/clang-cpp-18\n  - export CXX=/usr/bin/clang++-18\n  - export LD=/usr/bin/ld.lld-18\n- Run autogen.sh\n  - ./autogen.sh --with-sanitizer --enable-fuzztargets \n\n\n## Testing nDPI with ClusterFuzz Artifacts\n- Download the artifact (example clusterfuzz-testcase-fuzz_process_packet-4992218834796544)\n- Run nDPI against the artifact\n  - Example: ./fuzz/fuzz_process_packet clusterfuzz-testcase-fuzz_process_packet-4992218834796544 \n\nThe output is the error report\n```\n  ./fuzz/fuzz_process_packet /tmp/clusterfuzz-testcase-fuzz_process_packet-4992218834796544 \n  AddressSanitizer:DEADLYSIGNAL\n  =================================================================\n  ==11590==ERROR: AddressSanitizer: SEGV on unknown address 0x61a100000087 (pc 0x00000056e6a4 bp 0x7ffd624fa170 sp 0x7ffd624fa090 T0)\n  ==11590==The signal is caused by a READ memory access.\n      #0 0x56e6a4 in quic_len /home/deri/nDPI/src/lib/protocols/quic.c:203:12\n      #1 0x575d6b in decrypt_initial_packet /home/deri/nDPI/src/lib/protocols/quic.c:993:16\n      #2 0x571776 in get_clear_payload /home/deri/nDPI/src/lib/protocols/quic.c:1302:21\n      #3 0x56f149 in ndpi_search_quic /home/deri/nDPI/src/lib/protocols/quic.c:1658:19\n      #4 0x503935 in check_ndpi_detection_func /home/deri/nDPI/src/lib/ndpi_main.c:4683:6\n      #5 0x5056fb in check_ndpi_udp_flow_func /home/deri/nDPI/src/lib/ndpi_main.c:4742:10\n      #6 0x505152 in ndpi_check_flow_func /home/deri/nDPI/src/lib/ndpi_main.c:4775:12\n      #7 0x5174cf in ndpi_detection_process_packet /home/deri/nDPI/src/lib/ndpi_main.c:5545:15\n      #8 0x4c709b in LLVMFuzzerTestOneInput /home/deri/nDPI/fuzz/fuzz_process_packet.c:30:3\n      #9 0x4c7640 in main /home/deri/nDPI/fuzz/fuzz_process_packet.c:90:17\n      #10 0x7f888e5dabf6 in __libc_start_main /build/glibc-S9d2JN/glibc-2.27/csu/../csu/libc-start.c:310\n      #11 0x41c399 in _start (/home/deri/nDPI/fuzz/fuzz_process_packet+0x41c399)\n\n  AddressSanitizer can not provide additional info.\n  SUMMARY: AddressSanitizer: SEGV /home/deri/nDPI/src/lib/protocols/quic.c:203:12 in quic_len\n  ==11590==ABORTING\n```\n","funding_links":[],"categories":["Contribution Guidelines","C","cybersecurity","C (286)","network"],"sub_categories":["Network Applications"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntop%2FnDPI","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fntop%2FnDPI","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntop%2FnDPI/lists"}