Comfortably monitor your network traffic 🕵️♂️
This report summarizes scanner evidence for GyulyVGC/sniffnet, a Rust project with 41,787 GitHub stars. SynthScan examined 58,620 lines of code across 223 source files, recording 107 pattern matches distributed across 5 syntactic categories. The legacy adjusted pattern signal is 2.2 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 93 finding(s).
Are imports declared and package/API names verified? 1 finding(s).
Are wrappers, guards, and repeated structures necessary? 13 finding(s).
Which changes need focused human review? 107 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 107 distinct pattern matches across 5 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/workflows/rust.yml | 81 | # if: matrix.os == 'ubuntu' | COMMENT |
| LOW | src/networking/types/info_address_port_pair.rs | 21 | // TODO: overridden with the latest values, should be a list of all MAC addresses with their counts? | COMMENT |
| LOW | src/chart/types/traffic_chart.rs | 301 | AreaSeries::new(data, 0.0, color.mix(alpha.into())) | COMMENT |
| LOW | src/chart/types/traffic_chart.rs | 321 | // let x_range = chart.ticks - 30..chart.ticks; | COMMENT |
| LOW | src/chart/types/traffic_chart.rs | 341 | // x_range | COMMENT |
| LOW | src/utils/types/web_page.rs | 1 | /// This enum defines the possible web pages to be opened. | COMMENT |
| LOW | src/utils/types/icon.rs | 161 | // _ => Icon::Update1.to_text(), | COMMENT |
| LOW | src/gui/types/conf.rs | 21 | use crate::utils::error_logger::{ErrorLogger, Location}; | COMMENT |
| LOW | src/gui/types/conf.rs | 41 | /// - this populates missing fields from the struct's `Default` implementation | COMMENT |
| LOW | src/gui/types/conf.rs | 61 | /// Remembers the last opened running page | COMMENT |
| LOW | src/gui/types/conf.rs | 81 | pub host_favorites_filter: bool, | COMMENT |
| LOW | src/gui/types/conf.rs | 101 | /// BPF filter program to be applied to the capture | COMMENT |
| LOW | src/gui/styles/radio.rs | 1 | // //! Radios style | COMMENT |
| LOW | src/gui/styles/radio.rs | 21 | // let ext = self.get_extension(); | COMMENT |
| LOW | src/gui/styles/radio.rs | 41 | // } | COMMENT |
| LOW | src/translations/translations.rs | 1 | use iced::widget::Text; | COMMENT |
| LOW | src/translations/translations.rs | 21 | // Language::RU => "Выберите сетевой адаптер для инспекции", | COMMENT |
| LOW | src/translations/translations.rs | 41 | // Language::CS => "Aplikační protokol", | COMMENT |
| LOW | src/translations/translations.rs | 61 | // Language::UZ => "Ilova protokoli", | COMMENT |
| LOW | src/translations/translations.rs | 81 | // Language::RO => "Selectați filtre pentru traficul de rețea", | COMMENT |
| LOW | src/translations/translations.rs | 161 | // Language::EN => "Addresses", | COMMENT |
| LOW | src/translations/translations.rs | 181 | // Language::UZ => "Manzillar", | COMMENT |
| LOW | src/translations/translations.rs | 201 | // Language::RO => "Versiune IP", | COMMENT |
| LOW | src/translations/translations.rs | 221 | // pub fn transport_protocol_translation(language: Language) -> &'static str { | COMMENT |
| LOW | src/translations/translations.rs | 301 | Language::VI => "Lưu lượng truy cập", | COMMENT |
| LOW | src/translations/translations.rs | 321 | // Language::ZH_TW => "相關連線:", | COMMENT |
| LOW | src/translations/translations.rs | 821 | // هل أنت متأكد من اتصالك بالإنترنت واختيارك محول الشبكة الصحيح؟" | COMMENT |
| LOW | src/translations/translations.rs | 841 | // Některé pakety byly zachyceny, ale žádný z nich nebyl vybrán podle nastavených filtr | COMMENT |
| LOW | src/translations/translations.rs | 861 | // Niektóre pakiety zostały przechwycone, ale żaden nie został wybrany zgodnie z wskaza | COMMENT |
| LOW | src/translations/translations.rs | 881 | // 已攔截到部分封包,但尚未有任何封包符合您指定的篩選條件..." | COMMENT |
| LOW | src/translations/translations.rs | 901 | // Сетевые пакеты были перехвачены, но ни один из них не соответствует заданным фильтра | COMMENT |
| LOW | src/translations/translations.rs | 921 | // Language::SV => format!( | COMMENT |
| LOW | src/translations/translations.rs | 941 | // Language::VI => format!( | COMMENT |
| LOW | src/translations/translations.rs | 961 | // Language::AR => format!( | COMMENT |
| LOW | src/translations/translations.rs | 981 | // Language::RO => "Pachete filtrate", | COMMENT |
| LOW | src/translations/translations.rs | 1001 | // pub fn filtered_bytes_translation(language: Language) -> &'static str { | COMMENT |
| LOW | src/translations/translations.rs | 1021 | // Language::FI => "Suodatettuja tavuja", | COMMENT |
| LOW | src/translations/translations.rs | 1041 | // Language::UK => { | COMMENT |
| LOW | src/translations/translations.rs | 1061 | // format!("({percentage} do total)") | COMMENT |
| LOW | src/translations/translations.rs | 1081 | // Text::new(match language { | COMMENT |
| LOW | src/translations/translations.rs | 1101 | // Language::UZ => "Har bir dastur protokoli uchun filtrlangan paketlar:", | COMMENT |
| LOW | src/translations/translations.rs | 1121 | // Language::PL => "Nie ma nic do pokazania w tej chwili.\n\ | COMMENT |
| LOW | src/translations/translations.rs | 1141 | // Για να προσθέσεις μια σύνδεση στα αγαπημένα σου, κλίκαρε στο σύμβολο με το αστέρι δίπλα στη | COMMENT |
| LOW | src/translations/translations.rs | 1201 | // Language::IT => "entrambi", | COMMENT |
| LOW | src/translations/translations.rs | 1221 | // Language::NL => "beide", | COMMENT |
| LOW | src/translations/translations.rs | 1241 | // Language::UZ => "Barcha protokollar", | COMMENT |
| LOW | src/translations/translations.rs | 1261 | // Language::ZH_TW => "全部", | COMMENT |
| LOW | src/translations/translations.rs | 1301 | Language::JA => "パケット", | COMMENT |
| LOW | src/translations/translations.rs | 1321 | // Language::ZH => "数据包", | COMMENT |
| LOW | src/translations/translations.rs | 1381 | // Language::ES | Language::PT => "bytes por segundo", | COMMENT |
| LOW | src/translations/translations.rs | 1401 | // Language::HU => "Másodpercenkénti bájtok", | COMMENT |
| LOW | src/translations/translations.rs | 1421 | // Language::RU => "новейшие", | COMMENT |
| LOW | src/translations/translations.rs | 1441 | // Language::IT => "più pacchetti", | COMMENT |
| LOW | src/translations/translations.rs | 1461 | // Language::ID => "paket terbanyak", | COMMENT |
| LOW | src/translations/translations.rs | 1481 | // Language::KO => "대부분의 바이트", | COMMENT |
| LOW | src/translations/translations.rs | 1501 | // Language::CS => "oblíbené", | COMMENT |
| LOW | src/translations/translations.rs | 1621 | // Language::AR => "المرشحات النشطة", | COMMENT |
| LOW | src/translations/translations.rs | 1641 | // Language::PT => "nenhum", | COMMENT |
| LOW | src/translations/translations.rs | 1661 | // Language::CS => "Původní tmavý motiv Sniffnetu", | COMMENT |
| LOW | src/translations/translations.rs | 1681 | // Language::UZ => "Sniffnet-ning asl qora mavzusi", | COMMENT |
| 31 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | Cargo.toml | 31 | #═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | Cargo.toml | 39 | #═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | Cargo.toml | 44 | #═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | Cargo.toml | 83 | #─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | Cargo.toml | 90 | #─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | Cargo.toml | 103 | #═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | Cargo.toml | 108 | #═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | Cargo.toml | 139 | #─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | Cargo.toml | 171 | #─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | Cargo.toml | 176 | #═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | Cargo.toml | 182 | #─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | Cargo.toml | 191 | #─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | Cargo.toml | 197 | #─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/gui/types/conf.rs | 37 | /// In order to load it in a robust, fault-tolerant, backward-compatible way, | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | resources/services/services.sh | 9 | echo -e "# This file is automatically generated from the port-to-service mappings provided by nmap\n# Available at: http | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | resources/test/ip_blacklist_invalid.txt | 1 | Lorem ipsum dolor | CODE |