Eclipse Mosquitto - An open source MQTT broker
This report summarizes scanner evidence for eclipse-mosquitto/mosquitto, a C project with 11,260 GitHub stars. SynthScan examined 214,342 lines of code across 1581 source files, recording 1287 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 9.9 (Moderate 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.
Can maintainers explain intent, assumptions, and trade-offs? 409 finding(s).
Are imports declared and package/API names verified? 595 finding(s).
Are wrappers, guards, and repeated structures necessary? 305 finding(s).
Which changes need focused human review? 1287 finding(s).
Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.
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 1287 distinct pattern matches across 14 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 |
|---|---|---|---|---|
| HIGH | buildtest.py | 71 | except FileNotFoundError: | CODE |
| HIGH | fuzzing/generate_packet_corpora.py | 25 | except FileExistsError: | CODE |
| HIGH | fuzzing/generate_packet_corpora.py | 29 | except FileExistsError: | CODE |
| HIGH | test/mosquitto_broker.py | 156 | except FileNotFoundError: | CODE |
| HIGH | test/ptest.py | 189 | except FileNotFoundError: | CODE |
| HIGH | test/mosq_test.py | 304 | except socket.timeout: | CODE |
| HIGH | test/mosq_test.py | 1090 | except OSError: | CODE |
| HIGH | test/broker/04-retain-check-source-persist.py | 39 | except OSError: | CODE |
| HIGH | test/broker/04-retain-check-source-persist.py | 84 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/09-pwfile-parse-invalid.py | 36 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/09-pwfile-parse-invalid.py | 67 | except ValueError: | CODE |
| HIGH | test/broker/mosq_test_helper.py | 110 | except FileNotFoundError: | CODE |
| HIGH | test/broker/06-bridge-clean-session-core.py | 244 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/01-connect-allow-anonymous.py | 78 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/09-extended-auth-change-username.py | 72 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/14-dynsec-group-invalid.py | 328 | except FileExistsError: | CODE |
| HIGH | test/broker/14-dynsec-group-invalid.py | 415 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/14-dynsec-group-invalid.py | 421 | except FileNotFoundError: | CODE |
| HIGH | test/broker/16-config-includedir.py | 33 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/08-ssl-connect-cert-auth-without.py | 36 | except ssl.SSLEOFError as err: | CODE |
| HIGH | test/broker/21-proxy-v2-bad-config.py | 28 | except subprocess.TimeoutExpired: | CODE |
| HIGH | test/broker/02-subscribe-long-topic.py | 20 | except BrokenPipeError: | CODE |
| HIGH | test/broker/06-bridge-reconnect-local-out.py | 49 | except OSError: | CODE |
| HIGH | test/broker/06-bridge-reconnect-local-out.py | 97 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/06-bridge-reconnect-local-out.py | 115 | except OSError: | CODE |
| HIGH | test/broker/11-pub-props.py | 69 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/14-dynsec-client.py | 73 | except FileExistsError: | CODE |
| HIGH | test/broker/14-dynsec-client.py | 130 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/14-dynsec-client.py | 136 | except FileNotFoundError: | CODE |
| HIGH | test/broker/21-proxy-v2-ssl-require-tls-failure.py | 35 | except ConnectionResetError: | CODE |
| HIGH | test/broker/21-proxy-v2-ssl-common-name-failure.py | 41 | except (BrokenPipeError, ConnectionResetError): | CODE |
| HIGH | test/broker/09-plugin-evt-reload.py | 42 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/01-bad-initial-packets.py | 22 | except (ConnectionResetError, BrokenPipeError): | CODE |
| HIGH | test/broker/09-plugin-unsupported.py | 25 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/14-dynsec-plugin-invalid.py | 99 | except FileExistsError: | CODE |
| HIGH | test/broker/14-dynsec-plugin-invalid.py | 126 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/14-dynsec-plugin-invalid.py | 132 | except FileNotFoundError: | CODE |
| HIGH | test/broker/03-publish-qos2-max-inflight-exceeded.py | 31 | except BrokenPipeError: | CODE |
| HIGH | test/broker/13-websocket-bad-origin.py | 36 | except BrokenPipeError: | CODE |
| HIGH | test/broker/06-bridge-br2b-disconnect-qos1.py | 99 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/06-bridge-br2b-disconnect-qos1.py | 105 | except NameError: | CODE |
| HIGH | test/broker/01-connect-global-max-connections.py | 40 | except (ConnectionAbortedError, ConnectionResetError, BrokenPipeError, OSError): | CODE |
| HIGH | test/broker/01-connect-global-max-connections.py | 63 | except (ConnectionAbortedError, ConnectionResetError, BrokenPipeError, OSError): | CODE |
| HIGH | test/broker/06-bridge-br2b-remapping.py | 113 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/06-bridge-br2b-remapping.py | 119 | except NameError: | CODE |
| HIGH | test/broker/14-dynsec-config-init-random.py | 23 | except FileExistsError: | CODE |
| HIGH | test/broker/14-dynsec-config-init-random.py | 61 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/14-dynsec-config-init-random.py | 67 | except FileNotFoundError: | CODE |
| HIGH | test/broker/14-dynsec-config-init-random.py | 71 | except FileNotFoundError: | CODE |
| HIGH | test/broker/03-publish-qos1-queued-bytes.py | 150 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/11-subscription-id.py | 74 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/21-proxy-v2-long-tlv.py | 38 | except ConnectionResetError: | CODE |
| HIGH | test/broker/14-dynsec-allow-wildcard.py | 78 | except FileExistsError: | CODE |
| HIGH | test/broker/14-dynsec-allow-wildcard.py | 118 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/14-dynsec-allow-wildcard.py | 124 | except FileNotFoundError: | CODE |
| HIGH | test/broker/06-bridge-b2br-remapping.py | 141 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/06-bridge-b2br-remapping.py | 147 | except NameError: | CODE |
| HIGH | test/broker/06-bridge-b2br-late-connection-retain.py | 94 | except mosq_test.TestError: | CODE |
| HIGH | test/broker/06-bridge-b2br-late-connection-retain.py | 100 | except NameError: | CODE |
| HIGH | test/broker/msg_sequence_test.py | 244 | except KeyError: | CODE |
| 114 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | run_tests.py | 3 | CODE | |
| LOW | run_tests.py | 4 | CODE | |
| LOW | fuzzing/generate_packet_corpora.py | 14 | CODE | |
| LOW | test/ptest.py | 5 | CODE | |
| LOW | test/mosq_test.py | 25 | CODE | |
| LOW | test/mqtt5_props.py | 2 | CODE | |
| LOW | test/broker/08-ssl-connect-no-auth-wrong-ca.py | 5 | CODE | |
| LOW | test/broker/02-subhier-crash.py | 5 | CODE | |
| LOW | test/broker/09-plugin-auth-v5-unpwd-fail.py | 3 | CODE | |
| LOW | test/broker/02-subpub-qos1-message-expiry.py | 12 | CODE | |
| LOW | test/broker/17-control-list-listeners.py | 5 | CODE | |
| LOW | test/broker/17-control-list-listeners.py | 10 | CODE | |
| LOW | test/broker/04-retain-check-source-persist.py | 5 | CODE | |
| LOW | test/broker/22-http-api-auth.py | 3 | CODE | |
| LOW | test/broker/22-http-api-auth.py | 9 | CODE | |
| LOW | test/broker/22-http-api-auth.py | 10 | CODE | |
| LOW | test/broker/09-pwfile-parse-invalid.py | 5 | CODE | |
| LOW | test/broker/08-ssl-connect-cert-auth-crl.py | 3 | CODE | |
| LOW | test/broker/mosq_test_helper.py | 12 | CODE | |
| LOW | test/broker/mosq_test_helper.py | 14 | CODE | |
| LOW | test/broker/mosq_test_helper.py | 15 | CODE | |
| LOW | test/broker/mosq_test_helper.py | 16 | CODE | |
| LOW | test/broker/mosq_test_helper.py | 17 | CODE | |
| LOW | test/broker/mosq_test_helper.py | 18 | CODE | |
| LOW | test/broker/mosq_test_helper.py | 20 | CODE | |
| LOW | test/broker/mosq_test_helper.py | 21 | CODE | |
| LOW | test/broker/mosq_test_helper.py | 22 | CODE | |
| LOW | test/broker/mosq_test_helper.py | 24 | CODE | |
| LOW | test/broker/mosq_test_helper.py | 25 | CODE | |
| LOW | test/broker/mosq_test_helper.py | 26 | CODE | |
| LOW | test/broker/06-bridge-clean-session-core.py | 21 | CODE | |
| LOW | test/broker/01-connect-allow-anonymous.py | 5 | CODE | |
| LOW | test/broker/07-will-takeover.py | 5 | CODE | |
| LOW | test/broker/01-connect-unix-socket.py | 5 | CODE | |
| LOW | test/broker/02-subpub-qos0-oversize-payload.py | 5 | CODE | |
| LOW | test/broker/09-extended-auth-change-username.py | 5 | CODE | |
| LOW | test/broker/15-persist-client-msg-out-v5-0.py | 6 | CODE | |
| LOW | test/broker/15-persist-client-msg-in-v3-1-1.py | 6 | CODE | |
| LOW | test/broker/09-plugin-auth-defer-unpwd-fail.py | 5 | CODE | |
| LOW | test/broker/09-plugin-auth-unpwd-success.py | 6 | CODE | |
| LOW | test/broker/02-subpub-qos1-oversize-payload.py | 5 | CODE | |
| LOW | test/broker/23-security-acl-file-reload.py | 3 | CODE | |
| LOW | test/broker/12-prop-maximum-packet-size-broker.py | 5 | CODE | |
| LOW | test/broker/08-ssl-connect-no-identity.py | 5 | CODE | |
| LOW | test/broker/persist_module_helper.py | 7 | CODE | |
| LOW | test/broker/09-plugin-evt-message-out.py | 3 | CODE | |
| LOW | test/broker/03-publish-b2c-disconnect-qos1.py | 5 | CODE | |
| LOW | test/broker/12-prop-response-topic.py | 9 | CODE | |
| LOW | test/broker/09-plugin-auth-v4-unpwd-success.py | 6 | CODE | |
| LOW | test/broker/09-plugin-evt-client-offline.py | 3 | CODE | |
| LOW | test/broker/02-subpub-qos1-message-expiry-will.py | 12 | CODE | |
| LOW | test/broker/15-persist-client-will-persistent.py | 6 | CODE | |
| LOW | test/broker/07-will-reconnect-1273.py | 7 | CODE | |
| LOW | test/broker/09-plugin-load-basic-auth.py | 5 | CODE | |
| LOW | test/broker/14-dynsec-group-invalid.py | 5 | CODE | |
| LOW | test/broker/14-dynsec-group-invalid.py | 6 | CODE | |
| LOW | test/broker/14-dynsec-group-invalid.py | 7 | CODE | |
| LOW | test/broker/07-will-oversize-payload.py | 5 | CODE | |
| LOW | test/broker/02-subpub-b2c-topic-alias.py | 6 | CODE | |
| LOW | test/broker/03-publish-long-topic.py | 8 | CODE | |
| 533 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | config.h | 1 | #ifndef CONFIG_H | COMMENT |
| LOW | config.h | 21 | /* ============================================================ | COMMENT |
| LOW | config.h | 41 | # define strtok_r strtok_s | COMMENT |
| LOW | config.h | 61 | COMMENT | |
| LOW | config.h | 81 | #define WS_IS_BUILTIN 2 | COMMENT |
| LOW | .uncrustify.cfg | 21 | # | COMMENT |
| LOW | .uncrustify.cfg | 41 | string_replace_tab_chars = false # true/false | COMMENT |
| LOW | .uncrustify.cfg | 81 | # | COMMENT |
| LOW | .uncrustify.cfg | 101 | COMMENT | |
| LOW | .uncrustify.cfg | 121 | # Add or remove space after the argument list of a C++11 lambda, as in | COMMENT |
| LOW | .uncrustify.cfg | 201 | COMMENT | |
| LOW | .uncrustify.cfg | 261 | # in a function pointer definition. | COMMENT |
| LOW | .uncrustify.cfg | 281 | COMMENT | |
| LOW | .uncrustify.cfg | 301 | sp_after_byref = ignore # ignore/add/remove/force | COMMENT |
| LOW | .uncrustify.cfg | 321 | # This also affects some other instances of space following a type that are | COMMENT |
| LOW | .uncrustify.cfg | 381 | # Add or remove space inside '(' and ')' of control statements other than | COMMENT |
| LOW | .uncrustify.cfg | 521 | # Add or remove space between an open parenthesis and comma, | COMMENT |
| LOW | .uncrustify.cfg | 561 | # Add or remove space before class ':'. | COMMENT |
| LOW | .uncrustify.cfg | 621 | COMMENT | |
| LOW | .uncrustify.cfg | 881 | # | COMMENT |
| LOW | .uncrustify.cfg | 901 | sp_deref = remove # ignore/add/remove/force | COMMENT |
| LOW | .uncrustify.cfg | 1001 | # Add or remove space around the '?' in 'b ? t : f'. | COMMENT |
| LOW | .uncrustify.cfg | 1041 | # remove space after the '//' and the pvs command '-V1234', | COMMENT |
| LOW | .uncrustify.cfg | 1081 | # Add or remove space after the open parenthesis of the new operator, | COMMENT |
| LOW | .uncrustify.cfg | 1101 | # Default: force | COMMENT |
| LOW | .uncrustify.cfg | 1141 | # If true, a <TAB> is inserted after #define. | COMMENT |
| LOW | .uncrustify.cfg | 1161 | indent_ignore_first_continue = false # true/false | COMMENT |
| LOW | .uncrustify.cfg | 1181 | # overrides the indent. | COMMENT |
| LOW | .uncrustify.cfg | 1281 | # Virtual indent from the ':' for leading member initializers. | COMMENT |
| LOW | .uncrustify.cfg | 1301 | # <0: Relative | COMMENT |
| LOW | .uncrustify.cfg | 1321 | COMMENT | |
| LOW | .uncrustify.cfg | 1361 | # This allows reducing the indent in macros that have (for example) | COMMENT |
| LOW | .uncrustify.cfg | 1441 | # Whether to ignore indent for goto labels. | COMMENT |
| LOW | .uncrustify.cfg | 1461 | # Whether to indent the code after an access specifier by one level. | COMMENT |
| LOW | .uncrustify.cfg | 1481 | # Whether to indent the open parenthesis of a function declaration, | COMMENT |
| LOW | .uncrustify.cfg | 1541 | indent_ignore_assign = false # true/false | COMMENT |
| LOW | .uncrustify.cfg | 1561 | COMMENT | |
| LOW | .uncrustify.cfg | 1581 | COMMENT | |
| LOW | .uncrustify.cfg | 1621 | # How to indent compound literals that are being returned. | COMMENT |
| LOW | .uncrustify.cfg | 1921 | nl_template_class_decl_special = ignore # ignore/add/remove/force | COMMENT |
| LOW | .uncrustify.cfg | 1941 | COMMENT | |
| LOW | .uncrustify.cfg | 1981 | nl_enum_own_lines = ignore # ignore/add/remove/force | COMMENT |
| LOW | .uncrustify.cfg | 2201 | # structures. If set to ignore, uses nl_after_brace_close. | COMMENT |
| LOW | .uncrustify.cfg | 2301 | COMMENT | |
| LOW | .uncrustify.cfg | 2381 | COMMENT | |
| LOW | .uncrustify.cfg | 2401 | # Only works when nl_after_func_body is 0. | COMMENT |
| LOW | .uncrustify.cfg | 2421 | nl_typedef_blk_start = 0 # unsigned number | COMMENT |
| LOW | .uncrustify.cfg | 2441 | COMMENT | |
| LOW | .uncrustify.cfg | 2501 | # applicable, otherwise no change. | COMMENT |
| LOW | .uncrustify.cfg | 2521 | # | COMMENT |
| LOW | .uncrustify.cfg | 2581 | # The number of newlines before a whole-file #endif. | COMMENT |
| LOW | .uncrustify.cfg | 2641 | # Try to limit code width to N columns. | COMMENT |
| LOW | .uncrustify.cfg | 2681 | align_func_params_span = 0 # unsigned number | COMMENT |
| LOW | .uncrustify.cfg | 2701 | align_constr_value_thresh = 0 # number | COMMENT |
| LOW | .uncrustify.cfg | 2721 | COMMENT | |
| LOW | .uncrustify.cfg | 2761 | # Whether to align inline struct/enum/union variable definitions. | COMMENT |
| LOW | .uncrustify.cfg | 2781 | # definitions are found on the same line. | COMMENT |
| LOW | .uncrustify.cfg | 2801 | # 2: Don't align | COMMENT |
| LOW | .uncrustify.cfg | 2821 | # Use a negative number for absolute thresholds. | COMMENT |
| LOW | .uncrustify.cfg | 2841 | align_var_struct_gap = 0 # unsigned number | COMMENT |
| 268 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | CMakeLists.txt | 178 | # ======================================== | COMMENT |
| MEDIUM | CMakeLists.txt | 180 | # ======================================== | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 242 | # ======================================== | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 244 | # ======================================== | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 251 | # ======================================== | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 253 | # ======================================== | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 260 | # ======================================== | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 262 | # ======================================== | COMMENT |
| MEDIUM | CMakeLists.txt | 310 | # ======================================== | COMMENT |
| MEDIUM | CMakeLists.txt | 312 | # ======================================== | COMMENT |
| MEDIUM⚡ | test/mosq_test.py | 753 | # ============================================= | COMMENT |
| MEDIUM⚡ | test/mosq_test.py | 755 | # ============================================= | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 36 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 38 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 68 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 70 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 88 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 90 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 125 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 127 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 162 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 164 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 199 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 201 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 236 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 238 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 256 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 258 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 276 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-group-invalid.py | 278 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/20-sparkplug-aware.py | 22 | # ====================================================================== | COMMENT |
| MEDIUM | test/broker/20-sparkplug-aware.py | 25 | # ====================================================================== | COMMENT |
| MEDIUM | test/broker/20-sparkplug-aware.py | 37 | # ====================================================================== | COMMENT |
| MEDIUM | test/broker/20-sparkplug-aware.py | 39 | # ====================================================================== | COMMENT |
| MEDIUM | test/broker/20-sparkplug-aware.py | 102 | # ====================================================================== | COMMENT |
| MEDIUM | test/broker/20-sparkplug-aware.py | 104 | # ====================================================================== | COMMENT |
| MEDIUM | test/broker/20-sparkplug-aware.py | 151 | # ====================================================================== | COMMENT |
| MEDIUM | test/broker/20-sparkplug-aware.py | 153 | # ====================================================================== | COMMENT |
| MEDIUM | test/broker/20-sparkplug-aware.py | 198 | # ====================================================================== | COMMENT |
| MEDIUM | test/broker/20-sparkplug-aware.py | 200 | # ====================================================================== | COMMENT |
| MEDIUM | test/broker/09-extended-auth-multistep-reauth.py | 9 | # ========== | COMMENT |
| MEDIUM | test/broker/09-extended-auth-multistep-reauth.py | 28 | # =========== | COMMENT |
| MEDIUM | test/broker/09-extended-auth-multistep-reauth.py | 48 | # ======================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-plugin-invalid.py | 35 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-plugin-invalid.py | 37 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-plugin-invalid.py | 75 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-plugin-invalid.py | 77 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-role-invalid.py | 40 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-role-invalid.py | 42 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-role-invalid.py | 72 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-role-invalid.py | 74 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-role-invalid.py | 92 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-role-invalid.py | 94 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-role-invalid.py | 113 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-role-invalid.py | 115 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-role-invalid.py | 148 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-role-invalid.py | 150 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-role-invalid.py | 180 | # ========================================================================== | COMMENT |
| MEDIUM | test/broker/14-dynsec-role-invalid.py | 182 | # ========================================================================== | COMMENT |
| MEDIUM⚡ | test/broker/14-dynsec-client-invalid.py | 300 | # ========================================================================== | COMMENT |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/mosq_test.py | 44 | except Exception as e: | CODE |
| LOW | test/mosq_test.py | 240 | except Exception: | CODE |
| LOW | test/mosq_test.py | 260 | except Exception as e: | CODE |
| LOW | test/mosq_test.py | 719 | except Exception as err: | CODE |
| LOW⚡ | test/mosq_test.py | 744 | except Exception: | CODE |
| MEDIUM | test/mosq_test.py | 113 | def broker_log(broker): | CODE |
| LOW | test/broker/mosq_test_helper.py | 103 | except Exception as e: | CODE |
| LOW | test/broker/06-bridge-clean-session-core.py | 242 | except Exception as e: | CODE |
| LOW | test/broker/09-plugin-load-basic-auth.py | 97 | except Exception as err: | CODE |
| LOW | test/broker/16-config-includedir.py | 35 | except Exception as e: | CODE |
| LOW | test/broker/16-config-huge.py | 203 | except Exception as err: | CODE |
| LOW | test/broker/09-plugin-evt-psk-key.py | 106 | except Exception as err: | CODE |
| LOW | test/broker/09-plugin-load-extended-auth.py | 80 | except Exception as err: | CODE |
| LOW | test/broker/09-plugin-load-acl.py | 50 | except Exception as err: | CODE |
| LOW | test/broker/15-persist-migrate-db.py | 39 | except Exception as err: | CODE |
| LOW | test/broker/15-persist-migrate-db.py | 70 | except Exception as exc: | CODE |
| LOW | test/apps/ctrl/ctrl-broker.py | 85 | except Exception as err: | CODE |
| LOW | test/apps/db_dump/db-dump-stats-current.py | 86 | except Exception as e: | CODE |
| LOW | test/apps/passwd/passwd-changes.py | 115 | except Exception as err: | CODE |
| LOW | test/client/03-publish-socks.py | 79 | except Exception as e: | CODE |
| LOW | test/client/03-publish-file-empty.py | 59 | except Exception as e: | CODE |
| LOW | test/client/03-publish-options-file.py | 64 | except Exception as e: | CODE |
| LOW | test/client/04-rr-retain-handling.py | 69 | except Exception as e: | CODE |
| LOW | test/client/02-subscribe-retain-handling.py | 64 | except Exception as e: | CODE |
| LOW | test/client/03-publish-tls.py | 69 | except Exception as e: | CODE |
| LOW | test/client/03-publish-socks-auth-failed.py | 71 | except Exception as e: | CODE |
| LOW | test/client/03-publish-file.py | 56 | except Exception as e: | CODE |
| LOW | test/client/03-publish-socks-no-auth.py | 79 | except Exception as e: | CODE |
| MEDIUM | plugins/persist-sqlite/migrate_to_persist_sqlite.py | 67 | print(f"Error during SQLite3 DB initialization. Reason: {str(err)}") | CODE |
| MEDIUM | plugins/persist-sqlite/migrate_to_persist_sqlite.py | 295 | print(f"Error during SQLite3 DB creation. Reason: {str(err)}") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | fuzzing/generate_packet_corpora.py | 22 | CODE | |
| LOW | test/broker_config.py | 82 | CODE | |
| LOW | test/broker_config.py | 132 | CODE | |
| LOW | test/ptest.py | 117 | CODE | |
| LOW | test/mosq_test.py | 120 | CODE | |
| LOW | test/mosq_test.py | 287 | CODE | |
| LOW | test/mosq_test.py | 438 | CODE | |
| LOW | test/mosq_test.py | 665 | CODE | |
| LOW | test/mosq_test.py | 1082 | CODE | |
| LOW | test/mosq_test.py | 791 | CODE | |
| LOW | test/mosq_test.py | 928 | CODE | |
| LOW | test/mqtt5_props.py | 86 | CODE | |
| LOW | test/mqtt5_props.py | 157 | CODE | |
| LOW | test/broker/01-connect-allow-anonymous.py | 50 | CODE | |
| LOW | test/broker/persist_module_helper.py | 80 | CODE | |
| LOW | test/broker/21-proxy-v2-bad-header.py | 17 | CODE | |
| LOW | test/broker/persist_client_will_core.py | 49 | CODE | |
| LOW | test/broker/01-connect-accept-protocol.py | 10 | CODE | |
| LOW | test/broker/msg_sequence_test.py | 168 | CODE | |
| LOW | test/broker/msg_sequence_test.py | 219 | CODE | |
| LOW | test/broker/msg_sequence_test.py | 138 | CODE | |
| LOW | test/broker/06-bridge-config-reload.py | 55 | CODE | |
| LOW | test/broker/15-persist-client-drop-expired-messages.py | 25 | CODE | |
| LOW | test/broker/15-persist-client-expired-session.py | 24 | CODE | |
| LOW | test/broker/15-persist-bridge-queue.py | 28 | CODE | |
| LOW | test/broker/15-persist-client-msg-modify-acl.py | 15 | CODE | |
| LOW | test/broker/persist_sqlite.py | 57 | CODE | |
| LOW | test/broker/01-connect-uname-or-anon.py | 12 | CODE | |
| LOW | test/broker/15-persist-migrate-db.py | 15 | CODE | |
| LOW | test/lib/msg_sequence_test.py | 191 | CODE | |
| LOW | test/lib/msg_sequence_test.py | 263 | CODE | |
| LOW | test/lib/msg_sequence_test.py | 166 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/matchers.py | 296 | def _check_additional_mapping_entries(self, candidate, expectation): | CODE |
| LOW | test/matchers.py | 338 | def _check_additional_mapping_entries(self, candidate, expectation): | CODE |
| LOW | test/broker/06-bridge-clean-session-core.py | 66 | def wait_for_bridge_to_connect(port, clientid): | CODE |
| LOW | test/broker/msg_sequence_test.py | 81 | def _publish_external_message(self, msg): | CODE |
| LOW | test/broker/06-bridge-config-reload.py | 47 | def expect_no_incoming_connection(sock): | CODE |
| LOW | test/broker/20-sparkplug-compliance.py | 34 | def tck_id_conformance_mqtt_will_messages(port, proto_ver): | CODE |
| LOW | test/broker/20-sparkplug-compliance.py | 40 | def tck_id_conformance_mqtt_retained(port, proto_ver): | CODE |
| LOW | test/broker/09-plugin-load-extended-auth.py | 17 | def client_check_start_denied(start_data, rc, port): | CODE |
| LOW | test/broker/09-plugin-load-extended-auth.py | 34 | def client_check_start_allowed(start_data, cont_data, rc, port): | CODE |
| LOW | plugins/dynamic-security/migrate_to_dynsec.py | 43 | def create_role_with_permissions( | CODE |
| LOW | plugins/dynamic-security/migrate_to_dynsec.py | 60 | def create_role_with_full_permissions( | CODE |
| LOW | plugins/dynamic-security/migrate_to_dynsec.py | 263 | def topic_or_pattern_sanity_check(acl_file_line: str, tokens: list[str]) -> None: | CODE |
| LOW | plugins/dynamic-security/migrate_to_dynsec.py | 283 | def parse_topic_or_pattern_acl(acl_file_line: str) -> list[DynSecAcl]: | CODE |
| LOW | plugins/persist-sqlite/migrate_to_persist_sqlite.py | 88 | def __create_client_msgs_table(self): | CODE |
| LOW | plugins/persist-sqlite/migrate_to_persist_sqlite.py | 140 | def __create_subscriptions_table(self): | CODE |
| LOW | plugins/persist-sqlite/migrate_to_persist_sqlite.py | 152 | def __create_version_info_table(self): | CODE |
| LOW | plugins/persist-sqlite/migrate_to_persist_sqlite.py | 284 | def migrate_to_persist_sqlite( | CODE |
| LOW | plugins/persist-sqlite/migrate_to_persist_sqlite.py | 312 | def dump_mosquitto_db_to_json( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | www/conf.py | 177 | # you can use the ISO 8601/RFC 3339 format (ex. 2012-03-30T23:00:00+02:00) | COMMENT |
| MEDIUM | www/conf.py | 1172 | # With the following example configuration you can use a custom jinja template | COMMENT |
| MEDIUM | www/conf.py | 1200 | # Pandoc does not demote headers by default. To enable this, you can use, for example | COMMENT |
| MEDIUM | www/conf.py | 1371 | # # 'card': 'summary', # Card type, you can also use 'summary_large_image', | COMMENT |
| LOW | www/conf.py | 74 | # WARNING: If you link to directories, make sure to follow | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/broker/03-publish-b2c-disconnect-qos1.py | 7 | def helper(port): | CODE |
| LOW | test/broker/05-clean-session-qos1.py | 7 | def helper(port): | CODE |
| LOW | test/broker/02-subpub-qos2-max-inflight-bytes.py | 13 | def helper(port): | CODE |
| LOW | test/broker/07-will-null.py | 7 | def helper(port, proto_ver): | CODE |
| LOW | test/broker/02-subpub-qos2-receive-maximum-1.py | 8 | def helper(port): | CODE |
| LOW | test/broker/03-publish-b2c-qos2-len.py | 8 | def helper(port): | CODE |
| LOW | test/broker/15-persist-subscription-v3-1-1.py | 9 | def helper(port, packets): | CODE |
| LOW | test/broker/15-persist-subscription-v5-0.py | 9 | def helper(port, packets): | CODE |
| LOW | test/broker/02-subpub-qos2-receive-maximum-2.py | 8 | def helper(port): | CODE |
| LOW | test/broker/10-listener-mount-point.py | 8 | def helper(port, proto_ver): | CODE |
| LOW | test/broker/03-publish-b2c-qos1-len.py | 8 | def helper(port): | CODE |
| LOW | test/broker/03-publish-b2c-disconnect-qos2.py | 8 | def helper(port): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/broker/14-dynsec-allow-wildcard.py | 90 | # Create a group, add a role to the group, add the client to the group | COMMENT |
| MEDIUM⚡ | test/broker/14-dynsec-client-invalid.py | 304 | # Create a client to modify | COMMENT |
| MEDIUM | test/broker/14-dynsec-acl.py | 247 | # Create a group, add a role to the group, add the client to the group | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/broker/21-proxy-v2-long-tlv.py | 41 | broker.check_log(Contains("Client (null) [(null):0] disconnected: bad socket read/write: Invalid input")) | CODE |
| HIGH | test/client/02-subscribe-null.py | 53 | expected_output = topic + ' (null)\n' | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .uncrustify.cfg | 3635 | # Whether to apply special formatting for Qt SIGNAL/SLOT macros. Essentially, | COMMENT |
| LOW | test/ssl/gen.sh | 2 | # None of the keys are encrypted, so do not just use this script to generate | COMMENT |
| LOW | www/conf.py | 550 | # If you don't need any of these, just set to [] | COMMENT |
| LOW | www/conf.py | 1138 | # text!), just use this config: | COMMENT |
| LOW | www/conf.py | 1160 | # conflict with running text!), just use this config: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/mosquitto_broker.py | 15 | CODE | |
| LOW | test/mosq_test.py | 120 | CODE | |
| LOW | test/mqtt_packets.py | 52 | CODE | |
| LOW | test/broker/persist_sqlite.py | 150 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | misc/letsencrypt/mosquitto-copy.sh | 26 | # Set ownership to Mosquitto | COMMENT |
| LOW | www/conf.py | 1311 | # Set this to False if you want to host your site without requiring access to | COMMENT |