AI Slop Code RIsk Monitor

bleachbit/bleachbit

BleachBit system cleaner for Windows and Linux

17.8 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for bleachbit/bleachbit, a Python project with 7,073 GitHub stars. SynthScan examined 63,646 lines of code across 250 source files, recording 1007 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 17.8 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

17.8
Adjusted Signal
17.8
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
7.1K
Stars
Python
Language
63.6K
Lines of Code
250
Files
1.0K
Pattern Hits
2026-10-12
Scan Date
0.08
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 48.1/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 818 finding(s).

Hallucinated Dependency & Supply Chain Risk 3.4/100 · LOW

Are imports declared and package/API names verified? 12 finding(s).

Agent Over-Engineering Ratio 49.3/100 · MEDIUM

Are wrappers, guards, and repeated structures necessary? 810 finding(s).

PR Review Velocity Impact 61.0/100 · HIGH

Which changes need focused human review? 1007 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 20MEDIUM 45LOW 942

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1007 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers632 hits · 609 pts
SeverityFileLineSnippetContext
LOWtests/TestExternalCommand.py39def is_bleachbit_running_process(process_name, cmdline):CODE
LOWtests/TestExternalCommand.py63def wait_for_process_tree_windows(process, timeout=60, poll_interval=0.1):CODE
LOWtests/TestExternalCommand.py175 def _is_running_based_on_checks(self, is_process_running, window_open):CODE
LOWtests/TestExternalCommand.py353 def _get_shred_command_string(self, file_to_shred):CODE
LOWtests/TestExternalCommand.py387 def test_windows_explorer_context_menu_natural(self):CODE
LOWtests/TestExternalCommand.py399 def test_windows_explorer_context_menu_privilege_escalation(self):CODE
LOWtests/TestExternalCommand.py411 def test_context_menu_command_while_the_app_is_running(self):CODE
LOW⚡tests/TestExternalCommand.py440 def _test_as_non_admin_with_context_menu_path(self, fn_prefix):CODE
LOW⚡tests/TestExternalCommand.py450 def shell_execute_synchronous(lpVerb='', lpFile='', lpParameters='', nShow=''):CODE
LOWtests/TestExternalCommand.py490 def test_is_bleachbit_running_process(self):CODE
LOWtests/TestExternalCommand.py543 def test_wait_for_grandchild_process(self):CODE
LOWtests/TestTranslations.py79 def test_nsis_placeholders_match(self):CODE
LOWtests/TestGtkShim.py88 def test_unknown_error_includes_traceback_and_sysinfo(self):CODE
LOWtests/TestGtkShim.py104 def test_unknown_error_escapes_html_in_error_message(self):CODE
LOWtests/TestGtkShim.py126 def test_yes_writes_html_file(self):CODE
LOWtests/TestGtkShim.py139 def test_no_does_not_write_file(self):CODE
LOWtests/TestGtkShim.py159 def test_unknown_error_includes_traceback_in_html(self):CODE
LOWtests/TestGtkShim.py189 def test_valid_unicode_unchanged(self):CODE
LOWtests/TestGtkShim.py205 def test_restored_on_exception(self):CODE
LOWtests/TestGtkShim.py215 def test_restores_reference_identity(self):CODE
LOWtests/TestGtkShim.py263 def test_no_display_does_not_import_gtk_libraries(self):STRING
LOWtests/TestGtkShim.py297 def test_require_gtk_reports_deferred_import_failure(self):STRING
LOWtests/TestWipe.py46 def test_detect_orphaned_wipe_files(self):CODE
LOWtests/TestWipe.py119 def test_wipe_write_refuses_symlink(self):CODE
LOWtests/TestWipe.py140 def test_wipe_contents_windows_admin_reopen_refuses_symlink(self):CODE
LOWtests/TestWipe.py156 def test_wipe_contents_windows_admin_locked_fallback_refuses_symlink(self):CODE
LOWtests/TestWipe.py178 def test_wipe_contents_windows_admin_locked_fallback_still_works(self):CODE
LOWtests/TestWipe.py244 def test_wipe_name_when_basic_characters_exist(self):CODE
LOWtests/TestWipe.py273 def test_wipe_name_rejects_windows_invalid_names(self):CODE
LOWtests/TestWipe.py293 def test_wipe_name_allows_windows_reserved_names_on_linux(self):CODE
LOWtests/TestWipe.py305 def test_wipe_name_non_retryable_error(self):CODE
LOWtests/TestWipe.py353 def test_wipe_path_world_writable_warns(self):CODE
LOWtests/TestWipe.py396 def test_wipe_path_not_directory(self):CODE
LOWtests/TestWipe.py422 def test_wipe_path_tempfile_enametoolong_retry(self):CODE
LOWtests/TestWipe.py441 def test_wipe_path_write_enospc(self):CODE
LOWtests/TestWipe.py464 def test_wipe_path_write_persistent_edquot(self):CODE
LOWtests/TestWipe.py507 def test_wipe_path_fsync_edquot(self):CODE
LOWtests/TestWipe.py556 def test_wipe_path_write_efbig(self):CODE
LOWtests/TestWipe.py565 def test_wipe_path_flush_enospc(self):CODE
LOWtests/TestWipe.py584 def test_wipe_path_idle_yields_eta(self):CODE
LOWtests/TestWipe.py615 def test_is_wipe_path_readonly_posix(self):CODE
LOWtests/TestWipe.py646 def test_wipe_path_readonly_drive(self):CODE
LOWtests/TestWipe.py663 def test_wipe_path_readonly_drive_detection_missed(self):CODE
LOWtests/TestWipe.py688 def test_wipe_path_tempfile_write_denied(self):CODE
LOWtests/TestWipe.py711 def test_wipe_path_tempfile_permission_denied_raises(self):CODE
LOWtests/TestWipe.py728 def test_wipe_path_full_writable_fs_still_attempts(self):CODE
LOWtests/TestWipe.py742 def test_wipe_path_cleanup_finally(self):CODE
LOWtests/TestGuiBasic.py28 def test_open_url_rejects_disallowed_scheme(self):CODE
LOWtests/TestGuiBasic.py51 def test_open_url_accepts_http_https(self):CODE
LOWtests/TestNsisUtilities.py34 def test_generate_add_remove_nsis_expressions(self):CODE
LOWtests/TestNsisUtilities.py66 def _generate_nsis_expressions(self, tree):CODE
LOWtests/TestNsisUtilities.py95 def _generate_nsis_expressions_helper(self, target_dir, tree, expected_install_expression,CODE
LOWtests/TestNsisUtilities.py120 def test_walk_with_parent_directory_and_filepaths(self):CODE
LOWtests/TestNsisUtilities.py125 def test_write_nsis_expressions_to_files(self):CODE
LOWtests/TestNsisUtilities.py172 def test_generate_delete_expressions(self):CODE
LOWtests/TestNsisUtilities.py249 def _generate_install_file_expression(cls, files):CODE
LOWtests/TestNsisUtilities.py254 def _generate_delete_expressions(cls, folder, files):CODE
LOW⚡tests/TestNsisUtilities.py265 def _generate_setoutpath_expression(cls, dirname, subdir):CODE
LOW⚡tests/TestNsisUtilities.py269 def _generate_rmdir_expression(cls, dirname, subdir):CODE
LOW⚡tests/TestNsisUtilities.py273 def _generate_dir_subdir_expression(cls, command, dirname, subdir):CODE
572 more matches not shown…
Excessive Try-Catch Wrapping109 hits · 108 pts
SeverityFileLineSnippetContext
LOWtests/test_with_sudo.py122 except Exception as e:CODE
MEDIUMtests/test_with_sudo.py123 print(f"Error running sudo tests: {e}")CODE
LOWtests/TestNsisUtilities.py206 except Exception:CODE
LOWtests/TestFileUtilities.py1267 except Exception:CODE
LOWtests/TestWipePath.py279 except Exception:CODE
LOWtests/TestWipePath.py448 except Exception:CODE
MEDIUMtests/TestWipePath.py512 print(f"Error: unsupported filesystem(s): {', '.join(invalid)}")CODE
LOWtests/TestOptions.py662 except Exception as error:STRING
LOWtests/TestOptions.py668 except Exception as error:STRING
MEDIUMtests/TestOptions.py659def restore():CODE
MEDIUMtests/TestOptions.py665def set_option():CODE
LOWtests/TestProtectedPath.py456 except Exception:CODE
LOWtests/TestGeneral.py120 except Exception:CODE
LOWtests/common.py425 except Exception:CODE
MEDIUMtests/common.py417def check_exists(func, path):CODE
MEDIUMtests/TestWindowsWipe.py115 print(f"Error opening {path}: {e}")CODE
LOWbleachbit/Update.py130 except Exception:CODE
LOWbleachbit/Bootstrap.py35 except Exception as e:CODE
LOWbleachbit/Bootstrap.py121 except Exception:CODE
LOWbleachbit/Bootstrap.py128 except Exception:CODE
LOWbleachbit/Bootstrap.py169 except Exception:CODE
LOWbleachbit/Worker.py110 except Exception as e:CODE
LOWbleachbit/Worker.py403 except Exception:CODE
LOWbleachbit/Options.py191 except Exception:CODE
LOWbleachbit/Options.py303 except Exception:CODE
LOWbleachbit/Options.py500 except Exception:CODE
LOWbleachbit/Options.py547 except Exception:CODE
LOWbleachbit/Options.py559 except Exception:CODE
LOWbleachbit/GuiStartup.py193 except Exception as e:CODE
MEDIUMbleachbit/GuiWindow.py1337def _worker():CODE
LOWbleachbit/GuiWindow.py306 except Exception as e:CODE
LOWbleachbit/GuiWindow.py320 except Exception as e:CODE
LOWbleachbit/GuiWindow.py753 except Exception:CODE
LOWbleachbit/GuiWindow.py833 except Exception:CODE
LOWbleachbit/GuiWindow.py880 except Exception:CODE
LOWbleachbit/GuiWindow.py1340 except Exception:CODE
LOWbleachbit/GuiWindow.py1394 except Exception as e:CODE
LOWbleachbit/Command.py82 except Exception as e:CODE
LOWbleachbit/Command.py185 except Exception as e:CODE
LOWbleachbit/Unix.py70 except Exception as errormsg:CODE
LOWbleachbit/Unix.py360 except Exception as e:CODE
LOWbleachbit/Unix.py396 except Exception as e:CODE
LOWbleachbit/Unix.py1148 except Exception as e:CODE
LOWbleachbit/FileUtilities.py491 except Exception:CODE
LOWbleachbit/Memory.py136 except Exception:CODE
LOWbleachbit/Memory.py200 except Exception:CODE
LOWbleachbit/Memory.py274 except Exception:CODE
LOWbleachbit/WindowsWipe.py702 except Exception:CODE
LOWbleachbit/WindowsWipe.py1134 except Exception as e:CODE
LOWbleachbit/WindowsWipe.py1178 except Exception:CODE
LOWbleachbit/GuiPreferences.py691 except Exception as e:CODE
LOWbleachbit/GtkShim.py181 except Exception:CODE
LOWbleachbit/GtkShim.py258 except Exception as e:STRING
LOWbleachbit/GtkShim.py345 except Exception as e:CODE
LOWbleachbit/GtkShim.py393 except Exception as e:CODE
LOWbleachbit/Action.py478 except Exception as e:CODE
LOWbleachbit/Action.py488 except Exception as e:CODE
LOWbleachbit/Action.py612 except Exception as e:CODE
MEDIUMbleachbit/Action.py608def run_process():CODE
LOWbleachbit/GuiChaff.py174 except Exception as exc:CODE
49 more matches not shown…
Deep Nesting107 hits · 94 pts
SeverityFileLineSnippetContext
LOWbleachbit.py17CODE
LOWtests/TestExternalCommand.py63CODE
LOWtests/TestExternalCommand.py137CODE
LOWtests/TestExternalCommand.py208CODE
LOWtests/TestTranslations.py28CODE
LOWtests/test_with_sudo.py38CODE
LOWtests/TestWipe.py688CODE
LOWtests/TestWipe.py711CODE
LOWtests/TestFileUtilities.py224CODE
LOWtests/TestFileUtilities.py294CODE
LOWtests/TestFileUtilities.py953CODE
LOWtests/TestFileUtilities.py1242CODE
LOWtests/TestWinapp.py80CODE
LOWtests/TestCookie.py150CODE
LOWtests/TestOptions.py525CODE
LOWtests/TestOptions.py586CODE
LOWtests/TestCommon.py79CODE
LOWtests/TestProtectedPath.py441CODE
LOWtests/TestProtectedPath.py445CODE
LOWtests/TestGeneral.py280CODE
LOWtests/TestGeneral.py378CODE
LOWtests/TestLanguage.py482CODE
LOWtests/common.py660CODE
LOWtests/common.py368CODE
LOWtests/TestAction.py93CODE
LOWtests/TestAction.py159CODE
LOWtests/TestWindows.py775CODE
LOWtests/TestWindows.py894CODE
LOWtests/TestWindows.py1006CODE
LOWtests/TestWindows.py1212CODE
LOWtests/TestNetwork.py279CODE
LOWtests/TestCLI.py253CODE
LOWtests/TestCLI.py433CODE
LOWtests/TestCLI.py443CODE
LOWtests/TestCLI.py453CODE
LOWtests/TestCLI.py464CODE
LOWtests/TestCLI.py475CODE
LOWtests/TestCLI.py513CODE
LOWtests/TestCLI.py525CODE
LOWtests/TestWindowsWipe.py345CODE
LOWtests/TestMemory.py52CODE
LOWtests/TestMemory.py65CODE
LOWtests/TestMemory.py300CODE
LOWtests/TestMemory.py497CODE
LOWtests/TestMemory.py525CODE
LOWtests/TestCleaner.py345CODE
LOWtests/TestCleaner.py399CODE
LOWbleachbit/Worker.py96CODE
LOWbleachbit/Worker.py169CODE
LOWbleachbit/Worker.py223CODE
LOWbleachbit/GuiStartup.py270CODE
LOWbleachbit/GuiWindow.py429CODE
LOWbleachbit/GuiWindow.py686CODE
LOWbleachbit/GuiWindow.py1026CODE
LOWbleachbit/Command.py163CODE
LOWbleachbit/Unix.py346CODE
LOWbleachbit/Unix.py95CODE
LOWbleachbit/Unix.py126CODE
LOWbleachbit/FileUtilities.py124CODE
LOWbleachbit/FileUtilities.py388CODE
47 more matches not shown…
Decorative Section Separators24 hits · 68 pts
SeverityFileLineSnippetContext
MEDIUM⚡scripts/test_freebsd.sh320# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/test_freebsd.sh322# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh79# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh81# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh166# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh168# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh223# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh225# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh240# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh242# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh265# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh267# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh349# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh351# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh373# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh375# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh397# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh401# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh415# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh417# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh439# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh441# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh454# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh456# ---------------------------------------------------------------------------COMMENT
Empty Error Handlers9 hits · 45 pts
SeverityFileLineSnippetContext
HIGHtests/TestGeneral.py94except KeyError:CODE
HIGHbleachbit/GuiStartup.py215except FileNotFoundError:CODE
HIGHbleachbit/FileUtilities.py801except UnicodeDecodeError:CODE
HIGHbleachbit/FileUtilities.py206except OSError:CODE
HIGHbleachbit/FileUtilities.py1025except FileNotFoundError:CODE
HIGHbleachbit/Process.py129except OSError:CODE
HIGHbleachbit/Process.py132except TypeError:CODE
HIGHbleachbit/General.py264except (KeyError, OSError):CODE
HIGHbleachbit/Mac.py533except OSError:CODE
Over-Commented Block40 hits · 38 pts
SeverityFileLineSnippetContext
LOWrequirements.txt1# These are universal dependencies.COMMENT
LOWtests/TestWipePath.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWtests/TestWinapp.py281 # 0=line to write directly to winapp2.iniCOMMENT
LOWtests/TestWinapp.py401 # [0] = Body of winapp2.ini configurationCOMMENT
LOWtests/TestCommand.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWtests/TestNetwork.py21# Suppress urllib3's NotOpenSSLWarning (raised when the ssl module isCOMMENT
LOWtests/TestUpdate.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWtests/TestChaff.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Update.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Bootstrap.py101 win32api.SetErrorMode(win32con.SEM_FAILCRITICALERRORS |COMMENT
LOWbleachbit/Options.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Command.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/GuiBasic.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Memory.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Log.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/FontCheckDialog.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/WindowsWipe.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/WindowsWipe.py1241 returnCOMMENT
LOWbleachbit/GuiPreferences.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/GuiChaff.py41 # TRANSLATORS: Option in a combo box for choosing the stop conditionCOMMENT
LOWbleachbit/Cleaner.py721COMMENT
LOWbleachbit/Wipe.py541 # EFBIG (generic_write_check_limits).COMMENT
LOWbleachbit/Wipe.py601 # TRANSLATORS: Debug message showing disk space available to the root (admin) user.COMMENT
LOWbleachbit/Language.py521 assert isinstance(locale_dir, str), f"locale_dir: {locale_dir}"COMMENT
LOWbleachbit/Language.py541 # is a GNU gettext-specific extension used purely as aCOMMENT
LOWbleachbit/CleanerML.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/DeepScan.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Special.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Special.py501 # to the query we could cause an error in execute_sqlite3 sinceCOMMENT
LOWbleachbit/GUI.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/ProtectedPath.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/General.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Mac.py21from bleachbit.Language import normalize_locale_codeCOMMENT
LOWscripts/install-deps.sh1#!/bin/shCOMMENT
LOWscripts/install-deps.sh21# VENV_DIR=/path) and installs pure-Python dependencies into it via pip.COMMENT
LOWscripts/test_freebsd.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/test_freebsd.sh21# snapshot, seed ISO, SSH key, and VM metadata are kept in $CACHE_DIR/vm.COMMENT
LOWscripts/test_freebsd.sh41# DISPLAY/WAYLAND_DISPLAY), so bleachbit.GtkShim.is_gtk_available() returnsCOMMENT
LOWscripts/test_freebsd.sh61# install-deps.sh --dev block, going straight to copyingCOMMENT
LOWscripts/test_freebsd.sh441# ---------------------------------------------------------------------------COMMENT
Cross-Language Confusion6 hits · 38 pts
SeverityFileLineSnippetContext
HIGHbleachbit/GuiWindow.py1064 self.status_bar.push(context_id, text)CODE
HIGH⚡bleachbit/Special.py386 "where moz_bookmarks.id is null); "CODE
HIGH⚡bleachbit/Special.py393 cmds += "update moz_places set visit_count=0, frecency=-1, last_visit_date=null;"CODE
HIGH⚡bleachbit/Special.py400 "where moz_places.id is null); "CODE
HIGHbleachbit/Special.py411 "from moz_places where favicon_id is not null ); "CODE
HIGHbleachbit/Special.py473 "where fk is not null){filter}")CODE
Modern Structural Boilerplate35 hits · 35 pts
SeverityFileLineSnippetContext
LOWtests/TestNetwork.py45logger = logging.getLogger(__name__)CODE
LOWbleachbit/Update.py41logger = logging.getLogger(__name__)CODE
LOWbleachbit/Worker.py30logger = logging.getLogger(__name__)CODE
LOWbleachbit/Options.py44logger = logging.getLogger(__name__)CODE
LOWbleachbit/GuiStartup.py22logger = logging.getLogger(__name__)CODE
LOWbleachbit/Command.py45logger = logging.getLogger(__name__)CODE
LOWbleachbit/Unix.py29logger = logging.getLogger(__name__)CODE
LOWbleachbit/GuiBasic.py40logger = logging.getLogger(__name__)CODE
LOWbleachbit/FileUtilities.py38logger = logging.getLogger(__name__)CODE
LOWbleachbit/DesktopMenuOptions.py10logger = logging.getLogger(__name__)CODE
LOWbleachbit/Chaff.py21logger = logging.getLogger(__name__)CODE
LOWbleachbit/Memory.py38logger = logging.getLogger(__name__)CODE
LOWbleachbit/SystemInformation.py26logger = logging.getLogger(__name__)CODE
LOWbleachbit/WindowsWipe.py142logger = logging.getLogger(__name__)CODE
LOWbleachbit/GuiPreferences.py47logger = logging.getLogger(__name__)CODE
LOWbleachbit/GtkShim.py102logger = logging.getLogger(__name__)CODE
LOWbleachbit/Action.py31logger = logging.getLogger(__name__)CODE
LOWbleachbit/Cookie.py20logger = logging.getLogger(__name__)CODE
LOWbleachbit/GuiChaff.py26logger = logging.getLogger(__name__)CODE
LOWbleachbit/Cleaner.py38logger = logging.getLogger(__name__)CODE
LOWbleachbit/Wipe.py34logger = logging.getLogger(__name__)CODE
LOWbleachbit/CLI.py24logger = logging.getLogger(__name__)CODE
LOWbleachbit/GuiCookie.py25logger = logging.getLogger(__name__)CODE
LOWbleachbit/Language.py14logger = logging.getLogger(__name__)CODE
LOWbleachbit/Winapp.py26logger = logging.getLogger(__name__)CODE
LOWbleachbit/Network.py54logger = logging.getLogger(__name__)CODE
LOWbleachbit/CleanerML.py45logger = logging.getLogger(__name__)CODE
LOWbleachbit/Windows.py81logger = logging.getLogger(__name__)CODE
LOWbleachbit/Special.py39logger = logging.getLogger(__name__)CODE
LOWbleachbit/GUI.py36logger = logging.getLogger(__name__)CODE
LOWbleachbit/ProtectedPath.py44logger = logging.getLogger(__name__)CODE
LOWbleachbit/General.py39logger = logging.getLogger(__name__)CODE
LOWbleachbit/RecognizeCleanerML.py23logger = logging.getLogger(__name__)CODE
LOWbleachbit/Mac.py23logger = logging.getLogger(__name__)CODE
LOWwindows/setup.py49logger = logging.getLogger(__name__)CODE
Self-Referential Comments10 hits · 32 pts
SeverityFileLineSnippetContext
MEDIUMtests/TestFileUtilities.py575 # Create a normal directory and file inside the base directoryCOMMENT
MEDIUMtests/TestRecognizeCleanerML.py32 # Create a CleanerML file so list_cleanerml_files() returns a file,COMMENT
MEDIUMtests/TestCommon.py296 # Create a file in the current directoryCOMMENT
MEDIUMtests/TestSpecial.py816 # Create a valid SQLite databaseCOMMENT
MEDIUMtests/TestSystemInformation.py136 # Create a directory with Unicode characters that will have a short pathCOMMENT
MEDIUMtests/TestWorker.py80 # Create a file that physically exists at listing time.COMMENT
MEDIUMtests/TestCleaner.py577 # Create the fileCOMMENT
MEDIUMbleachbit/GuiCookie.py112 # Create the TreeViewCOMMENT
MEDIUMbleachbit/General.py359 # Define the current operating system.COMMENT
MEDIUM⚡scripts/test_freebsd.sh321# Create a snapshot qcow2 backed by the cached image, then grow itCOMMENT
Redundant / Tautological Comments19 hits · 28 pts
SeverityFileLineSnippetContext
LOW⚡tests/TestExternalCommand.py435 if p.poll() is None: # Check if process is still runningCODE
LOWtests/TestWipe.py51 # Set shred_drives to include our temp directoryCOMMENT
LOWtests/TestWindowsWipe.py341 # Close the file handle to release the lockCOMMENT
LOWtests/TestWorker.py171 # Open the file with a blocking handle that allows read/write but blocks delete.COMMENT
LOWbleachbit/GuiStartup.py36 # Check if old_version < target_versionCOMMENT
LOWbleachbit/GuiStartup.py319 # Check if any selected cleaning option has a warningCOMMENT
LOWbleachbit/GuiWindow.py361 # Check if splash screen is forced via environment variableCOMMENT
LOWbleachbit/GuiWindow.py962 # Check if this option has a cookie commandCOMMENT
LOWbleachbit/GuiWindow.py969 # Check if this is the system.custom optionCOMMENT
LOWbleachbit/GuiPreferences.py792 # Check if user already confirmed this pathCOMMENT
LOWbleachbit/Wipe.py170 # Set range to the entire filesystemCOMMENT
LOWbleachbit/Winapp.py484 # Check if this registry key is excluded (exact match or starts with exclusion)COMMENT
LOWbleachbit/Winapp.py489 # Check if the path matches the exclusion (exact match or starts with exclusion)COMMENT
LOWbleachbit/Windows.py515 # Check if this key is excludedCOMMENT
LOWbleachbit/Windows.py520 # Check if the key matches the exclusion (exact match or is a child of exclusion)COMMENT
LOWbleachbit/Windows.py546 # Check if any child keys are excludedCOMMENT
LOWbleachbit/ProtectedPath.py198 # Check if user path is a parent of protected pathCOMMENT
LOWbleachbit/ProtectedPath.py204 # Check if user path is a child of protected path (within depth)COMMENT
LOWwindows/setup.py323 # Check if target file exists and compare contentCOMMENT
Docstring Block Structure5 hits · 25 pts
SeverityFileLineSnippetContext
HIGHtests/TestExternalCommand.py64Wait for a process and its grandchildren to complete on Windows. This function handles the case where a child proceSTRING
HIGHbleachbit/FileUtilities.py859Execute SQL commands on SQLite database Args: path (str): Path to the SQLite database file cmds (stSTRING
HIGHbleachbit/Cookie.py162Process cookies with optional deletion based on keep list Args: path (str): Path to the cookies database fiSTRING
HIGHbleachbit/Network.py125Fetch a URL using requests library Args: url (str): URL to fetch content from max_retries (int, optSTRING
HIGHbleachbit/Mac.py677Process Safari cookies with optional deletion based on keep list Args: path (str): Path to the cookies dataSTRING
Modern AI Meta-Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMtests/TestCleaner.py425 # The nesting is the scaffolding that patches the filesystem.COMMENT
MEDIUMbleachbit/Constant.py38# Expert mode is an option in the preferences to relax guardrails.COMMENT
Unused Imports5 hits · 5 pts
SeverityFileLineSnippetContext
LOWbleachbit/markovify/__init__.py3CODE
LOWbleachbit/markovify/__init__.py4CODE
LOWbleachbit/markovify/__init__.py4CODE
LOWbleachbit/markovify/__init__.py5CODE
LOWbleachbit/markovify/__init__.py6CODE
Example Usage Blocks2 hits · 2 pts
SeverityFileLineSnippetContext
LOWscripts/install-deps.sh13# Usage:COMMENT
LOWscripts/test_freebsd.sh44# Usage:COMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtests/TestDesktopMenuOptions.py64 f.write('placeholder')CODE
AI Structural Patterns1 hit · 1 pts
SeverityFileLineSnippetContext
LOWbleachbit/Winapp.py85CODE