Open-source telemetry dashboard. Supports UART, BLE, MQTT, Modbus, CAN Bus and more.
This report presents the forensic synthetic code analysis of Serial-Studio/Serial-Studio, a C project with 7,160 GitHub stars. SynthScan v2.0 examined 1,160,992 lines of code across 3695 source files, recording 4837 pattern matches distributed across 23 syntactic categories. The overall adjusted score of 7.2 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 4837 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | REUSE.toml | 6 | # ------------------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | REUSE.toml | 9 | # ------------------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | REUSE.toml | 36 | # ------------------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | REUSE.toml | 39 | # ------------------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | REUSE.toml | 70 | # ------------------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | REUSE.toml | 73 | # ------------------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | REUSE.toml | 80 | # ------------------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | REUSE.toml | 83 | # ------------------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | REUSE.toml | 110 | # ------------------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | REUSE.toml | 113 | # ------------------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | REUSE.toml | 144 | # ------------------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | REUSE.toml | 148 | # ------------------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 224 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 233 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 235 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 331 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 333 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 343 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 347 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 349 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 367 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 376 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 378 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 419 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 421 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 427 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 433 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 435 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 462 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 464 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 470 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 475 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 477 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 497 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 506 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 508 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 23 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 25 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 36 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 49 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 51 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 77 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 104 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 106 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 129 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 141 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 143 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 173 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 206 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 208 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 260 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 393 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 451 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 528 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app/CMakeLists.txt | 34 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app/CMakeLists.txt | 39 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app/CMakeLists.txt | 41 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app/CMakeLists.txt | 57 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app/CMakeLists.txt | 65 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app/CMakeLists.txt | 67 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| 1265 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CMakeLists.txt | 1 | # | COMMENT |
| LOW | CMakeLists.txt | 21 | cmake_minimum_required(VERSION 3.20) | COMMENT |
| LOW | CMakeLists.txt | 41 | COMMENT | |
| LOW | CMakeLists.txt | 61 | # ENABLE_PGO=OFF (default) - Profile-Guided Optimization | COMMENT |
| LOW | CMakeLists.txt | 101 | message(STATUS "WITH_WEBENGINE=OFF, markdown viewers will use Qt rich-text and reports will be HTML-only") | COMMENT |
| LOW | CMakeLists.txt | 141 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| LOW | CMakeLists.txt | 161 | # - License: GPL-3.0-or-later.txt | COMMENT |
| LOW | CMakeLists.txt | 201 | set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") | COMMENT |
| LOW | CMakeLists.txt | 221 | # const char *version = PROJECT_VERSION; | COMMENT |
| LOW | CMakeLists.txt | 241 | # - Prevents accidental inclusion of Pro features in GPL builds | COMMENT |
| LOW | CMakeLists.txt | 341 | # (e.g., -march=x86-64-v2, -march=armv8-a, SSE4.1, NEON) | COMMENT |
| LOW | CMakeLists.txt | 361 | # - CMAKE_C_COMPILER_RANLIB: Index generator for C static libraries | COMMENT |
| LOW | CMakeLists.txt | 381 | # | COMMENT |
| LOW | CMakeLists.txt | 421 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| LOW | CMakeLists.txt | 441 | # performance while leaving Q_ASSERT, debug symbols, and stepping intact. | COMMENT |
| LOW | CMakeLists.txt | 461 | COMMENT | |
| LOW | CMakeLists.txt | 481 | # 1. lib/ (third-party libraries and dependencies): | COMMENT |
| LOW | CMakeLists.txt | 501 | endif() | COMMENT |
| LOW | CMakeLists.txt | 521 | # - Optimization flags are correctly applied | COMMENT |
| LOW | app/CMakeLists.txt | 1 | # | COMMENT |
| LOW | app/CMakeLists.txt | 21 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| LOW | app/CMakeLists.txt | 41 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| LOW | app/CMakeLists.txt | 61 | set(CMAKE_AUTORCC ON) | COMMENT |
| LOW | app/CMakeLists.txt | 81 | # Qt6::Bluetooth - Bluetooth LE device discovery and communication | COMMENT |
| LOW | app/CMakeLists.txt | 181 | # | COMMENT |
| LOW | app/CMakeLists.txt | 1381 | # When ENABLE_GRPC=ON: | COMMENT |
| LOW | app/CMakeLists.txt | 1461 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| LOW | app/CMakeLists.txt | 1541 | COMMENT | |
| LOW | app/CMakeLists.txt | 1561 | # - Simplifies deployment (single executable + Qt libs) | COMMENT |
| LOW | app/CMakeLists.txt | 1581 | # (allows setting properties before qt_finalize_executable) | COMMENT |
| LOW | app/CMakeLists.txt | 1701 | # Executable-specific hardening flags (Linux) | COMMENT |
| LOW | app/CMakeLists.txt | 1741 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| LOW | app/CMakeLists.txt | 1761 | # - QML caching: Pre-compiles QML to bytecode for faster startup | COMMENT |
| LOW | app/CMakeLists.txt | 1801 | # | COMMENT |
| LOW | app/CMakeLists.txt | 1861 | if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|amd64)$") | COMMENT |
| LOW | app/CMakeLists.txt | 1901 | set_source_files_properties(src/ThirdParty/tweetnacl.c | COMMENT |
| LOW | app/CMakeLists.txt | 1921 | # | COMMENT |
| LOW | app/CMakeLists.txt | 1961 | src/ThirdParty/ed25519_verify.cpp | COMMENT |
| LOW | app/CMakeLists.txt | 1981 | # | COMMENT |
| LOW | app/CMakeLists.txt | 2061 | $<$<BOOL:${MSVC}>:/DEBUG:NONE> | COMMENT |
| LOW | app/CMakeLists.txt | 2081 | # qt_generate_deploy_qml_app_script(): | COMMENT |
| LOW | app/CMakeLists.txt | 2161 | #--------------------------------------------------------------------------------------------------- | COMMENT |
| LOW | app/CMakeLists.txt | 2181 | # - CPACK_WIX_LICENSE_RTF: License agreement displayed during install | COMMENT |
| LOW | app/rcc/scripts/painter/default_template.js | 1 | // Default painter template. | COMMENT |
| LOW | app/rcc/scripts/parser/js/batched_sensor_data.js | 61 | // Modify this based on your data format (JSON, CSV, binary, etc.) | COMMENT |
| LOW | app/rcc/scripts/annotations/modbus_rtu.js | 1 | // | COMMENT |
| LOW | app/rcc/scripts/transforms/js/logarithmic_db.js | 1 | // 'value' is the live numeric reading for this dataset, | COMMENT |
| LOW | app/rcc/scripts/transforms/js/ema.js | 1 | // 'value' is the live numeric reading for this dataset, | COMMENT |
| LOW | app/rcc/scripts/transforms/js/schmitt_trigger.js | 1 | // 'value' is the live numeric reading for this dataset, | COMMENT |
| LOW | app/rcc/scripts/transforms/js/moving_average.js | 1 | // 'value' is the live numeric reading for this dataset, | COMMENT |
| LOW | app/rcc/scripts/transforms/js/running_max.js | 1 | // 'value' is the live numeric reading for this dataset, | COMMENT |
| LOW | app/rcc/scripts/transforms/js/fahrenheit_to_celsius.js | 1 | // 'value' is the live numeric reading for this dataset, | COMMENT |
| LOW | app/rcc/scripts/transforms/js/rolling_rms.js | 1 | // 'value' is the live numeric reading for this dataset, | COMMENT |
| LOW | app/rcc/scripts/transforms/js/unwrap_angle.js | 1 | // 'value' is the live numeric reading for this dataset, | COMMENT |
| LOW | app/rcc/scripts/transforms/js/kalman_1d.js | 1 | // 'value' is the live numeric reading for this dataset, | COMMENT |
| LOW | app/rcc/scripts/transforms/js/map_range.js | 1 | // 'value' is the live numeric reading for this dataset, | COMMENT |
| LOW | app/rcc/scripts/transforms/js/thermistor_steinhart.js | 1 | // 'value' is the live numeric reading for this dataset, | COMMENT |
| LOW | app/rcc/scripts/transforms/js/degrees_to_radians.js | 1 | // 'value' is the live numeric reading for this dataset, | COMMENT |
| LOW | app/rcc/scripts/transforms/js/polynomial_2nd.js | 1 | // 'value' is the live numeric reading for this dataset, | COMMENT |
| LOW | app/rcc/scripts/transforms/js/round_decimals.js | 1 | // 'value' is the live numeric reading for this dataset, | COMMENT |
| 1325 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/rcc/ai/build_search_index.py | 222 | def harvest_templates_manifest(): | CODE |
| LOW⚡ | app/translations/translate_welcome_messages.py | 80 | def translate_welcome_message(source_text, target_language, context, lang_code): | CODE |
| LOW⚡ | app/translations/translate_welcome_messages.py | 160 | def translate_welcome_files_in_subdir(subdir, languages): | CODE |
| LOW | app/translations/llm_translate.py | 812 | def harvest_translation_memory(ts_root) -> list[tuple[str, str]]: | CODE |
| LOW | app/translations/llm_translate.py | 1038 | def _call_provider_with_retry( | CODE |
| LOW | app/translations/llm_translate.py | 1129 | def parse_numbered_translations( | CODE |
| LOW | app/translations/llm_translate.py | 1512 | def apply_capitalization_pattern( | CODE |
| LOW | app/translations/llm_translate.py | 1612 | def verify_capitalization_batch(entries, lang_code): | CODE |
| LOW | app/translations/llm_translate.py | 1946 | def verify_capitalization_ts_file(filename): | CODE |
| LOW | tests/conftest.py | 122 | def pytest_collection_modifyitems(config, items): | CODE |
| LOW⚡ | tests/unit/test_updates_manifest.py | 63 | def test_manifest_has_exactly_the_expected_keys(updates): | CODE |
| LOW⚡ | tests/unit/test_updates_manifest.py | 67 | def test_every_entry_has_the_required_fields(updates): | CODE |
| LOW⚡ | tests/unit/test_updates_manifest.py | 73 | def test_all_entries_advertise_the_same_version(updates): | CODE |
| LOW⚡ | tests/unit/test_updates_manifest.py | 79 | def test_download_urls_match_package_type_and_arch(updates): | CODE |
| LOW⚡ | tests/unit/test_updates_manifest.py | 88 | def test_open_url_keys_have_no_direct_download(updates): | CODE |
| LOW⚡ | tests/unit/test_updates_manifest.py | 94 | def test_direct_download_keys_do_not_shadow_with_open_url(updates): | CODE |
| LOW⚡ | tests/unit/test_updates_manifest.py | 101 | def test_changelog_present_everywhere(updates): | CODE |
| LOW⚡ | tests/unit/test_mirror_protocol.py | 74 | def test_every_fixture_line_is_json(name): | CODE |
| LOW⚡ | tests/unit/test_mirror_protocol.py | 144 | def test_fixture_round_trips_through_the_client(name): | CODE |
| LOW⚡ | tests/unit/test_mirror_protocol.py | 160 | def test_layout_hash_is_reproducible(name): | CODE |
| LOW⚡ | tests/unit/test_mirror_protocol.py | 170 | def test_layout_hash_detects_reordering(): | CODE |
| LOW⚡ | tests/unit/test_mirror_protocol.py | 180 | def test_snapshot_encodes_strings_and_non_finite_out_of_band(): | CODE |
| LOW⚡ | tests/unit/test_mirror_protocol.py | 224 | def test_epoch_mismatch_drops_the_snapshot_and_requests_structure(): | CODE |
| LOW⚡ | tests/unit/test_mirror_protocol.py | 281 | def test_unknown_fields_kinds_and_push_keys_are_tolerated(): | CODE |
| LOW⚡ | tests/unit/test_mirror_protocol.py | 298 | def test_a_push_without_the_mirror_key_decodes_to_nothing(): | CODE |
| LOW⚡ | tests/unit/test_mirror_protocol.py | 306 | def test_heartbeat_decodes_and_separates_stale_from_idle(): | CODE |
| LOW⚡ | tests/unit/test_mirror_protocol.py | 320 | def test_chunked_structure_reassembles_regardless_of_arrival_order(): | CODE |
| LOW⚡ | tests/unit/test_mirror_protocol.py | 375 | def test_rate_bounds_and_watchdog_match_the_contract(): | CODE |
| LOW | tests/unit/test_mirror_protocol.py | 87 | def test_structure_order_matches_the_source_project(name): | CODE |
| LOW | tests/unit/test_mirror_protocol.py | 123 | def test_snapshot_value_count_matches_the_dataset_list(name): | CODE |
| LOW | tests/unit/test_mirror_protocol.py | 204 | def test_precision_parameter_shrinks_the_wire_without_changing_shape(): | CODE |
| LOW | tests/unit/test_mirror_protocol.py | 240 | def test_length_mismatch_is_handled_like_an_epoch_mismatch(): | CODE |
| LOW | tests/unit/test_mirror_protocol.py | 252 | def test_layout_hash_mismatch_refuses_the_structure(): | CODE |
| LOW | tests/unit/test_mirror_protocol.py | 263 | def test_version_mismatch_is_reported_not_half_decoded(): | CODE |
| LOW | tests/unit/test_mirror_protocol.py | 342 | def test_chunking_round_trips_a_structure_byte_for_byte(): | CODE |
| LOW | tests/unit/test_mirror_protocol.py | 387 | def test_timestamps_are_relative_and_monotonic_per_source(): | CODE |
| LOW⚡ | tests/security/test_access_control.py | 390 | def test_information_disclosure(tester): | CODE |
| LOW | tests/security/test_access_control.py | 182 | def test_command_authorization(tester): | CODE |
| LOW | tests/security/test_access_control.py | 271 | def test_configuration_tampering(tester): | CODE |
| LOW | tests/security/test_access_control.py | 333 | def test_project_manipulation(tester): | CODE |
| LOW | tests/security/test_access_control.py | 457 | def test_cross_client_interference(tester): | CODE |
| LOW | tests/security/conftest.py | 238 | def pytest_collection_modifyitems(config, items): | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 305 | def test_prototype_pollution_via_command(self, security_client, payload): | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 326 | def test_prototype_pollution_in_raw_json(self, check_server_alive): | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 478 | def test_null_byte_in_frame_delimiters(self, security_client, check_server_alive): | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 871 | def test_rapid_checksum_algorithm_switching( | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 1221 | def test_integer_truncation_in_time_range( | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 1266 | def test_negative_port_numbers(self, security_client, check_server_alive): | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 1499 | def test_error_message_analysis(self, security_client): | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 2188 | def test_reflected_payload_in_title(self, security_client, payload): | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 220 | def test_js_code_via_project_json(self, security_client, check_server_alive): | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 251 | def test_js_code_length_amplification(self, security_client, check_server_alive): | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 442 | def test_null_byte_path_truncation(self, security_client): | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 461 | def test_null_byte_in_command_name(self, check_server_alive): | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 517 | def test_partial_json_then_valid(self, check_server_alive): | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 550 | def test_interleaved_binary_and_json(self, check_server_alive): | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 579 | def test_newline_injection_in_json_value(self, check_server_alive): | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 601 | def test_message_boundary_confusion(self, check_server_alive): | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 677 | def test_quadratic_blowup_duplicate_keys(self, check_server_alive): | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 719 | def test_sabotage_via_config_change(self, check_server_alive): | CODE |
| 1228 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/security/test_unknown_input_hardening.py | 150 | "function parse(f){var a=[];while(true)a.push(new Array(1e6));" | CODE |
| HIGH | tests/security/test_unknown_input_hardening.py | 2069 | b'{"type":"batch","id":"x","commands":[null,null]}\n', | CODE |
| HIGH | tests/security/test_unknown_input_hardening.py | 2077 | b'{"type":"batch","id":"x","commands":[{"command":"api.getCommands"},42,"str",null,true]}\n', | CODE |
| HIGH | tests/security/test_unknown_input_hardening.py | 2125 | b'{"type":null,"id":"x","command":"api.getCommands"}\n', | CODE |
| HIGH | tests/security/test_protocol_fuzzing.py | 97 | b'{"type":"command","id":null,"command":"test"}\n', | CODE |
| HIGH | tests/integration/test_session_regression.py | 74 | " if (parseInt(frame) % 30 === 0) return null;" | CODE |
| HIGH⚡ | tests/integration/test_dataset_transforms.py | 265 | "var ema = null;\n" | CODE |
| HIGH⚡ | tests/integration/test_dataset_transforms.py | 267 | " ema = (ema === null) ? v : alpha * v + (1 - alpha) * ema;\n" | CODE |
| HIGH | tests/integration/test_session_export.py | 321 | # non-null) instead of QString(). | COMMENT |
| HIGH | tests/integration/test_image_view.py | 686 | # Payload is not a valid image — QImage::fromData will return null, | COMMENT |
| HIGH | tests/integration/test_image_view.py | 672 | (it is passed to QImage::fromData which returns null) without crashing.""" | STRING |
| HIGH | tests/integration/test_device_write.py | 195 | " if (typeof r !== 'object' || r === null) throw 'deviceWrite must return an object';\n" | CODE |
| HIGH | tests/integration/test_device_write.py | 426 | " if (info && typeof info.timestampMs === 'number') {\n" | CODE |
| HIGH | tests/integration/test_frame_parsing.py | 428 | values.push(data.groups[i].datasets[j].value); | CODE |
| HIGH | tests/integration/test_frame_parsing.py | 893 | values.push(data.groups[i].datasets[j].value); | CODE |
| HIGH | tests/integration/test_frame_parsing.py | 968 | values.push(data.groups[i].datasets[j].value); | CODE |
| HIGH | tests/integration/test_frame_parsing.py | 1047 | values.push(data.groups[i].datasets[j].value); | CODE |
| HIGH | tests/integration/test_frame_parsing.py | 1140 | values.push(data.groups[i].datasets[j].value); | CODE |
| HIGH⚡ | tests/integration/test_table_handles.py | 90 | var H = null; | CODE |
| HIGH⚡ | tests/integration/test_table_handles.py | 92 | if (H === null) H = tableHandleMany("DAQ", ["ch1","ch2","ch3","ch4"]); | CODE |
| HIGH⚡ | tests/utils/data_generator.py | 478 | '{"null": null}{"extra":"object"}', | STRING |
| HIGH⚡ | tests/utils/data_generator.py | 487 | '{"undefined": undefined}', | STRING |
| HIGH | tests/scripts/conftest.py | 100 | if (gen !== GEN || idx >= ORDER.length) return -1; | CODE |
| HIGH⚡ | tests/scripts/conftest.py | 113 | if (def !== undefined) write(rec, def); | CODE |
| HIGH⚡ | tests/scripts/conftest.py | 115 | ORDER.push(k); | CODE |
| HIGH⚡ | tests/scripts/conftest.py | 120 | return rec ? read(rec) : undefined; | CODE |
| HIGH⚡ | tests/scripts/conftest.py | 123 | if (v === undefined || v === null) return; | CODE |
| HIGH⚡ | tests/scripts/conftest.py | 123 | if (v === undefined || v === null) return; | CODE |
| HIGH⚡ | tests/scripts/conftest.py | 125 | if (rec && rec.computed) write(rec, v); | CODE |
| HIGH⚡ | tests/scripts/conftest.py | 133 | for (var i = 0; i < regs.length; i++) out.push(tableHandle(t, regs[i])); | CODE |
| HIGH⚡ | tests/scripts/conftest.py | 141 | if (v === undefined || v === null) return; | CODE |
| HIGH⚡ | tests/scripts/conftest.py | 141 | if (v === undefined || v === null) return; | CODE |
| HIGH⚡ | tests/scripts/conftest.py | 153 | if (!(uid in DS_RAW)) { DS_RAW[uid] = undefined; DS_FINAL[uid] = undefined; } | CODE |
| HIGH⚡ | tests/scripts/conftest.py | 159 | if (typeof sel === "number") return (sel in DS_RAW) ? sel : undefined; | CODE |
| HIGH⚡ | tests/scripts/conftest.py | 160 | if (typeof sel === "string") return ALIAS.hasOwnProperty(sel) ? ALIAS[sel] : undefined; | CODE |
| HIGH⚡ | tests/scripts/conftest.py | 161 | return undefined; | CODE |
| HIGH⚡ | tests/scripts/test_cpp_regressions.py | 112 | assert "writtenData.chop(writtenData.length() - boundedBytes);" in text | CODE |
| HIGH⚡ | tests/scripts/test_cpp_regressions.py | 219 | assert "if (!data || data->data.isEmpty())" in frame_reader | CODE |
| HIGH⚡ | tests/scripts/test_cpp_regressions.py | 262 | "if (widgetIdx < 0 || widgetIdx >= keys.size())", | CODE |
| HIGH⚡ | tests/scripts/test_cpp_regressions.py | 263 | "if (eolIdx < 0 || eolIdx >= eolKeys.size())", | CODE |
| HIGH⚡ | tests/scripts/test_cpp_regressions.py | 264 | "if (checksumId < 0 || checksumId >= checksums.size())", | CODE |
| HIGH⚡ | tests/scripts/test_cpp_regressions.py | 265 | "if (idx < 0 || idx >= m_frameDetectionMethodsValues.size())", | CODE |
| HIGH⚡ | tests/scripts/test_cpp_regressions.py | 269 | "return index >= 0 && index < m_datasetWidgets.size();", | CODE |
| HIGH⚡ | tests/scripts/test_cpp_regressions.py | 270 | "return index >= 0 && index < m_plotOptions.size();", | CODE |
| HIGH⚡ | tests/scripts/test_cpp_regressions.py | 271 | "return index >= 0 && index < m_fftSamples.size();", | CODE |
| HIGH | tests/scripts/test_cpp_regressions.py | 671 | r"if \(modified && m_groups\.empty\(\)[\s\S]*?" | CODE |
| HIGH | tests/scripts/test_cpp_regressions.py | 914 | "if (spec.operationMode == SerialStudio::QuickPlot && spec.finishSequences.isEmpty())" | CODE |
| HIGH | tests/scripts/test_table_handles.py | 188 | a.push(tableGet('A', CH[i])); | CODE |
| HIGH | tests/scripts/test_table_handles.py | 189 | b.push(tableGet('B', CH[i])); | CODE |
| HIGH⚡ | tests/scripts/test_dataset_alias.py | 65 | __defineDataset(128, null); | CODE |
| HIGH⚡ | tests/scripts/test_dataset_alias.py | 80 | __defineDataset(128, null); | CODE |
| HIGH⚡ | tests/scripts/test_dataset_alias.py | 100 | console.log(JSON.stringify({ missing: (v === undefined) })); | CODE |
| HIGH⚡ | tests/scripts/test_dataset_alias.py | 108 | console.log(JSON.stringify({ missing: (v === undefined) })); | CODE |
| HIGH | scripts/generate-sdk.py | 135 | lines.append(" bytes.push(parseInt(hex.substr(i, 2), 16));") | CODE |
| HIGH | scripts/generate-sdk.py | 141 | lines.append(" out.push(s.charCodeAt(j) & 0xff);") | CODE |
| HIGH | scripts/generate-property-registry.py | 524 | " if (kDatasetProperties[i].hasFormRow && kDatasetProperties[i].formId == formId)\n" | CODE |
| HIGH | scripts/generate-property-registry.py | 1259 | return f"value.toString(){suffix}" | CODE |
| HIGH | scripts/code-verify.py | 2703 | `for (int i = 0; i < kMaxIterations && cond; ++i)` so the bound is | CODE |
| HIGH | scripts/code_verify_rules.py | 2774 | # `start < line.length()`. The bare-identifier form covers member fields | COMMENT |
| HIGH | scripts/code_verify_rules.py | 1556 | "prefer `for (int i = 0; i < kMax && cond; ++i)` " | CODE |
| 2 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/rcc/ai/build_search_index.py | 258 | except Exception: | CODE |
| LOW⚡ | app/translations/translate_welcome_messages.py | 207 | except Exception as e: | CODE |
| MEDIUM | app/translations/translate_welcome_messages.py | 238 | print(f"Error: unknown language code '{args.lang}'. Available: {available}") | CODE |
| MEDIUM | app/translations/translation_manager.py | 218 | print(f"Error: {ts_dir} directory does not exist.") | CODE |
| LOW | app/translations/llm_translate.py | 1058 | except Exception as exc: | CODE |
| LOW | app/translations/llm_translate.py | 1082 | except Exception: | CODE |
| LOW | app/translations/llm_translate.py | 1818 | except Exception as e: | CODE |
| LOW | app/translations/llm_translate.py | 2634 | except Exception as e: | CODE |
| LOW | app/translations/llm_translate.py | 2651 | except Exception as e: | CODE |
| LOW | tests/conftest.py | 57 | except Exception: | CODE |
| LOW | tests/conftest.py | 83 | except Exception: | CODE |
| LOW | tests/conftest.py | 85 | except Exception: | CODE |
| LOW⚡ | tests/security/test_access_control.py | 386 | except Exception as e: | CODE |
| LOW | tests/security/test_access_control.py | 100 | except Exception as e: | CODE |
| LOW | tests/security/test_access_control.py | 139 | except Exception as e: | CODE |
| LOW | tests/security/test_access_control.py | 178 | except Exception as e: | CODE |
| LOW | tests/security/test_access_control.py | 262 | except Exception as e: | CODE |
| LOW | tests/security/test_access_control.py | 306 | except Exception as e: | CODE |
| LOW | tests/security/test_access_control.py | 329 | except Exception as e: | CODE |
| LOW | tests/security/test_access_control.py | 362 | except Exception as e: | CODE |
| LOW | tests/security/test_access_control.py | 420 | except Exception as e: | CODE |
| LOW | tests/security/test_access_control.py | 447 | except Exception as e: | CODE |
| LOW | tests/security/test_access_control.py | 494 | except Exception as e: | CODE |
| LOW | tests/security/conftest.py | 116 | except Exception: | CODE |
| MEDIUM | tests/security/test_unknown_input_hardening.py | 956 | def reconfigure_rapidly(thread_id): | CODE |
| MEDIUM | tests/security/test_unknown_input_hardening.py | 999 | def send_data(): | CODE |
| MEDIUM | tests/security/test_unknown_input_hardening.py | 1022 | def reload_project(): | CODE |
| MEDIUM | tests/security/test_unknown_input_hardening.py | 1837 | def config_changer(): | CODE |
| MEDIUM | tests/security/test_unknown_input_hardening.py | 1856 | def data_sender(): | CODE |
| MEDIUM | tests/security/test_unknown_input_hardening.py | 1879 | def status_querier(): | CODE |
| MEDIUM | tests/security/test_unknown_input_hardening.py | 1901 | def project_loader(): | CODE |
| MEDIUM | tests/security/test_unknown_input_hardening.py | 1937 | def export_toggler(): | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 263 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 314 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 323 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 488 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 497 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 627 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 1205 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 1211 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 1245 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 1253 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 1259 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 1275 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 1378 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 1568 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 1621 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 2195 | except Exception: | CODE |
| LOW⚡ | tests/security/test_unknown_input_hardening.py | 2204 | except Exception: | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 82 | except Exception as e: | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 88 | except Exception: | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 213 | except Exception: | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 244 | except Exception: | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 401 | except Exception: | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 458 | except Exception: | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 545 | except Exception: | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 574 | except Exception: | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 753 | except Exception: | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 758 | except Exception: | CODE |
| LOW | tests/security/test_unknown_input_hardening.py | 775 | except Exception: | CODE |
| 183 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/translations/translation_manager.py | 155 | CODE | |
| LOW | app/translations/llm_translate.py | 1038 | CODE | |
| LOW | app/translations/llm_translate.py | 1465 | CODE | |
| LOW | app/translations/llm_translate.py | 1897 | CODE | |
| LOW | app/translations/llm_translate.py | 1946 | CODE | |
| LOW | app/translations/llm_translate.py | 2472 | CODE | |
| LOW | tests/conftest.py | 64 | CODE | |
| LOW | tests/conftest.py | 73 | CODE | |
| LOW | tests/security/test_access_control.py | 51 | CODE | |
| LOW | tests/security/test_access_control.py | 333 | CODE | |
| LOW | tests/security/test_access_control.py | 390 | CODE | |
| LOW | tests/security/test_unknown_input_hardening.py | 61 | CODE | |
| LOW | tests/security/test_unknown_input_hardening.py | 1298 | CODE | |
| LOW | tests/security/test_unknown_input_hardening.py | 1348 | CODE | |
| LOW | tests/security/test_api_security.py | 269 | CODE | |
| LOW | tests/security/test_api_security.py | 495 | CODE | |
| LOW | tests/security/test_resource_exhaustion.py | 155 | CODE | |
| LOW | tests/security/test_resource_exhaustion.py | 453 | CODE | |
| LOW | tests/security/test_resource_exhaustion.py | 531 | CODE | |
| LOW | tests/security/test_resource_exhaustion.py | 166 | CODE | |
| LOW | tests/security/test_protocol_fuzzing.py | 42 | CODE | |
| LOW | tests/security/test_protocol_fuzzing.py | 83 | CODE | |
| LOW | tests/security/test_api_input_hardening.py | 78 | CODE | |
| LOW | tests/security/test_api_input_hardening.py | 178 | CODE | |
| LOW | tests/security/test_api_input_hardening.py | 318 | CODE | |
| LOW | tests/security/test_api_input_hardening.py | 424 | CODE | |
| LOW | tests/security/test_api_input_hardening.py | 535 | CODE | |
| LOW | tests/security/test_api_input_hardening.py | 594 | CODE | |
| LOW | tests/security/security_probe_suite.py | 41 | CODE | |
| LOW | tests/security/security_probe_suite.py | 172 | CODE | |
| LOW | tests/security/security_probe_suite.py | 333 | CODE | |
| LOW | tests/security/security_probe_suite.py | 181 | CODE | |
| LOW | tests/security/test_robustness_techniques.py | 58 | CODE | |
| LOW | tests/security/test_robustness_techniques.py | 67 | CODE | |
| LOW | tests/integration/test_session_verification.py | 95 | CODE | |
| LOW | tests/integration/conftest.py | 74 | CODE | |
| LOW | tests/integration/conftest.py | 90 | CODE | |
| LOW | tests/integration/test_session_regression.py | 95 | CODE | |
| LOW | tests/integration/test_api_surfaces.py | 120 | CODE | |
| LOW | tests/integration/test_driver_api_comprehensive.py | 24 | CODE | |
| LOW | tests/integration/test_driver_api_comprehensive.py | 278 | CODE | |
| LOW | tests/integration/test_driver_api_comprehensive.py | 368 | CODE | |
| LOW | tests/integration/test_driver_api_comprehensive.py | 599 | CODE | |
| LOW | tests/integration/test_project_undo.py | 79 | CODE | |
| LOW | tests/utils/device_simulator.py | 95 | CODE | |
| LOW | tests/utils/device_simulator.py | 143 | CODE | |
| LOW | tests/utils/device_simulator.py | 175 | CODE | |
| LOW | tests/utils/device_simulator.py | 147 | CODE | |
| LOW | tests/utils/mirror_client.py | 183 | CODE | |
| LOW | tests/utils/data_generator.py | 89 | CODE | |
| LOW | tests/utils/data_generator.py | 255 | CODE | |
| LOW | tests/manual/api_enrichment_check.py | 32 | CODE | |
| LOW | tests/benchmarks/big_db_test/big_db_test.py | 257 | CODE | |
| LOW | .claude/hooks/canary-check.py | 136 | CODE | |
| LOW | examples/IEC 104 Example/iec104_server.py | 420 | CODE | |
| LOW | examples/Protobuf Example/sensor_simulator.py | 165 | CODE | |
| LOW | examples/CAN Bus Example/ecu_simulator.py | 1173 | CODE | |
| LOW | examples/CAN Bus Example/ecu_simulator.py | 1244 | CODE | |
| LOW | examples/CAN Bus Example/ecu_simulator.py | 885 | CODE | |
| LOW | examples/CAN Bus Example/ecu_simulator.py | 1077 | CODE | |
| 103 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/rcc/ai/build_search_index.py | 24 | CODE | |
| LOW | tests/unit/test_mirror_protocol.py | 19 | CODE | |
| LOW | tests/security/conftest.py | 18 | CODE | |
| LOW | tests/security/test_unknown_input_hardening.py | 40 | CODE | |
| LOW | tests/security/test_unknown_input_hardening.py | 45 | CODE | |
| LOW | tests/security/test_unknown_input_hardening.py | 46 | CODE | |
| LOW | tests/security/test_resource_exhaustion.py | 28 | CODE | |
| LOW | tests/security/test_protocol_fuzzing.py | 22 | CODE | |
| LOW | tests/security/test_protocol_fuzzing.py | 25 | CODE | |
| LOW | tests/security/test_protocol_fuzzing.py | 25 | CODE | |
| LOW | tests/security/security_probe_suite.py | 24 | CODE | |
| LOW | tests/security/test_robustness_techniques.py | 28 | CODE | |
| LOW | tests/security/test_robustness_techniques.py | 30 | CODE | |
| LOW | tests/integration/test_licensing_tiers.py | 17 | CODE | |
| LOW | tests/integration/test_licensing_tiers.py | 18 | CODE | |
| LOW | tests/integration/test_licensing.py | 20 | CODE | |
| LOW | tests/integration/test_data_tables.py | 12 | CODE | |
| LOW | tests/integration/test_data_tables.py | 14 | CODE | |
| LOW | tests/integration/test_script_api_call.py | 19 | CODE | |
| LOW | tests/integration/test_source_configure.py | 25 | CODE | |
| LOW | tests/integration/conftest.py | 224 | CODE | |
| LOW | tests/integration/test_csv_parsing_verified.py | 13 | CODE | |
| LOW | tests/integration/test_csv_parsing_verified.py | 16 | CODE | |
| LOW | tests/integration/test_painter_widget.py | 16 | CODE | |
| LOW | tests/integration/test_app_state.py | 21 | CODE | |
| LOW | tests/integration/test_csv_export.py | 11 | CODE | |
| LOW | tests/integration/test_csv_export.py | 16 | CODE | |
| LOW | tests/integration/test_batch_api.py | 14 | CODE | |
| LOW | tests/integration/test_dataset_transforms.py | 22 | CODE | |
| LOW | tests/integration/test_fuzzy.py | 13 | CODE | |
| LOW | tests/integration/test_image_view.py | 29 | CODE | |
| LOW | tests/integration/test_image_view.py | 29 | CODE | |
| LOW | tests/integration/test_device_write.py | 30 | CODE | |
| LOW | tests/integration/test_output_widgets.py | 22 | CODE | |
| LOW | tests/integration/test_project_configuration.py | 10 | CODE | |
| LOW | tests/integration/test_multi_source.py | 16 | CODE | |
| LOW | tests/integration/test_mcp.py | 18 | CODE | |
| LOW | tests/integration/test_remote_mirror.py | 35 | CODE | |
| LOW | tests/integration/test_remote_mirror.py | 51 | CODE | |
| LOW | tests/integration/test_remote_mirror.py | 51 | CODE | |
| LOW | tests/utils/validators.py | 13 | CODE | |
| LOW | tests/utils/validators.py | 14 | CODE | |
| LOW | tests/utils/__init__.py | 10 | CODE | |
| LOW | tests/utils/__init__.py | 10 | CODE | |
| LOW | tests/utils/__init__.py | 11 | CODE | |
| LOW | tests/utils/__init__.py | 12 | CODE | |
| LOW | tests/utils/__init__.py | 12 | CODE | |
| LOW | tests/utils/__init__.py | 13 | CODE | |
| LOW | tests/utils/__init__.py | 13 | CODE | |
| LOW | tests/utils/__init__.py | 14 | CODE | |
| LOW | tests/utils/__init__.py | 15 | CODE | |
| LOW | tests/utils/__init__.py | 15 | CODE | |
| LOW | tests/utils/__init__.py | 15 | CODE | |
| LOW | tests/utils/__init__.py | 16 | CODE | |
| LOW | tests/utils/__init__.py | 16 | CODE | |
| LOW | tests/utils/__init__.py | 16 | CODE | |
| LOW | tests/utils/__init__.py | 16 | CODE | |
| LOW | tests/utils/http_ws_server.py | 23 | CODE | |
| LOW | tests/utils/mirror_client.py | 22 | CODE | |
| LOW | tests/utils/virtual_serial.py | 12 | CODE | |
| 80 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/integration/test_frame_parsing.py | 116 | # Step 1: Set delimiters and checksum | COMMENT |
| LOW⚡ | tests/integration/test_frame_parsing.py | 125 | # Step 2: Set frame detection mode | COMMENT |
| LOW⚡ | tests/integration/test_frame_parsing.py | 212 | # Step 1: Set delimiters and checksum | COMMENT |
| LOW⚡ | tests/integration/test_frame_parsing.py | 221 | # Step 2: Set frame detection mode | COMMENT |
| LOW⚡ | examples/CAN Bus Example/README.md | 36 | ### Step 1: Connect to CAN Bus | COMMENT |
| LOW⚡ | examples/CAN Bus Example/README.md | 39 | ### Step 2: Import DBC Database | COMMENT |
| LOW⚡ | examples/CAN Bus Example/README.md | 45 | ### Step 3: Review the Preview | COMMENT |
| LOW⚡ | examples/CAN Bus Example/README.md | 54 | ### Step 4: Save the Project | COMMENT |
| LOW⚡ | examples/CAN Bus Example/README.md | 64 | ### Step 5: View the Dashboard | COMMENT |
| LOW⚡ | examples/CAN Bus Example/README.md | 74 | ### Step 6: Customize (Optional) | COMMENT |
| LOW | examples/System Monitor/README.md | 56 | ### Step 1: install dependencies | COMMENT |
| LOW | examples/System Monitor/README.md | 67 | ### Step 2: configure Serial Studio | COMMENT |
| LOW | examples/MCP Client/README.md | 212 | #### Step 1: Enable Serial Studio API Server | COMMENT |
| LOW | examples/MCP Client/README.md | 219 | #### Step 2: Locate the Bridge Script | COMMENT |
| LOW | examples/MCP Client/README.md | 244 | #### Step 3: Configure Claude Desktop | COMMENT |
| LOW | examples/MCP Client/README.md | 313 | #### Step 4: Restart Claude Desktop | COMMENT |
| LOW | examples/MCP Client/README.md | 320 | #### Step 5: Verify Integration | COMMENT |
| LOW | examples/MCP Client/README.md | 334 | #### Step 6: Use It! | COMMENT |
| LOW | examples/Camera Telemetry/README.md | 49 | ### Step 1: install dependencies | COMMENT |
| LOW | examples/Camera Telemetry/README.md | 55 | ### Step 2: start the script | COMMENT |
| LOW | examples/Camera Telemetry/README.md | 78 | ### Step 3: configure Serial Studio | COMMENT |
| LOW | doc/help/Project-Editor.md | 161 | ### Step 1: create a new project | COMMENT |
| LOW | doc/help/Project-Editor.md | 168 | ### Step 2: configure frame parsing | COMMENT |
| LOW | doc/help/Project-Editor.md | 239 | ### Step 3: add groups | COMMENT |
| LOW | doc/help/Project-Editor.md | 262 | ### Step 4: add datasets | COMMENT |
| LOW | doc/help/Project-Editor.md | 308 | ### Step 5: add actions (optional) | COMMENT |
| LOW | doc/help/Project-Editor.md | 336 | ### Step 6: add sources (multi-device projects) | COMMENT |
| LOW | doc/help/Project-Editor.md | 350 | ### Step 7: write a frame parser script (optional) | COMMENT |
| LOW | doc/help/Getting-Started.md | 139 | ### Step 1: prepare your device | COMMENT |
| LOW⚡ | doc/help/Getting-Started.md | 164 | ### Step 2: configure Serial Studio | COMMENT |
| LOW⚡ | doc/help/Getting-Started.md | 172 | ### Step 3: connect | COMMENT |
| LOW⚡ | doc/help/Getting-Started.md | 182 | ### Step 4: explore the dashboard | COMMENT |
| LOW⚡ | doc/help/Getting-Started.md | 192 | ### Step 1: open the Project Editor | COMMENT |
| LOW⚡ | doc/help/Getting-Started.md | 196 | ### Step 2: create a project | COMMENT |
| LOW⚡ | doc/help/Getting-Started.md | 204 | ### Step 3: add groups and datasets | COMMENT |
| LOW⚡ | doc/help/Getting-Started.md | 211 | ### Step 4: save and load | COMMENT |
| LOW⚡ | doc/help/Getting-Started.md | 217 | ### Step 5: connect | COMMENT |
| LOW⚡ | doc/help/API-Reference.md | 460 | # Step 1: Connect to Arduino | COMMENT |
| LOW⚡ | doc/help/API-Reference.md | 467 | # Step 2: Enable CSV logging | COMMENT |
| LOW⚡ | doc/help/API-Reference.md | 472 | # Step 3: Stop recording | COMMENT |
| LOW⚡ | doc/help/Use-Cases.md | 649 | ### Step 1: Identify Your Data Sources | COMMENT |
| LOW⚡ | doc/help/Use-Cases.md | 654 | ### Step 2: Choose Your Hardware | COMMENT |
| LOW⚡ | doc/help/Use-Cases.md | 660 | ### Step 3: Select Serial Studio Mode | COMMENT |
| LOW⚡ | doc/help/Use-Cases.md | 667 | ### Step 4: Prototype and Test | COMMENT |
| LOW⚡ | doc/help/Use-Cases.md | 673 | ### Step 5: Deploy and Monitor | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/security/test_resource_exhaustion.py | 540 | # Create a project that references itself | COMMENT |
| MEDIUM⚡ | tests/security/test_robustness_techniques.py | 587 | # Create a message with extreme redundancy | COMMENT |
| MEDIUM | tests/integration/test_project_configuration.py | 297 | # Define a simple JavaScript parser | STRING |
| MEDIUM⚡ | examples/CAN Bus Example/ecu_simulator.py | 754 | # Create a realistic driving pattern: accelerate, cruise, brake, repeat | COMMENT |
| MEDIUM | .github/workflows/ci.yml | 7 | # This file is dual-licensed: | COMMENT |
| MEDIUM | lib/mbedtls/framework/scripts/code_style.py | 95 | # Create an environment without these variables for running commands on the | COMMENT |
| MEDIUM | lib/mbedtls/framework/scripts/all-helpers.sh | 6 | # This file contains helpers for test components that are executed by all.sh. | COMMENT |
| MEDIUM | lib/mbedtls/framework/scripts/all-helpers.sh | 9 | # This file is the right place for helpers: | COMMENT |
| MEDIUM | lib/mbedtls/framework/scripts/generate_test_code.py | 1114 | # Create a placeholder pattern with the correct named capture groups | STRING |
| MEDIUM | lib/mbedtls/framework/scripts/demo_common.sh | 125 | # This function is commonly called in an if condition, where "set -e" | COMMENT |
| MEDIUM | lib/mbedtls/framework/scripts/demo_common.sh | 176 | # Create a seedfile that's sufficiently long in all library configurations. | COMMENT |
| MEDIUM | …tls/framework/scripts/mbedtls_framework/test_driver.py | 164 | # Create the test driver tree | COMMENT |
| MEDIUM | …framework/scripts/mbedtls_framework/generated_files.py | 126 | # This file is optional and didn't exist before, so | COMMENT |
| MEDIUM | …ework/scripts/mbedtls_framework/c_wrapper_generator.py | 60 | # This class is designed to have many methods potentially overloaded. | COMMENT |
| MEDIUM | lib/mbedtls/include/psa/crypto_extra.h | 1617 | * -# Initialize the operation object with one of the methods described in the | COMMENT |
| MEDIUM | lib/mbedtls/include/psa/crypto.h | 962 | * -# Initialize the operation object with one of the methods described in the | COMMENT |
| MEDIUM | lib/mbedtls/include/psa/crypto.h | 1325 | * -# Initialize the operation object with one of the methods described in the | COMMENT |
| MEDIUM | lib/mbedtls/include/psa/crypto.h | 1385 | * -# Initialize the operation object with one of the methods described in the | COMMENT |
| MEDIUM | lib/mbedtls/include/psa/crypto.h | 1734 | * -# Initialize the operation object with one of the methods described in the | COMMENT |
| MEDIUM | lib/mbedtls/include/psa/crypto.h | 1797 | * -# Initialize the operation object with one of the methods described in the | COMMENT |
| MEDIUM | lib/mbedtls/include/psa/crypto.h | 2260 | * -# Initialize the operation object with one of the methods described in the | COMMENT |
| MEDIUM | lib/mbedtls/include/psa/crypto.h | 2330 | * -# Initialize the operation object with one of the methods described in the | COMMENT |
| MEDIUM | lib/KissFFT/test/testkiss.py | 3 | # This file is part of KISS FFT - https://github.com/mborgerding/kissfft | COMMENT |
| MEDIUM | lib/KissFFT/test/kissfft-testsuite.sh | 7 | # This file is part of KISS FFT - https://github.com/mborgerding/kissfft | COMMENT |
| MEDIUM | lib/QSimpleUpdater/sanitize-commit.sh | 34 | # Create a temp file with the list of tracked files | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/security/test_access_control.py | 382 | # Check if it's properly sanitized | COMMENT |
| LOW | tests/security/test_access_control.py | 432 | # Check if error reveals internal details | COMMENT |
| LOW | tests/security/test_unknown_input_hardening.py | 376 | # Check if path traversal succeeded | COMMENT |
| LOW | tests/security/test_api_security.py | 374 | # Check if rate limiting is working | COMMENT |
| LOW | tests/security/test_api_security.py | 413 | # Check if server returned an error response | COMMENT |
| LOW | tests/security/test_resource_exhaustion.py | 333 | # Check if server times out slow connections | COMMENT |
| LOW | tests/security/test_resource_exhaustion.py | 393 | # Check if server is still responsive | COMMENT |
| LOW | tests/security/run_all_security_tests.sh | 24 | # Check if Serial Studio is running | COMMENT |
| LOW | tests/security/test_api_input_hardening.py | 235 | # Check if response leaks memory addresses | COMMENT |
| LOW | tests/security/test_api_input_hardening.py | 267 | # Check if server is still responsive | COMMENT |
| LOW | tests/security/test_api_input_hardening.py | 332 | # Check if server rejected the batch (error dict returned) | COMMENT |
| LOW⚡ | tests/security/test_api_input_hardening.py | 529 | # Check if extra params are silently ignored or cause issues | COMMENT |
| LOW⚡ | tests/security/test_api_input_hardening.py | 545 | # Check if error reveals internal paths, versions, etc. | COMMENT |
| LOW | tests/security/test_api_input_hardening.py | 655 | # Check if server is running | COMMENT |
| LOW | tests/security/security_probe_suite.py | 232 | # Check if server crashed | COMMENT |
| LOW | tests/security/security_probe_suite.py | 366 | # Check if injection executed (unlikely but worth checking) | COMMENT |
| LOW | tests/security/test_robustness_techniques.py | 91 | # Check if server crashed | COMMENT |
| LOW | tests/security/test_robustness_techniques.py | 295 | # Check if server is confused | COMMENT |
| LOW | tests/security/test_robustness_techniques.py | 388 | # Check if server still accepts new connections | COMMENT |
| LOW | tests/security/test_robustness_techniques.py | 426 | # Check if server is still responsive | COMMENT |
| LOW | tests/security/test_robustness_techniques.py | 637 | # Check if server returned error response | COMMENT |
| LOW | examples/Modbus PLC Simulator/plc_simulator.py | 682 | # Check if shutdown complete | COMMENT |
| LOW | lib/mbedtls/framework/scripts/audit-validity-dates.py | 161 | # Check if Type (1 byte) is SEQUENCE. | COMMENT |
| LOW | lib/mbedtls/framework/scripts/project_detection.sh | 30 | # Check if file exists. | COMMENT |
| LOW⚡ | lib/mbedtls/framework/scripts/project_detection.sh | 46 | # Check if the current folder is the Mbed TLS root one. | COMMENT |
| LOW⚡ | lib/mbedtls/framework/scripts/project_detection.sh | 55 | # Check if the current folder is the TF-PSA-Crypto root one. | COMMENT |
| LOW⚡ | lib/mbedtls/framework/scripts/project_detection.sh | 64 | # Check if $1 is an Mbed TLS root folder. | COMMENT |
| LOW | lib/mbedtls/framework/scripts/project_detection.sh | 76 | # Check if $1 is a TF-PSA-Crypto root folder. | COMMENT |
| LOW | lib/mbedtls/framework/scripts/demo_common.sh | 19 | # Check if the provided path ($1) can be a valid root for Mbed TLS or TF-PSA-Crypto. | COMMENT |
| LOW | lib/mbedtls/framework/scripts/demo_common.sh | 76 | ## Display the message, then run COMMAND with the specified arguments. | COMMENT |
| LOW | …rk/scripts/mbedtls_framework/unittest_config_checks.py | 25 | # Set this to the path to the source file containing the config checks. | COMMENT |
| LOW | …s/framework/scripts/mbedtls_framework/config_common.py | 147 | # Check if modifying the config file | COMMENT |
| LOW | …s/framework/scripts/mbedtls_framework/config_common.py | 167 | # Check if modifying the config file | COMMENT |
| LOW | …s/framework/scripts/mbedtls_framework/config_common.py | 178 | # Check if modifying the config file | COMMENT |
| LOW | …ramework/scripts/mbedtls_framework/outcome_analysis.py | 374 | # Set this to False if a consuming branch can't achieve full test coverage | COMMENT |
| LOW | lib/mbedtls/scripts/code_size_compare.py | 794 | # Check if the corresponding record exists | COMMENT |
| LOW | lib/KissFFT/test/kissfft-testsuite.sh | 236 | # Return result | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/integration/test_session_verification.py | 0 | skip the test when session recording isn't usable on this instance. | STRING |
| HIGH | tests/integration/test_session_regression.py | 0 | skip the test when session recording isn't usable on this instance. | STRING |
| HIGH | tests/integration/test_session_export.py | 0 | skip the test when session recording isn't usable on this instance. | STRING |
| HIGH | tests/integration/test_dual_serial.py | 0 | return true when connected to a commercial build of serial studio. | STRING |
| HIGH | tests/integration/test_app_state.py | 0 | return true when connected to a commercial build of serial studio. | STRING |
| HIGH | tests/integration/test_multi_source.py | 0 | return true when connected to a commercial build of serial studio. | STRING |
| HIGH | tests/scripts/test_ai_assistant_static.py | 0 | a component's source: the named file plus the concern tus extracted from it. spec 0070 moved cohesive concerns out of th | STRING |
| HIGH | tests/scripts/test_diagnostics_static.py | 0 | a component's source: the named file plus the concern tus extracted from it. spec 0070 moved cohesive concerns out of th | STRING |
| HIGH | tests/scripts/test_cpp_regressions.py | 0 | a component's source: the named file plus the concern tus extracted from it. spec 0070 moved cohesive concerns out of th | STRING |
| HIGH | tests/scripts/test_problem_center_static.py | 0 | a component's source: the named file plus the concern tus extracted from it. spec 0070 moved cohesive concerns out of th | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/utils/validators.py | 20 | Validate frame has correct structure. Args: frame: Frame dict from Serial Studio expected_grou | STRING |
| HIGH | tests/utils/validators.py | 62 | Validate CSV export file. Args: csv_path: Path to CSV file min_rows: Minimum expected rows (ex | STRING |
| HIGH | tests/utils/validators.py | 115 | Validate project JSON file. Args: project_path: Path to .json project file Returns: True | STRING |
| HIGH | tests/utils/validators.py | 146 | Validate checksum matches data. Args: data: Payload bytes checksum_value: Expected checksum va | STRING |
| HIGH | tests/utils/validators.py | 179 | Validate export file can be opened and read. Args: export_path: Path to export file file_type: | STRING |
| HIGH | tests/utils/data_generator.py | 263 | Wrap payload with delimiters and optional binary checksum. IMPORTANT: Both DeviceSendsJSON and Project | STRING |
| HIGH | tests/utils/api_client.py | 127 | Send a command and return the result. Args: command: Command name (e.g., "io.getStatus") | STRING |
| HIGH | tests/utils/api_client.py | 185 | Send batch of commands. Args: commands: List of dicts with "command" and optional "params" | STRING |
| HIGH | tests/scripts/conftest.py | 21 | Execute a parser script's parse() function via Node.js. The frame_input is serialised as JSON and injected dir | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | app/rcc/ai/skills/tool_discovery.md | 68 | ## Semantic doc search (RAG) | COMMENT |
| MEDIUM⚡ | app/translations/llm_translate.py | 120 | # paraphrase. gpt-5 hallucinates terminology in our experience. | COMMENT |
| MEDIUM | app/translations/llm_translate.py | 50 | # from the same .ts file are injected as few-shot examples per batch. | COMMENT |
| MEDIUM | app/translations/llm_translate.py | 799 | # entries from the same target .ts file and inject them as few-shot examples. | COMMENT |
| MEDIUM | app/translations/llm_translate.py | 801 | # context window. MAX_TM_SOURCE_LEN keeps a single huge paragraph from | COMMENT |
| MEDIUM | app/translations/llm_translate.py | 1187 | # include them as few-shot examples — anchors terminology choices. | COMMENT |
| MEDIUM | doc/claude/specs/0030-improvement-roadmap/spec.md | 222 | ### R10 — Declarative async orchestration for I/O flows | COMMENT |
| MEDIUM | doc/claude/specs/0039-session-context/m2-plan.md | 492 | ### M2-T1 — Ownership scaffolding in `SessionContext` | COMMENT |
| MEDIUM | doc/claude/specs/0039-session-context/ctor-proof-m2.md | 62 | ## M2-T1 — Ownership scaffolding (recorded) | COMMENT |
| MEDIUM | …c/claude/specs/0047-golden-session-regression/tasks.md | 53 | ### T3 — Verifier regression scaffolding + parameterized replay | COMMENT |
| MEDIUM | …c/claude/specs/0047-golden-session-regression/tasks.md | 130 | ### T8 — Tag sweep orchestration | COMMENT |
| MEDIUM | doc/claude/specs/0034-async-task-trees/tasks.md | 8 | # Tasks 0034 — Declarative async orchestration for I/O flows | COMMENT |
| MEDIUM | doc/claude/specs/0034-async-task-trees/plan.md | 8 | # Plan 0034 — Declarative async orchestration for I/O flows | COMMENT |
| MEDIUM | doc/claude/specs/0034-async-task-trees/spec.md | 9 | # Spec 0034 — Declarative async orchestration for I/O flows | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/code-verify.py | 1078 | # AI-narration patterns — phrases and shapes that ship in AI-generated code | COMMENT |
| HIGH | lib/mbedtls/library/error.c | 186 | /* Begin Auto-Generated Code. */ | COMMENT |
| HIGH | lib/mbedtls/library/error.c | 528 | /* End Auto-Generated Code. */ | COMMENT |
| HIGH | lib/mbedtls/library/error.c | 549 | /* Begin Auto-Generated Code. */ | COMMENT |
| HIGH | lib/mbedtls/library/error.c | 783 | /* End Auto-Generated Code. */ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | app/rcc/scripts/transforms/js/median_filter.js | 10 | // robust than moving average at rejecting outlier spikes (salt and | COMMENT |
| MEDIUM | app/translations/llm_translate.py | 1180 | # Build the domain-context block first — it's the highest-leverage section. | COMMENT |
| LOW | tests/integration/test_workspaces.py | 748 | # is overkill -- just add another group, which is enough to fire the merge). | COMMENT |
| MEDIUM⚡ | tests/integration/test_table_handles.py | 88 | # the table store is built, so it is robust regardless of script-vs-store load order. | COMMENT |
| MEDIUM⚡ | tests/scripts/conftest.py | 80 | # Data-table handle API contract harness | COMMENT |
| MEDIUM | .github/workflows/ci.yml | 2701 | # Dumps written by the big_db_test harness itself; always() because the interesting case is | COMMENT |
| LOW | lib/mbedtls/framework/scripts/generate_pkcs7_tests.py | 99 | # off the bat just add bytes to start and end of the buffer | COMMENT |
| LOW | lib/mbedtls/framework/scripts/project_detection.sh | 21 | # - 0: simply return an error | COMMENT |
| MEDIUM | …s/framework/scripts/mbedtls_framework/psa_test_case.py | 196 | # the output robust with respect to refactoring of the scripts. | COMMENT |
| MEDIUM | …framework/scripts/mbedtls_framework/macro_collector.py | 258 | # something more robust. | COMMENT |
| MEDIUM | …s/framework/scripts/mbedtls_framework/bignum_common.py | 143 | # provides earlier/more robust input validation. | COMMENT |
| MEDIUM | …s/framework/scripts/mbedtls_framework/bignum_common.py | 308 | # provides earlier/more robust input validation. | COMMENT |
| LOW | lib/hidapi/testgui/copy_to_bundle.sh | 84 | # necessary. If ../libtool not available, just use cp to do the copy, but | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/rcc/properties/schema.json | 158 | "placeholder", | CODE |
| LOW | app/rcc/properties/schema.json | 547 | "placeholder": {}, | CODE |
| LOW | app/rcc/properties/dataset.json | 426 | "kind": "placeholder", | CODE |
| LOW | app/rcc/properties/dataset.json | 672 | "placeholder": "Untitled Dataset", | CODE |
| LOW | app/rcc/properties/dataset.json | 776 | "placeholder": "Volts, Amps, etc.", | CODE |
| LOW | app/rcc/properties/dataset.json | 801 | "placeholder": "Stable name", | CODE |
| LOW | app/rcc/properties/dataset.json | 829 | "placeholder": "Automatic", | CODE |
| LOW | app/rcc/properties/dataset.json | 862 | "placeholder": 0, | CODE |
| LOW | app/rcc/properties/dataset.json | 896 | "placeholder": 0, | CODE |
| LOW | app/rcc/properties/dataset.json | 1000 | "placeholder": 0, | CODE |
| LOW | app/rcc/properties/dataset.json | 1024 | "placeholder": 0, | CODE |
| LOW | app/rcc/properties/dataset.json | 1048 | "placeholder": 0, | CODE |
| LOW | app/rcc/properties/dataset.json | 1073 | "placeholder": 0, | CODE |
| LOW | app/rcc/properties/dataset.json | 1099 | "placeholder": 0, | CODE |
| LOW | app/rcc/properties/dataset.json | 1134 | "placeholder": 300, | CODE |
| LOW | app/rcc/properties/dataset.json | 1235 | "placeholder": 100, | CODE |
| LOW | app/rcc/properties/dataset.json | 1260 | "placeholder": 0, | CODE |
| LOW | app/rcc/properties/dataset.json | 1292 | "placeholder": 0, | CODE |
| LOW | app/rcc/properties/dataset.json | 1324 | "placeholder": 0, | CODE |
| LOW | app/rcc/properties/dataset.json | 1384 | "placeholder": "Auto", | CODE |
| LOW | app/rcc/properties/dataset.json | 1441 | "placeholder": "Auto", | CODE |
| LOW | app/rcc/properties/dataset.json | 1475 | "placeholder": 0, | CODE |
| LOW | app/rcc/properties/dataset.json | 1510 | "placeholder": 0, | CODE |
| LOW | app/rcc/properties/dataset.json | 1537 | "placeholder": 0, | CODE |
| LOW | app/rcc/properties/dataset.json | 1562 | "placeholder": 0, | CODE |
| LOW | app/rcc/properties/dataset.json | 1588 | "placeholder": 0, | CODE |
| LOW⚡ | tests/integration/test_licensing.py | 199 | dummy_key = "00000000-0000-0000-0000-000000000000" | CODE |
| LOW⚡ | tests/integration/test_licensing.py | 200 | api_client.command("licensing.setLicense", {"licenseKey": dummy_key}) | CODE |
| LOW | scripts/generate-property-registry.py | 937 | elif "placeholder" in prop: | CODE |
| LOW | scripts/generate-property-registry.py | 938 | placeholder = prop["placeholder"] | CODE |
| LOW | scripts/registry-verify.py | 716 | "placeholderHook": "placeholder", | CODE |
| LOW | doc/claude/specs/0036-property-registry/plan.md | 84 | "placeholder": "0", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/integration/test_parse_budget.py | 162 | def set_interval(self, interval: float, burst: int = 1) -> None: | CODE |
| LOW | tests/integration/test_lua_script_engine.py | 90 | def _setup_lua_project(api_client, lua_code: str, dataset_titles=None) -> None: | CODE |
| LOW | tests/integration/test_dataset_transforms.py | 72 | def _set_transform(api_client, group_id: int, dataset_id: int, code: str) -> None: | CODE |
| LOW | tests/integration/test_device_write.py | 129 | def _set_transform(api_client, group_id: int, dataset_id: int, code: str) -> None: | CODE |
| LOW | tests/utils/__init__.py | 23 | __all__ = [ | CODE |
| LOW | tests/utils/http_ws_server.py | 106 | def set_payload(self, payload: bytes, status: int = 200) -> None: | CODE |
| LOW | tests/utils/api_client.py | 242 | def set_bus_type(self, bus_type: str) -> None: | CODE |
| LOW | tests/utils/api_client.py | 348 | def set_dashboard_fps(self, fps: int) -> None: | CODE |
| LOW | tests/utils/api_client.py | 359 | def set_dashboard_time_range(self, seconds: float) -> None: | CODE |
| LOW | tests/utils/api_client.py | 388 | def set_operation_mode(self, mode: str) -> None: | CODE |
| LOW | tests/utils/api_client.py | 765 | def set_dataset_options(self, group_id: int, dataset_id: int, options: int) -> None: | CODE |
| LOW | scripts/icon-retier.py | 229 | def update_qrc(moved: list[Candidate]) -> None: | CODE |
| LOW | …s/framework/scripts/mbedtls_framework/config_macros.py | 128 | def update_shadow_file(self, always_update: bool) -> None: | CODE |
| LOW | …/framework/scripts/mbedtls_framework/bignum_mod_raw.py | 132 | def set_representation(self, r: bignum_common.ModulusRepresentation) -> None: | CODE |
| LOW | …tls/framework/scripts/mbedtls_framework/psa_storage.py | 41 | def update_cache(self) -> None: | CODE |
| LOW⚡ | …edtls/framework/scripts/mbedtls_framework/test_case.py | 65 | def set_description(self, description: str) -> None: | CODE |
| LOW⚡ | …edtls/framework/scripts/mbedtls_framework/test_case.py | 71 | def set_dependencies(self, dependencies: List[str]) -> None: | CODE |
| LOW⚡ | …edtls/framework/scripts/mbedtls_framework/test_case.py | 74 | def set_function(self, function: str) -> None: | CODE |
| LOW⚡ | …edtls/framework/scripts/mbedtls_framework/test_case.py | 77 | def set_arguments(self, arguments: List[str]) -> None: | CODE |
| LOW | …s/framework/scripts/mbedtls_framework/psa_test_case.py | 90 | def set_key_bits(self, key_bits: Optional[int]) -> None: | CODE |
| LOW | …s/framework/scripts/mbedtls_framework/psa_test_case.py | 100 | def set_key_pair_usage(self, key_pair_usage: Optional[List[str]]) -> None: | CODE |
| LOW | …s/framework/scripts/mbedtls_framework/psa_test_case.py | 170 | def set_arguments(self, arguments: List[str]) -> None: | CODE |
| LOW | …s/framework/scripts/mbedtls_framework/psa_test_case.py | 180 | def set_dependencies(self, dependencies: List[str]) -> None: | CODE |
| LOW | …ework/scripts/mbedtls_framework/c_wrapper_generator.py | 403 | def set_stream(self, stream: str) -> None: | STRING |
| LOW | lib/mbedtls/scripts/code_size_compare.py | 508 | def _set_size_record(self, git_rev: str, mod: str, size_text: str) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | lib/mdflib/docs/manual/html/jquery.js | 67 | set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value | CODE |
| CRITICAL | lib/mdflib/docs/manual/html/jquery.js | 107 | )&&(t.left+=l+i+h):0<r&&(0<(o=t.left-e.collisionPosition.marginLeft+l+i+h-o)||D(o)<r)&&(t.left+=l+i+h)},top:function(t,e | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/integration/test_frame_parsing.py | 116 | # Step 1: Set delimiters and checksum | COMMENT |
| LOW⚡ | tests/integration/test_frame_parsing.py | 125 | # Step 2: Set frame detection mode | COMMENT |
| LOW⚡ | tests/integration/test_frame_parsing.py | 212 | # Step 1: Set delimiters and checksum | COMMENT |
| LOW⚡ | tests/integration/test_frame_parsing.py | 221 | # Step 2: Set frame detection mode | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | lib/mbedtls/framework/scripts/quiet/quiet.sh | 22 | # be silenced, e.g. " --version | test ". In this example, "make lib test" will | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/integration/test_output_widgets.py | 55 | CODE | |
| LOW | examples/LTE modem/lte_serial.py | 104 | CODE | |
| LOW | examples/LTE modem/lte_udp.py | 104 | CODE | |
| LOW | examples/LTE modem/lte_mqtt.py | 105 | CODE | |
| LOW | examples/MCP Client/client.py | 70 | CODE | |
| LOW | lib/mbedtls/framework/scripts/generate_test_code.py | 767 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lib/mbedtls/framework/scripts/demo_common.sh | 126 | # has no effect, so make sure to stop explicitly on error. | COMMENT |
| LOW | lib/luajit/doc/install.html | 287 | <li>Don't forget to specify the same <tt>TARGET_SYS</tt> for the install step, too.</li> | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lib/QSimpleUpdater/sanitize-commit.sh | 18 | # Usage: | COMMENT |