AI Slop Code Risk Monitor

HandBrake/HandBrake

SlopCodeMonitor badge for HandBrake/HandBrake Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

HandBrake's development repository

2.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for HandBrake/HandBrake, a C project with 24,830 GitHub stars. SynthScan examined 282,841 lines of code across 1045 source files, recording 595 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 2.5 (Low pattern signal); it is not an authorship estimate.

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

2.5
Adjusted Signal
2.5
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
24.8K
Stars
C
Language
282.8K
Lines of Code
1.0K
Files
595
Pattern Hits
2026-10-31
Scan Date
0.02
HC Hit Rate

Risk Review · Payload v1

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

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 9.9/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.3/100 · LOW

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

Agent Over-Engineering Ratio 1.8/100 · LOW

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

PR Review Velocity Impact 12.0/100 · LOW

Which changes need focused human review? 595 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 18MEDIUM 18LOW 559

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 595 distinct pattern matches across 13 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.

Over-Commented Block527 hits · 524 pts
SeverityFileLineSnippetContext
LOWtest/test.c21#include <strings.h>COMMENT
LOWtest/test.c2721 #define SUB_BURNED 267COMMENT
LOWtest/test.c2741 #define ENCODER_PROFILE 288COMMENT
LOWtest/test.c2761 #define PAD 310COMMENT
LOWtest/test.c2781 #define CROP_MODE 330COMMENT
LOW…ake.App.Core/Exceptions/GeneralApplicationException.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…ake.App.Core/Exceptions/GeneralApplicationException.cs21 /// </summary>COMMENT
LOW…ake.App.Core/Exceptions/GeneralApplicationException.cs41 /// <param name="error">COMMENT
LOW…n/CS/HandBrake.App.Core/Extensions/StringExtensions.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOWwin/CS/HandBrake.App.Core/Utilities/TimeSpanHelper.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOWwin/CS/HandBrake.App.Core/Utilities/EnumHelper.cs21COMMENT
LOWwin/CS/HandBrake.App.Core/Utilities/EnumHelper.cs81 /// <summary>COMMENT
LOWwin/CS/HandBrake.App.Core/Utilities/EnumHelper.cs161 }COMMENT
LOW…/CS/HandBrake.App.Core/Utilities/DirectoryUtilities.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…/CS/HandBrake.App.Core/Utilities/DirectoryUtilities.cs41 /// <summary>COMMENT
LOWwin/CS/HandBrake.App.Core/Utilities/Validate.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…HandBrake.App.Core/Utilities/DelayedActionProcessor.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…HandBrake.App.Core/Utilities/DelayedActionProcessor.cs21 /// The task.COMMENT
LOWwin/CS/HandBrake.App.Core/Model/DriveInformation.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOWwin/CS/HandBrake.App.Core/Model/DriveInformation.cs21COMMENT
LOWwin/CS/HandBrakeWPF/ViewModels/AudioViewModel.cs341 }COMMENT
LOWwin/CS/HandBrakeWPF/ViewModels/AudioViewModel.cs381 // Force UI UpdatesCOMMENT
LOW…n/CS/HandBrakeWPF/ViewModels/TitleSpecificViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…/CS/HandBrakeWPF/ViewModels/QueueSelectionViewModel.cs221 this.TitleList.Clear();COMMENT
LOWwin/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs81 /// <summary>COMMENT
LOWwin/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs561 return true;COMMENT
LOWwin/CS/HandBrakeWPF/ViewModels/ShellViewModel.cs21COMMENT
LOWwin/CS/HandBrakeWPF/ViewModels/ShellViewModel.cs41 /// </summary>COMMENT
LOW…/CS/HandBrakeWPF/ViewModels/CountdownAlertViewModel.cs21 /// <summary>COMMENT
LOWwin/CS/HandBrakeWPF/ViewModels/MetaDataViewModel.cs181 /// Setup the window after a scan.COMMENT
LOWwin/CS/HandBrakeWPF/ViewModels/ChaptersViewModel.cs261COMMENT
LOW…/HandBrakeWPF/ViewModels/Interfaces/IAboutViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…/HandBrakeWPF/ViewModels/Interfaces/IVideoViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…/HandBrakeWPF/ViewModels/Interfaces/IErrorViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…andBrakeWPF/ViewModels/Interfaces/IFiltersViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…WPF/ViewModels/Interfaces/IPictureSettingsViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…akeWPF/ViewModels/Interfaces/IManagePresetViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…akeWPF/ViewModels/Interfaces/IManagePresetViewModel.cs21 /// </summary>COMMENT
LOW…ndBrakeWPF/ViewModels/Interfaces/IChaptersViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…eWPF/ViewModels/Interfaces/IQueueSelectionViewModel.cs21 /// <summary>COMMENT
LOW…ndBrakeWPF/ViewModels/Interfaces/IMetaDataViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…/HandBrakeWPF/ViewModels/Interfaces/IAudioViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…eWPF/ViewModels/Interfaces/ICountdownAlertViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…eWPF/ViewModels/Interfaces/ICountdownAlertViewModel.cs21 /// </summary>COMMENT
LOW…dBrakeWPF/ViewModels/Interfaces/IAddPresetViewModel.cs21 {COMMENT
LOW…keWPF/ViewModels/Interfaces/ITitleSpecificViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…andBrakeWPF/ViewModels/Interfaces/IOptionsViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…CS/HandBrakeWPF/ViewModels/Interfaces/ILogViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…S/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…S/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs21 public interface IMainViewModelCOMMENT
LOW…S/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs41 /// <summary>COMMENT
LOW…S/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs61COMMENT
LOW…S/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs81COMMENT
LOW…S/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs101 /// A list of files to scanCOMMENT
LOW…S/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs121 /// <summary>COMMENT
LOW…CS/HandBrakeWPF/ViewModels/Interfaces/ITabInterface.cs21 /// Common interface for all the main tab panelsCOMMENT
LOW…CS/HandBrakeWPF/ViewModels/Interfaces/ITabInterface.cs41 /// </param>COMMENT
LOW…/HandBrakeWPF/ViewModels/Interfaces/IQueueViewModel.cs1// --------------------------------------------------------------------------------------------------------------------COMMENT
LOW…/HandBrakeWPF/ViewModels/Interfaces/IQueueViewModel.cs21 /// The action.COMMENT
LOW…/HandBrakeWPF/ViewModels/Interfaces/IQueueViewModel.cs41COMMENT
467 more matches not shown…
Empty Error Handlers12 hits · 60 pts
SeverityFileLineSnippetContext
HIGHmake/df-fetch.py67except Exception:CODE
HIGHmake/configure.py436except:CODE
HIGHmake/configure.py440except:CODE
HIGHmake/configure.py592except NameError:CODE
HIGHmake/configure.py2296except:CODE
HIGHmake/configure.py725except:CODE
HIGHmake/configure.py735except:CODE
HIGHmake/configure.py1298except:CODE
HIGHmake/configure.py1303except Exception as x:CODE
HIGHmake/configure.py1263except:CODE
HIGHmake/configure.py1268except Exception as x:CODE
HIGHgtk/data/version.py21except:CODE
Excessive Try-Catch Wrapping24 hits · 40 pts
SeverityFileLineSnippetContext
LOWmake/df-fetch.py67 except Exception:CODE
LOWmake/df-fetch.py126 except Exception as x:CODE
LOWmake/df-fetch.py136 except Exception as x:CODE
MEDIUMmake/configure.py608def _action( self ):CODE
LOW⚡make/configure.py1265 except Exception as x:CODE
LOW⚡make/configure.py1268 except Exception as x:CODE
LOW⚡make/configure.py1274 except Exception as x:CODE
LOW⚡make/configure.py1300 except Exception as x:CODE
LOW⚡make/configure.py1303 except Exception as x:CODE
LOW⚡make/configure.py1309 except Exception as x:CODE
LOWmake/configure.py133 except Exception as x:CODE
LOWmake/configure.py1125 except Exception as x:CODE
LOWmake/configure.py1511 except Exception as x:CODE
LOWmake/df-verify.py94 except Exception as x:CODE
MEDIUMscripts/create_flatpak_manifest.py113 print("Error: only one archive source permitted")CODE
MEDIUMscripts/create_flatpak_manifest.py149 print("Error: Invalid option")CODE
LOW⚡scripts/create_resources.py44 except Exception as err:CODE
MEDIUM⚡scripts/create_resources.py45 print("Error: %s" % str(err), file=sys.stderr)CODE
MEDIUM⚡scripts/create_resources.py47 print("Error: No such json file %s" % fbase, file=sys.stderr)CODE
MEDIUM⚡scripts/create_resources.py56 print("Error: No such plist file %s" % fbase, file=sys.stderr)CODE
LOW⚡scripts/create_resources.py66 except Exception as err:CODE
MEDIUM⚡scripts/create_resources.py67 print("Error: %s" % str(err), file=sys.stderr)CODE
MEDIUM⚡scripts/create_resources.py70 print("Error: No such string file %s" % fbase, file=sys.stderr)CODE
MEDIUMscripts/create_resources.py97 print("Error: %s" % str(err), file=sys.stderr)CODE
Synthetic Comment Markers3 hits · 22 pts
SeverityFileLineSnippetContext
HIGH…/HandBrakeWPF/Properties/ResourcesTooltips.Designer.cs3// This code was generated by a tool.COMMENT
HIGHwin/CS/HandBrakeWPF/Properties/Resources.Designer.cs3// This code was generated by a tool.COMMENT
HIGHwin/CS/Properties/Resources.Designer.cs3// This code was generated by a tool.COMMENT
Cross-Language Confusion3 hits · 18 pts
SeverityFileLineSnippetContext
HIGHmake/configure.py1109 ## pipe and redirect stderr to dev/null; effects communicate resultCOMMENT
HIGHmake/configure.py704 self.msg_end = self.mode.toString()CODE
HIGHmake/configure.py783 help='select %s%s: %s' % (self.descr,self.what,self.toString()),CODE
AI Slop Vocabulary4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMlibhb/bd.c453 // But clips that have seamless transition are requiredCOMMENT
MEDIUMscripts/localization/translate_win.sh9# Click on the resource to delve into itCOMMENT
MEDIUMscripts/localization/translate_linux.sh14# Click on the resource to delve into itCOMMENT
MEDIUMscripts/localization/translate_mac.sh8# Click on the resource to delve into itCOMMENT
Self-Referential Comments4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMscripts/manicure.rb4# This file is part of the HandBrake source code.COMMENT
MEDIUMscripts/localization/translate_win.sh34# Create a bit branch for the pull requestCOMMENT
MEDIUMscripts/localization/translate_linux.sh40# Create a bit branch for the pull requestCOMMENT
MEDIUMscripts/localization/translate_mac.sh34# Create a bit branch for the pull requestCOMMENT
Verbosity Indicators4 hits · 6 pts
SeverityFileLineSnippetContext
LOWwin/CS/HandBrakeWPF/ViewModels/AudioViewModel.cs534 // Step 2: Check if the track list already contains this trackCOMMENT
LOWwin/CS/HandBrakeWPF/ViewModels/AudioViewModel.cs570 // Step 2: Check if the track list already contains this trackCOMMENT
LOWwin/CS/HandBrakeWPF/ViewModels/AudioViewModel.cs588 // Step 2: Check if the track list already contains this trackCOMMENT
LOWwin/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs218 // Step 2: Check if the track list already contains this trackCOMMENT
Structural Annotation Overuse4 hits · 6 pts
SeverityFileLineSnippetContext
LOWwin/CS/HandBrakeWPF/ViewModels/AudioViewModel.cs534 // Step 2: Check if the track list already contains this trackCOMMENT
LOWwin/CS/HandBrakeWPF/ViewModels/AudioViewModel.cs570 // Step 2: Check if the track list already contains this trackCOMMENT
LOWwin/CS/HandBrakeWPF/ViewModels/AudioViewModel.cs588 // Step 2: Check if the track list already contains this trackCOMMENT
LOWwin/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs218 // Step 2: Check if the track list already contains this trackCOMMENT
Deep Nesting5 hits · 4 pts
SeverityFileLineSnippetContext
LOWmake/configure.py680CODE
LOWmake/configure.py841CODE
LOWscripts/create_flatpak_manifest.py44CODE
LOWscripts/create_resources.py25CODE
LOWgtk/data/version.py25CODE
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/tag-release.sh37 # Check if there is a valid git repo hereCOMMENT
LOWscripts/repo-info.sh29 # Check if there is a valid git repo hereCOMMENT
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMscripts/localization/translate_linux.sh8# If you want to remove a translator from the files if Transifex erroneously adds it, you can add:COMMENT
Unused Imports2 hits · 2 pts
SeverityFileLineSnippetContext
LOWscripts/create_flatpak_manifest.py3CODE
LOWscripts/create_resources.py4CODE