Repository Analysis

DarkFlippers/unleashed-firmware

Flipper Zero Unleashed Firmware

3.5 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of DarkFlippers/unleashed-firmware, a C project with 21,965 GitHub stars. SynthScan v2.0 examined 484,313 lines of code across 2816 source files, recording 1092 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 3.5 places this repository in the Likely human-written 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).

3.5
Adjusted Score
3.5
Raw Score
100%
Time Factor
2026-07-31
Last Push
22.0K
Stars
C
Language
484.3K
Lines of Code
2.8K
Files
1.1K
Pattern Hits
2026-08-02
Scan Date
0.03
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

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.

Severity Breakdown

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.

CRITICAL 0HIGH 93MEDIUM 17LOW 982

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 1092 distinct pattern matches across 15 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.

Over-Commented Block826 hits · 794 pts
SeverityFileLineSnippetContext
LOWdocumentation/file_formats/SubGhzFileFormats.md301#Custom_preset_name: AM_2COMMENT
LOWfuri/furi.h1#pragma onceCOMMENT
LOWfuri/core/thread.c1#include "thread_i.h"COMMENT
LOWfuri/core/core_defines.h61 typeof(x) SWAP = x; \COMMENT
LOWfuri/core/core_defines.h81#endifCOMMENT
LOWfuri/core/check.c1#include "check.h"COMMENT
LOWfuri/core/event_loop_i.h1#pragma onceCOMMENT
LOWfuri/core/memmgr_heap.c41#include <string.h>COMMENT
LOWfuri/core/string.c1#include "string.h"COMMENT
LOWfuri/core/log.h21 FuriLogLevelInfo = 4,COMMENT
LOWfuri/core/log.h161 furi_log_print_raw_format(FuriLogLevelTrace, format, ##__VA_ARGS__)COMMENT
LOWfuri/core/common_defines.h1#pragma onceCOMMENT
LOWfuri/core/common_defines.h21#define FURI_DEPRECATED __attribute__((deprecated))COMMENT
LOWfuri/core/common_defines.h61COMMENT
LOWtargets/furi_hal_include/furi_hal.h1/**COMMENT
LOWtargets/furi_hal_include/furi_hal.h21#include <furi_hal_sd.h>COMMENT
LOWtargets/furi_hal_include/furi_hal_bt.h1/**COMMENT
LOWtargets/furi_hal_include/furi_hal_usb_hid.h1#pragma onceCOMMENT
LOWtargets/f7/fatfs/ffconf.h261/ included somewhere in the scope of ff.h. */COMMENT
LOWtargets/f7/platform_specific/math_wrapper.h1#pragma onceCOMMENT
LOWtargets/f7/ble_glue/ble_event_thread.c1#include "app_common.h"COMMENT
LOWtargets/f7/ble_glue/ble_conf.h1#pragma onceCOMMENT
LOWtargets/f7/ble_glue/ble_conf.h21#define BLE_CFG_HTS_MEASUREMENT_INTERVAL 0COMMENT
LOWtargets/f7/ble_glue/compiler.h1#pragma onceCOMMENT
LOWtargets/f7/ble_glue/gap.c1#include "gap.h"COMMENT
LOWtargets/f7/ble_glue/ble_glue.c1#include "ble_glue.h"COMMENT
LOWtargets/f7/ble_glue/app_common.h1#pragma onceCOMMENT
LOWtargets/f7/ble_glue/tl_dbg_conf.h21#define TL_HCI_CMD_DBG_EN 1 /* Reports BLE command sent to CPU2 and the command response */COMMENT
LOWtargets/f7/ble_glue/tl_dbg_conf.h41#define TL_SHCI_CMD_DBG_RAW(_PDATA_, _SIZE_) furi_log_tx(_PDATA_, _SIZE_)COMMENT
LOWtargets/f7/ble_glue/tl_dbg_conf.h61 * BLE Transport LayerCOMMENT
LOWtargets/f7/ble_glue/tl_dbg_conf.h81#define TL_HCI_EVT_DBG_MSG(...)COMMENT
LOWtargets/f7/ble_glue/ble_const.h1#pragma onceCOMMENT
LOWtargets/f7/inc/FreeRTOSConfig.h1#pragma onceCOMMENT
LOWtargets/f7/inc/FreeRTOSConfig.h21#define configSUPPORT_DYNAMIC_ALLOCATION 1COMMENT
LOWtargets/f7/inc/FreeRTOSConfig.h41#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()COMMENT
LOWtargets/f7/inc/FreeRTOSConfig.h61/* Co-routine definitions. */COMMENT
LOWtargets/f7/inc/FreeRTOSConfig.h81#define INCLUDE_vTaskDelay 1COMMENT
LOWtargets/f7/furi_hal/furi_hal_speaker.c1#include <furi_hal_speaker.h>COMMENT
LOWtargets/f7/furi_hal/furi_hal_idle_timer.h1#pragma onceCOMMENT
LOWtargets/f7/furi_hal/furi_hal_target_hw.h1#pragma onceCOMMENT
LOWtargets/f7/furi_hal/furi_hal_power.c1#include <furi_hal_power.h>COMMENT
LOWtargets/f7/furi_hal/furi_hal_power.c21#include <furi.h>COMMENT
LOWtargets/f7/furi_hal/furi_hal_resources.h121#define BUTTON_OK_GPIO_Port GPIOHCOMMENT
LOWtargets/f7/furi_hal/furi_hal_resources.h141#define IR_RX_Pin LL_GPIO_PIN_0COMMENT
LOWtargets/f7/furi_hal/furi_hal_resources.h161#define PC1_Pin LL_GPIO_PIN_1COMMENT
LOWtargets/f7/furi_hal/furi_hal_resources.h181COMMENT
LOWtargets/f7/furi_hal/furi_hal_resources.h201#define SPI_D_MISO_GPIO_Port GPIOCCOMMENT
LOWtargets/f7/furi_hal/furi_hal_sd.c1#include <furi_hal_sd.h>COMMENT
LOWtargets/f7/furi_hal/furi_hal_usb_hid.c1#include <furi_hal_version.h>COMMENT
LOWtargets/f7/furi_hal/furi_hal_interrupt.c1#include <furi_hal_interrupt.h>COMMENT
LOWtargets/f7/furi_hal/furi_hal_bt.c1#include "ble_glue.h"COMMENT
LOWtargets/f7/furi_hal/furi_hal_crypto.c1#include <furi_hal_crypto.h>COMMENT
LOWtargets/f7/furi_hal/furi_hal_crypto.c21#define CRYPTO_MODE_DECRYPT (AES_CR_MODE_1)COMMENT
LOWtargets/f7/furi_hal/furi_hal_infrared.c1#include <furi_hal_infrared.h>COMMENT
LOWtargets/f7/furi_hal/furi_hal_infrared.c21/* DMA Channels definition */COMMENT
LOWtargets/f7/furi_hal/furi_hal_nfc_iso15693.c1#include "furi_hal_nfc_i.h"COMMENT
LOWtargets/f7/furi_hal/furi_hal_usb_cdc.c1#include <furi_hal_version.h>COMMENT
LOWtargets/f7/furi_hal/furi_hal_rfid.c1#include <furi_hal_rfid.h>COMMENT
LOWtargets/f7/furi_hal/furi_hal_rfid.c21#define FURI_HAL_RFID_EMULATE_TIMER_CHANNEL LL_TIM_CHANNEL_CH3COMMENT
LOWtargets/f7/furi_hal/furi_hal_spi.c1#include <furi.h>COMMENT
766 more matches not shown…
Cross-Language Confusion (JS/TS)90 hits · 632 pts
SeverityFileLineSnippetContext
HIGH…in/clock_app/resources/apps/Scripts/js_examples/i2c.js20 print("I2C device not found");CODE
HIGH…in/clock_app/resources/apps/Scripts/js_examples/i2c.js21 print("Please connect a 24C32N EEPROM I2C device to the Flipper Zero.");CODE
HIGH…in/clock_app/resources/apps/Scripts/js_examples/i2c.js22 print("SDA=pin 15, SCL=pin 16, VCC=pin 9, GND=pin 8.");CODE
HIGH…in/clock_app/resources/apps/Scripts/js_examples/i2c.js24 print("I2C device found at address: " + addr.toString(16));CODE
HIGH…in/clock_app/resources/apps/Scripts/js_examples/i2c.js32 print("Waiting for device to be ready...");CODE
HIGH…in/clock_app/resources/apps/Scripts/js_examples/i2c.js39 print("Read bytes: " + data.length.toString());CODE
HIGH…in/clock_app/resources/apps/Scripts/js_examples/i2c.js41 print("data[" + i.toString() + "] = " + data[i].toString(16));CODE
HIGH…in/clock_app/resources/apps/Scripts/js_examples/i2c.js47 print("Read bytes: " + data.length.toString());CODE
HIGH…in/clock_app/resources/apps/Scripts/js_examples/i2c.js49 print("data[" + i.toString() + "] = " + data[i].toString(16));CODE
HIGH…_app/resources/apps/Scripts/js_examples/stringutils.js4print(lengthOfText);CODE
HIGH…_app/resources/apps/Scripts/js_examples/stringutils.js9print(substringResult);CODE
HIGH…_app/resources/apps/Scripts/js_examples/stringutils.js13print(result2);CODE
HIGH…_app/resources/apps/Scripts/js_examples/stringutils.js16print(upperCaseText);CODE
HIGH…_app/resources/apps/Scripts/js_examples/stringutils.js19print(lowerCaseText);CODE
HIGH…lock_app/resources/apps/Scripts/js_examples/console.js1print("print", 1);CODE
HIGH…clock_app/resources/apps/Scripts/js_examples/subghz.js16 print("rssi: ", rssi, "dBm", "@", freq, "MHz", "ext: ", ext);CODE
HIGH…clock_app/resources/apps/Scripts/js_examples/subghz.js27print(subghz.getState()); // "IDLE"CODE
HIGH…clock_app/resources/apps/Scripts/js_examples/subghz.js29print(subghz.getState()); // "RX"CODE
HIGH…clock_app/resources/apps/Scripts/js_examples/subghz.js35print("Sending 0.sub")CODE
HIGH…clock_app/resources/apps/Scripts/js_examples/subghz.js40print("Send success");CODE
HIGH…pp/resources/apps/Scripts/js_examples/infrared-send.js4print("Sending Samsung32 signal (lowers volume)...");CODE
HIGH…pp/resources/apps/Scripts/js_examples/infrared-send.js7print("Sending raw signal... (Fujitsu AC)");CODE
HIGH…pp/resources/apps/Scripts/js_examples/infrared-send.js33print(CODE
HIGH…pp/resources/apps/Scripts/js_examples/infrared-send.js47print("Success");CODE
HIGH…p/resources/apps/Scripts/js_examples/array_buf_test.js2print("len =", arr_1.buffer.byteLength);CODE
HIGH…p/resources/apps/Scripts/js_examples/array_buf_test.js5print("slice len =", arr_2.buffer.byteLength);CODE
HIGH…p/resources/apps/Scripts/js_examples/array_buf_test.js7 print(arr_2[i]);CODE
HIGH…_app/resources/apps/Scripts/js_examples/badusb_demo.js32 print("USB is connected");CODE
HIGH…_app/resources/apps/Scripts/js_examples/badusb_demo.js58 print("USB not connected");CODE
HIGH…ck_app/resources/apps/Scripts/js_examples/uart_echo.js9 print("0x" + data_view[0].toString(16));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/load.js3print(result);CODE
HIGH…pp/resources/apps/Scripts/js_examples/uart_echo_8e1.js13 print("0x" + data_view[0].toString(16));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js3print("math.abs(-5):", math.abs(-5));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js4print("math.acos(0.5):", math.acos(0.5));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js5print("math.acosh(2):", math.acosh(2));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js6print("math.asin(0.5):", math.asin(0.5));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js7print("math.asinh(2):", math.asinh(2));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js8print("math.atan(1):", math.atan(1));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js9print("math.atan2(1, 1):", math.atan2(1, 1));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js10print("math.atanh(0.5):", math.atanh(0.5));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js11print("math.cbrt(27):", math.cbrt(27));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js12print("math.ceil(5.3):", math.ceil(5.3));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js13print("math.clz32(1):", math.clz32(1));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js14print("math.cos(math.PI):", math.cos(math.PI));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js15print("math.exp(1):", math.exp(1));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js16print("math.floor(5.7):", math.floor(5.7));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js17print("math.max(3, 5):", math.max(3, 5));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js18print("math.min(3, 5):", math.min(3, 5));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js19print("math.pow(2, 3):", math.pow(2, 3));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js20print("math.random():", math.random());CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js21print("math.sign(-5):", math.sign(-5));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js22print("math.sin(math.PI/2):", math.sin(math.PI / 2));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js23print("math.sqrt(25):", math.sqrt(25));CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/math.js24print("math.trunc(5.7):", math.trunc(5.7));CODE
HIGH…ock_app/resources/apps/Scripts/js_examples/bad_uart.js8 print("No CLI response");CODE
HIGH…ock_app/resources/apps/Scripts/js_examples/bad_uart.js16 print("key:", serial.readln());CODE
HIGH…ock_app/resources/apps/Scripts/js_examples/bad_uart.js18 print("uci cmd not found");CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/path.js3print("script has __dirname of" + __dirname);CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/path.js4print("script has __filename of" + __filename);CODE
HIGH…n/clock_app/resources/apps/Scripts/js_examples/path.js6 print("math.js exist here.");CODE
30 more matches not shown…
Excessive Try-Catch Wrapping40 hits · 52 pts
SeverityFileLineSnippetContext
LOWscripts/update.py258 except Exception as e:CODE
LOWscripts/send_firebase_notification.py11 except Exception as e:CODE
LOWscripts/send_firebase_notification.py22 except Exception as e:CODE
MEDIUMscripts/send_firebase_notification.py7def __init__(self, service_account_file):CODE
MEDIUMscripts/send_firebase_notification.py15def send(self, title, body, condition):CODE
LOWscripts/selfupdate.py63 except Exception as e:CODE
LOWscripts/hs.py119 except Exception as e:CODE
LOWscripts/runfap.py98 except Exception as e:CODE
LOWscripts/assets.py278 except Exception as e:STRING
LOWscripts/storage.py18 except Exception as e:CODE
MEDIUMscripts/storage.py19 print(f"Error: {e}")CODE
LOWscripts/storage.py125 except Exception:CODE
MEDIUMscripts/storage.py14def wrapper(*args, **kwargs):CODE
LOWscripts/slideshow.py37 except Exception as e:CODE
LOWscripts/testops.py137 except Exception as e:CODE
LOWscripts/sconsdist.py123 except Exception as ex:CODE
LOWscripts/wifi_board.py52 except Exception as e:CODE
LOWscripts/wifi_board.py75 except Exception as e:CODE
LOWscripts/wifi_board.py173 except Exception as e:CODE
LOWscripts/wifi_board.py204 except Exception as e:CODE
MEDIUMscripts/wifi_board.py166def update(self):CODE
LOWscripts/fwflash.py255 except Exception:CODE
MEDIUMscripts/fwflash.py251def _valid_ip(self, address):CODE
LOWscripts/fbt_tools/fbt_apps.py128 except Exception:CODE
LOWscripts/fbt_tools/fbt_apps.py149 except Exception as e:CODE
MEDIUMscripts/fbt_tools/fbt_apps.py122def LoadAppManifest(env, entry):CODE
LOWscripts/flipper/storage.py177 except Exception:CODE
LOWscripts/flipper/storage.py220 except Exception:CODE
LOWscripts/flipper/utils/openocd.py114 except Exception as e:CODE
LOWscripts/flipper/utils/openocd.py123 except Exception as e:CODE
LOWscripts/fbt/version.py29 except Exception as e:CODE
MEDIUMscripts/fbt/version.py12def get_fast_git_version_id():CODE
LOWscripts/fbt/appmanifest.py210 except Exception as e:CODE
LOWscripts/debug/FreeRTOS/FreeRTOSgdb/Task.py30 except Exception as exc:CODE
MEDIUMscripts/debug/FreeRTOS/FreeRTOSgdb/Task.py31 print("Error Initializing Task Inspector: %s" % str(exc))CODE
LOWscripts/debug/FreeRTOS/FreeRTOSgdb/Task.py38 except Exception as exc:CODE
LOWscripts/debug/FreeRTOS/FreeRTOSgdb/List.py33 except Exception as exc:CODE
MEDIUMscripts/debug/FreeRTOS/FreeRTOSgdb/List.py26def Assign(self, listObj):CODE
LOWscripts/debug/FreeRTOS/FreeRTOSgdb/QueueTools.py103 except Exception as exc:CODE
LOWscripts/debug/PyCortexMDebug/cmdebug/svd_gdb.py102 except Exception as e:CODE
Structural Annotation Overuse22 hits · 41 pts
SeverityFileLineSnippetContext
LOWapplications/system/find_my_flipper/README.md13### Step 1: InstallationCOMMENT
LOWapplications/system/find_my_flipper/README.md19### Step 2: Obtaining SmartTag DataCOMMENT
LOWapplications/system/find_my_flipper/README.md55### Step 1: Create a New DeviceCOMMENT
LOWapplications/system/find_my_flipper/README.md58### Step 2: Export ConfigurationCOMMENT
LOWapplications/system/find_my_flipper/README.md62### Step 3: Modify the JSON FileCOMMENT
LOWapplications/system/find_my_flipper/README.md72### Step 4: Re-import the ConfigurationCOMMENT
LOWapplications/system/find_my_flipper/README.md75### Step 5: Adjust Settings in OHS AppCOMMENT
LOWapplications/system/find_my_flipper/README.md82### Step 3: Configuration on the FlipperZeroCOMMENT
LOWapplications/system/find_my_flipper/README.md85### Step 4: TrackingCOMMENT
LOWapplications/system/mfkey/mfkey_bs_verify.c82 // Step 1: 16x16 blocksCOMMENT
LOWapplications/system/mfkey/mfkey_bs_verify.c89 // Step 2: 8x8 blocksCOMMENT
LOWapplications/system/mfkey/mfkey_bs_verify.c109 // Step 3: 4x4 blocksCOMMENT
LOWapplications/system/mfkey/mfkey_bs_verify.c123 // Step 4: 2x2 blocksCOMMENT
LOWapplications/system/mfkey/mfkey_bs_verify.c137 // Step 5: 1x1 blocksCOMMENT
LOWapplications/system/mfkey/mfkey_bs_verify.c485 // Step 1: Rollback uid_xor_nt1 (fb=0) — no keystream checkCOMMENT
LOWapplications/system/mfkey/mfkey_bs_verify.c488 // Step 2: Forward crypt uid_xor_nt0 (enc_mask=0) with keystream checkCOMMENT
LOWlib/nfc/protocols/mf_classic/mf_classic_poller.c1284 // Step 1: Perform full authentication onceCOMMENT
LOWlib/nfc/protocols/mf_classic/mf_classic_poller.c1339 // Step 2: Perform nested authentication multiple timesCOMMENT
LOWlib/nfc/protocols/mf_classic/mf_classic_poller.c1509 // Step 1: Perform full authentication onceCOMMENT
LOWlib/nfc/protocols/mf_classic/mf_classic_poller.c1525 // Step 2: Perform nested authentication a variable number of times to get nt_enc at a different PRNG offsetCOMMENT
LOWlib/nfc/protocols/mf_classic/mf_classic_poller.c1742 // Step 1: Perform full authentication onceCOMMENT
LOWlib/nfc/protocols/mf_classic/mf_classic_poller.c1759 // Step 2: Collect nested nt and parityCOMMENT
Deep Nesting30 hits · 30 pts
SeverityFileLineSnippetContext
LOWscripts/fastfap.py70CODE
LOWscripts/imglint.py57CODE
LOWscripts/runfap.py45CODE
LOWscripts/assets.py118CODE
LOWscripts/storage.py148CODE
LOWscripts/testops.py76CODE
LOWscripts/sconsdist.py159CODE
LOWscripts/wifi_board.py166CODE
LOWscripts/fwflash.py166CODE
LOWscripts/infrared.py20CODE
LOWscripts/lint.py51CODE
LOWscripts/lint.py68CODE
LOWscripts/fbt_tools/fbt_extapps.py441CODE
LOWscripts/fbt_tools/fbt_extapps.py142CODE
LOWscripts/fbt_tools/pvsstudio.py28CODE
LOWscripts/flipper/utils/templite.py93CODE
LOWscripts/ufbt/site_init.py8CODE
LOWscripts/fbt/appmanifest.py402CODE
LOWscripts/fbt/sdk/collector.py107CODE
LOWscripts/fbt/sdk/cache.py170CODE
LOWscripts/debug/FreeRTOS/FreeRTOSgdb/List.py45CODE
LOWscripts/debug/FreeRTOS/FreeRTOSgdb/HandleRegistry.py50CODE
LOWscripts/debug/PyCortexMDebug/cmdebug/svd_gdb.py118CODE
LOWscripts/debug/PyCortexMDebug/cmdebug/svd_gdb.py165CODE
LOWscripts/debug/PyCortexMDebug/cmdebug/svd_gdb.py208CODE
LOWscripts/debug/PyCortexMDebug/cmdebug/svd.py151CODE
LOWscripts/debug/PyCortexMDebug/cmdebug/svd.py258CODE
LOW.github/scripts/api_symbols_report.py29CODE
LOWapplications/debug/ccid_test/client/ccid_client.py6CODE
LOWsite_scons/site_init.py11CODE
Verbosity Indicators15 hits · 26 pts
SeverityFileLineSnippetContext
LOWapplications/system/mfkey/mfkey_bs_verify.c82 // Step 1: 16x16 blocksCOMMENT
LOWapplications/system/mfkey/mfkey_bs_verify.c89 // Step 2: 8x8 blocksCOMMENT
LOWapplications/system/mfkey/mfkey_bs_verify.c109 // Step 3: 4x4 blocksCOMMENT
LOWapplications/system/mfkey/mfkey_bs_verify.c123 // Step 4: 2x2 blocksCOMMENT
LOWapplications/system/mfkey/mfkey_bs_verify.c137 // Step 5: 1x1 blocksCOMMENT
LOWapplications/system/mfkey/mfkey_bs_verify.c485 // Step 1: Rollback uid_xor_nt1 (fb=0) — no keystream checkCOMMENT
LOWapplications/system/mfkey/mfkey_bs_verify.c488 // Step 2: Forward crypt uid_xor_nt0 (enc_mask=0) with keystream checkCOMMENT
LOWlib/nfc/protocols/mf_classic/mf_classic_poller.c1284 // Step 1: Perform full authentication onceCOMMENT
LOWlib/nfc/protocols/mf_classic/mf_classic_poller.c1339 // Step 2: Perform nested authentication multiple timesCOMMENT
LOWlib/nfc/protocols/mf_classic/mf_classic_poller.c1509 // Step 1: Perform full authentication onceCOMMENT
LOWlib/nfc/protocols/mf_classic/mf_classic_poller.c1525 // Step 2: Perform nested authentication a variable number of times to get nt_enc at a different PRNG offsetCOMMENT
LOWlib/nfc/protocols/mf_classic/mf_classic_poller.c1742 // Step 1: Perform full authentication onceCOMMENT
LOWlib/nfc/protocols/mf_classic/mf_classic_poller.c1759 // Step 2: Collect nested nt and parityCOMMENT
LOWlib/subghz/protocols/keeloq.c364 // Thats in theory! We need to check if this is true for all Aprimatic remotes but we got only 3 recordiCOMMENT
LOWlib/mjs/common/str_util.h151 * The purpose of this function is to parse comma separated string withoutCOMMENT
Hyper-Verbose Identifiers24 hits · 24 pts
SeverityFileLineSnippetContext
LOWscripts/fastfap.py43def serialize_relsection_data(data: dict[UniqueRelData, list[int]]) -> bytes:CODE
LOWscripts/wifi_board.py159 def find_wifi_board_bootloader_port(self):CODE
LOWscripts/wifi_board.py162 def find_wifi_board_bootloader_port_damn_windows(self):CODE
LOWscripts/fwflash.py218def blackmagic_find_networked(serial: str):CODE
LOWscripts/lint.py118 def _apply_file_naming_convention(self, sources: list, dry_run: bool = False):CODE
LOWscripts/fbt_tools/fbt_extapps.py218 def _configure_deps_and_aliases(self, app_artifacts: FlipperExternalAppInfo):CODE
LOWscripts/fbt_tools/fbt_extapps.py338def _embed_app_metadata_emitter(target, source, env):CODE
LOWscripts/fbt_tools/fbt_extapps.py368def generate_embed_app_metadata_actions(source, target, env, for_signature):CODE
LOWscripts/fbt_tools/fbt_resources.py10def __generate_resources_dist_entries(env):CODE
LOWscripts/fbt_tools/compilation_db.py61def changed_since_last_build_node(child, target, prev_ni, node):CODE
LOWscripts/fbt_tools/compilation_db.py77 def emit_compilation_db_entry(target, source, env):CODE
LOWscripts/fbt_tools/compilation_db.py115def compilation_db_entry_action(target, source, env, **kw):CODE
LOWscripts/fbt_tools/fbt_sdk.py46def _api_amalgam_gen_origin_header(target, source, env):CODE
LOWscripts/fbt_tools/fbt_sdk.py186def _deploy_sdk_header_tree_action(target, source, env):CODE
LOWscripts/fbt_tools/fbt_sdk.py191def _deploy_sdk_header_tree_emitter(target, source, env):CODE
LOWscripts/flipper/utils/stm32wb55.py240 def option_bytes_id_to_address(self, id: int) -> int:CODE
LOWscripts/flipper/utils/stm32wb55.py256 def flash_dump_status_register(self):CODE
LOWscripts/fbt/version.py7def get_git_commit_unix_timestamp():CODE
LOWscripts/fbt/appmanifest.py311 def _check_if_app_target_supported(self, app_name: str):CODE
LOWscripts/fbt/appmanifest.py359 def get_incompatible_ext_apps(self):CODE
LOWscripts/fbt/sdk/collector.py82 def process_source_file_for_sdk(self, file_path: str):CODE
LOWscripts/fbt/sdk/collector.py93def stringify_array_dimension(size_descr):CODE
LOW…ck_app/resources/apps/Scripts/js_examples/blebeacon.js34function sendRandomModelAdvertisement() {CODE
LOWsite_scons/fbt_extra/util.py12def should_gen_cdb_and_link_dir(env, requested_targets):CODE
Redundant / Tautological Comments14 hits · 21 pts
SeverityFileLineSnippetContext
LOWscripts/wifi_board.py63 # Check if channel foundCOMMENT
LOWscripts/flipper/utils/stm32wb55.py145 # Check if flash is already unlockedCOMMENT
LOWscripts/flipper/utils/stm32wb55.py156 # Check if flash is unlockedCOMMENT
LOWscripts/flipper/utils/stm32wb55.py165 # Check if options is already unlockedCOMMENT
LOWscripts/flipper/utils/stm32wb55.py176 # Check if options is unlockedCOMMENT
LOWscripts/flipper/utils/stm32wb55.py185 # Check if options is already lockedCOMMENT
LOWscripts/flipper/utils/stm32wb55.py196 # Check if options is lockedCOMMENT
LOWscripts/flipper/utils/stm32wb55.py205 # Check if flash is already lockedCOMMENT
LOWscripts/flipper/utils/stm32wb55.py216 # Check if flash is lockedCOMMENT
LOWscripts/flipper/utils/stm32wb55.py241 # Check if this option byte (dword) is mapped to a registerCOMMENT
LOWscripts/flipper/utils/programmer_openocd.py186 # Check if this option byte (dword) is mapped to a registerCOMMENT
LOWscripts/flipper/utils/programmer_openocd.py212 # Open file, check that it aligned to 8 bytesCOMMENT
LOWscripts/fbt/fapassets.py81 # Write files countCOMMENT
LOWscripts/fbt/fapassets.py102 # Write filesCOMMENT
Self-Referential Comments7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUMscripts/debug/FreeRTOS/FreeRTOS.py6# This file contains some python code that utilizes the GDB APICOMMENT
MEDIUMscripts/debug/FreeRTOS/FreeRTOSgdb/Task.py6# This file contains the implementation of a class to use forCOMMENT
MEDIUMscripts/debug/FreeRTOS/FreeRTOSgdb/List.py6# This file contains the class for inspectingCOMMENT
MEDIUMscripts/debug/FreeRTOS/FreeRTOSgdb/EventGroup.py6# This file contains the implementation of a Event Group InspectorCOMMENT
MEDIUMscripts/debug/FreeRTOS/FreeRTOSgdb/Types.py6# This file contains the implementation of someCOMMENT
MEDIUMscripts/debug/FreeRTOS/FreeRTOSgdb/QueueTools.py6# This file contains the implementation of a Queue InspectorCOMMENT
MEDIUMscripts/debug/FreeRTOS/FreeRTOSgdb/GDBCommands.py6# This file contains the implementation of some customCOMMENT
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHscripts/debug/PyCortexMDebug/PyCortexMDebug.py0this file is part of pycortexmdebug pycortexmdebug is free software: you can redistribute it and/or modify it under the STRING
HIGHscripts/debug/PyCortexMDebug/cmdebug/svd_gdb.py0this file is part of pycortexmdebug pycortexmdebug is free software: you can redistribute it and/or modify it under the STRING
HIGHscripts/debug/PyCortexMDebug/cmdebug/svd.py0this file is part of pycortexmdebug pycortexmdebug is free software: you can redistribute it and/or modify it under the STRING
Unused Imports13 hits · 13 pts
SeverityFileLineSnippetContext
LOWscripts/update.py12CODE
LOWscripts/serial_cli_perf.py4CODE
LOWscripts/assets.py4CODE
LOWscripts/testops.py7CODE
LOWscripts/sconsdist.py7CODE
LOWscripts/power.py6CODE
LOWscripts/infrared.py3CODE
LOWscripts/infrared.py6CODE
LOWscripts/debug/FreeRTOS/FreeRTOS.py22CODE
LOWscripts/debug/FreeRTOS/FreeRTOS.py24CODE
LOWscripts/debug/FreeRTOS/FreeRTOSgdb/HandleRegistry.py12CODE
LOWscripts/debug/FreeRTOS/FreeRTOSgdb/GDBCommands.py14CODE
LOWscripts/debug/PyCortexMDebug/cmdebug/svd_gdb.py22CODE
Slop Phrases3 hits · 4 pts
SeverityFileLineSnippetContext
LOWapplications/services/gui/view.h202 * @warning Don't forget to commit model changesCOMMENT
LOWlib/drivers/bq27220.h21 * - Don't forget to reset chip before writing new config.COMMENT
LOWlib/mjs/mjs_gc.c316 * If we ever bring it back, don't forget to mark itCOMMENT
AI Structural Patterns2 hits · 2 pts
SeverityFileLineSnippetContext
LOWscripts/flipper/utils/openocd.py144CODE
LOWscripts/flipper/utils/openocd.py169CODE
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOW…in/clock_app/resources/apps/Scripts/js_examples/gui.js59 text: "This is a very long string that demonstrates the TextBox view. Use the D-Pad to scroll backwards and forwCODE
LOW…in/clock_app/resources/apps/Scripts/js_examples/gui.js59 text: "This is a very long string that demonstrates the TextBox view. Use the D-Pad to scroll backwards and forwCODE
Modern Structural Boilerplate1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/debug/flipperapps.py243 def set_debug_mode(self, mode: bool) -> None:CODE