AI Slop Code Risk Monitor

ShareX/ShareX

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

ShareX is a free and open-source application that enables users to capture or record any area of their screen with a single keystroke. It also supports uploading images, text, and various file types to a wide range of destinations.

1.4 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for ShareX/ShareX, a C# project with 40,538 GitHub stars. SynthScan examined 300,651 lines of code across 1361 source files, recording 262 pattern matches distributed across 6 syntactic categories. The legacy adjusted pattern signal is 1.4 (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.

1.4
Adjusted Signal
1.4
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
40.5K
Stars
C#
Language
300.7K
Lines of Code
1.4K
Files
262
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 4.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 2.1/100 · LOW

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

Agent Over-Engineering Ratio 0.0/100 · LOW

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

PR Review Velocity Impact 7.1/100 · LOW

Which changes need focused human review? 262 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 13HIGH 12MEDIUM 2LOW 235

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 262 distinct pattern matches across 6 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 Block205 hits · 144 pts
SeverityFileLineSnippetContext
LOWShareX.UploadersLib/FileUploaders/BackblazeB2.cs381 /// <param name="destinationPath">The remote path to upload to.</param>COMMENT
LOWShareX.UploadersLib/FileUploaders/SendSpace.cs241 }COMMENT
LOWShareX.UploadersLib/FileUploaders/SendSpace.cs461COMMENT
LOWShareX.UploadersLib/Properties/Resources.Designer.cs1//------------------------------------------------------------------------------COMMENT
LOWShareX.UploadersLib/Properties/Resources.Designer.cs61 }COMMENT
LOW….ImageEditor/Core/ImageEffects/Helpers/ImageHelpers.cs221 {COMMENT
LOW…eX.ImageEditor/Core/Annotations/Text/TextAnnotation.cs41 /// <summary>COMMENT
LOW…ditor/Core/Annotations/Text/SpeechBalloonAnnotation.cs41 /// <summary>COMMENT
LOW…ditor/Core/Annotations/Text/SpeechBalloonAnnotation.cs61 public string Text { get; set; } = "";COMMENT
LOW…ditor/Core/Annotations/Text/SpeechBalloonAnnotation.cs81 public bool IsBold { get; set; }COMMENT
LOW….ImageEditor/Core/Annotations/Text/NumberAnnotation.cs41 /// Number to display (typically auto-incremented)COMMENT
LOWShareX.ImageEditor/Core/Annotations/Base/Annotation.cs61 /// Functional category of this annotation type (Shapes, Effects, or Text).COMMENT
LOWShareX.ImageEditor/Core/Annotations/Base/Annotation.cs81 /// Stroke width in pixelsCOMMENT
LOWShareX.ImageEditor/Core/Annotations/Base/Annotation.cs101 /// Shadow blur radius in pixelsCOMMENT
LOWShareX.ImageEditor/Core/Annotations/Base/Annotation.cs121 /// Starting point (top-left for rectangles, start for lines/arrows)COMMENT
LOWShareX.ImageEditor/Core/Annotations/Base/Annotation.cs141 /// Rotation angle in degrees (clockwise). Used for rotating annotations.COMMENT
LOWShareX.ImageEditor/Core/Annotations/Base/Annotation.cs161 Math.Max(StartPoint.X, EndPoint.X),COMMENT
LOWShareX.ImageEditor/Core/History/EditorMemento.cs41COMMENT
LOWShareX.ImageEditor/Core/Editor/EditorCore.cs41///COMMENT
LOWShareX.ImageEditor/Core/Editor/EditorCore.cs81 /// Raised when undo/redo history state changesCOMMENT
LOWShareX.ImageEditor/Core/Editor/EditorCore.cs101 /// </summary>COMMENT
LOWShareX.ImageEditor/Integration/EditorServices.cs41 /// Clipboard service for copy/paste operations.COMMENT
LOW…or/Presentation/ViewModels/MainViewModel.ImageState.cs81 SkiaSharp.SKBitmap? coreSource = _editorCore?.SourceImage;COMMENT
LOW…r/Presentation/Rendering/AnnotationCoordinateHelper.cs21 Optionally you can also view the license at <http://www.gnu.org/licenses/>.COMMENT
LOW…r/Presentation/Rendering/AnnotationCoordinateHelper.cs41/// </para>COMMENT
LOW…r/Presentation/Rendering/AnnotationCoordinateHelper.cs61{COMMENT
LOWShareX/Properties/Resources.Designer.cs1//------------------------------------------------------------------------------COMMENT
LOWShareX/Localization/Strings.Designer.cs1//------------------------------------------------------------------------------COMMENT
LOWShareX.HelpersLib/Native/NativeStructs.cs321 /// <summary>COMMENT
LOWShareX.HelpersLib/Native/NativeStructs.cs381 /// Four-character code indicating the stream type.COMMENT
LOWShareX.HelpersLib/Native/NativeStructs.cs401 /// <summary>COMMENT
LOWShareX.HelpersLib/Native/NativeStructs.cs421COMMENT
LOWShareX.HelpersLib/Native/NativeStructs.cs441 ///COMMENT
LOWShareX.HelpersLib/Native/NativeStructs.cs461 /// <summary>COMMENT
LOWShareX.HelpersLib/Native/NativeStructs.cs481 [MarshalAs(UnmanagedType.I4)]COMMENT
LOWShareX.HelpersLib/Native/NativeStructs.cs521 /// </summary>COMMENT
LOWShareX.HelpersLib/Native/NativeStructs.cs541 /// Quality value passed to a video compressor.COMMENT
LOWShareX.HelpersLib/Native/NativeStructs.cs561 /// <summary>COMMENT
LOWShareX.HelpersLib/Native/NativeConstants.cs81COMMENT
LOWShareX.HelpersLib/Native/NativeMethods.cs541 ///COMMENT
LOWShareX.HelpersLib/Native/NativeMethods.cs561 ///COMMENT
LOWShareX.HelpersLib/Native/NativeMethods.cs581 /// <summary>COMMENT
LOWShareX.HelpersLib/Native/NativeMethods.cs601 ///COMMENT
LOWShareX.HelpersLib/Native/NativeMethods.cs621 /// <param name="position">Position in the stream to receive the format.</param>COMMENT
LOWShareX.HelpersLib/Native/NativeMethods.cs641 /// </summary>COMMENT
LOWShareX.HelpersLib/Native/NativeMethods.cs661 /// <summary>COMMENT
LOWShareX.HelpersLib/Native/NativeMethods.cs681 public static extern IntPtr AVIStreamGetFrameOpen(IntPtr streamHandler, int wantedFormat);COMMENT
LOWShareX.HelpersLib/Native/NativeMethods.cs701 [DllImport("avifil32.dll")]COMMENT
LOWShareX.HelpersLib/Native/NativeMethods.cs721COMMENT
LOWShareX.HelpersLib/Native/NativeMethods.cs741 /// <param name="streams">Count of the AVICOMPRESSOPTIONS structures referenced in <b>options</b>.</param>COMMENT
LOWShareX.HelpersLib/Native/NativeEnums.cs201 /// Height of the screen of the primary display monitor, in pixels. This is the same values obtained by calling COMMENT
LOWShareX.HelpersLib/Native/NativeEnums.cs221 /// Height of a window border, in pixels. This is equivalent to the SM_CYEDGE value for windows with the 3-D looCOMMENT
LOWShareX.HelpersLib/Native/NativeEnums.cs241 /// Default width of an icon, in pixels. The LoadIcon function can load only icons with the dimensions specifiedCOMMENT
LOWShareX.HelpersLib/Native/NativeEnums.cs261 /// Width of the client area for a full-screen window on the primary display monitor, in pixels. To get the coorCOMMENT
LOWShareX.HelpersLib/Native/NativeEnums.cs281 /// Width of the arrow bitmap on a horizontal scroll bar, in pixels.COMMENT
LOWShareX.HelpersLib/Native/NativeEnums.cs301 /// Reserved for future useCOMMENT
LOWShareX.HelpersLib/Native/NativeEnums.cs321 /// Height of a button in a window's caption or title bar, in pixels.COMMENT
LOWShareX.HelpersLib/Native/NativeEnums.cs341 /// Width of the rectangle around the location of a first click in a double-click sequence, in pixels. The seconCOMMENT
LOWShareX.HelpersLib/Native/NativeEnums.cs361 /// Nonzero if the Microsoft Windows for Pen computing extensions are installed; zero otherwise.COMMENT
LOWShareX.HelpersLib/Native/NativeEnums.cs381 /// Identical Values Changed After Windows NT 4.0COMMENT
145 more matches not shown…
Hallucination Indicators13 hits · 130 pts
SeverityFileLineSnippetContext
CRITICALShareX.PhotoEditor/UI/PhotoEditorWindow.cs109 ShareX.PhotoEditor.UI.Theme.PhotoEditorTheme.Apply(this);CODE
CRITICALShareX.PhotoEditor/UI/Dialogs/DialogBuilder.cs51 ShareX.PhotoEditor.UI.Theme.PhotoEditorTheme.Apply(window);CODE
CRITICAL…r/Presentation/ViewModels/MainViewModel.CanvasState.cs315 CanvasShadow = new BoxShadows(ShareX.ImageEditor.Presentation.Helpers.ShadowEffectHelper.CreateCanvasShaCODE
CRITICAL…dering/AnnotationVisuals/RectangleAnnotation.Visual.cs61 rect.Effect = ShareX.ImageEditor.Presentation.Helpers.ShadowEffectHelper.CreateDropShadow(this);CODE
CRITICAL…ng/AnnotationVisuals/SpeechBalloonAnnotation.Visual.cs53 control.Effect = ShareX.ImageEditor.Presentation.Helpers.ShadowEffectHelper.CreateDropShadow(this);CODE
CRITICAL…/Rendering/AnnotationVisuals/ArrowAnnotation.Visual.cs55 path.Effect = ShareX.ImageEditor.Presentation.Helpers.ShadowEffectHelper.CreateDropShadow(this);CODE
CRITICAL…dering/AnnotationVisuals/TextAnnotation.TextEditing.cs64 textBox.Effect = ShareX.ImageEditor.Presentation.Helpers.ShadowEffectHelper.CreateDropShadow(this);CODE
CRITICAL…Rendering/AnnotationVisuals/NumberAnnotation.Visual.cs49 control.Effect = ShareX.ImageEditor.Presentation.Helpers.ShadowEffectHelper.CreateDropShadow(this);CODE
CRITICAL…endering/AnnotationVisuals/EllipseAnnotation.Visual.cs59 ellipse.Effect = ShareX.ImageEditor.Presentation.Helpers.ShadowEffectHelper.CreateDropShadow(this);CODE
CRITICAL…ndering/AnnotationVisuals/FreehandAnnotation.Visual.cs54 path.Effect = ShareX.ImageEditor.Presentation.Helpers.ShadowEffectHelper.CreateDropShadow(this);CODE
CRITICAL…n/Rendering/AnnotationVisuals/TextAnnotation.Visual.cs51 control.Effect = ShareX.ImageEditor.Presentation.Helpers.ShadowEffectHelper.CreateDropShadow(this);CODE
CRITICAL…n/Rendering/AnnotationVisuals/LineAnnotation.Visual.cs55 path.Effect = ShareX.ImageEditor.Presentation.Helpers.ShadowEffectHelper.CreateDropShadow(this);CODE
CRITICAL…itor/Presentation/Controllers/EditorInputController.cs520 path.Effect = ShareX.ImageEditor.Presentation.Helpers.ShadowEffectHelper.CreateDropShadow(freehand);CODE
Synthetic Comment Markers12 hits · 90 pts
SeverityFileLineSnippetContext
HIGHShareX.UploadersLib/Properties/Resources.Designer.cs3// This code was generated by a tool.COMMENT
HIGHShareX.UploadersLib/Localization/Strings.Designer.cs3// This code was generated by a tool.COMMENT
HIGHShareX.ImageEffectsLib/Localization/Strings.Designer.cs3// This code was generated from Localization/Strings.resx.COMMENT
HIGHShareX.ImageEditor/Localization/Strings.Designer.cs3// This code was generated by a tool.COMMENT
HIGHShareX/Properties/Resources.Designer.cs3// This code was generated by a tool.COMMENT
HIGHShareX/Localization/Strings.Designer.cs3// This code was generated by a tool.COMMENT
HIGHShareX.HelpersLib/Properties/Resources.Designer.cs3// This code was generated by a tool.COMMENT
HIGHShareX.HelpersLib/Localization/Strings.Designer.cs3// This code was generated by a tool.COMMENT
HIGHShareX.Tools/Localization/Strings.Designer.cs3// This code was generated by a tool.COMMENT
HIGHShareX.HistoryLib/Localization/Strings.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…areX.ScreenCaptureLib/Localization/Strings.Designer.cs3// This code was generated by a tool.COMMENT
HIGHShareX.Avalonia/Localization/Strings.Designer.cs3// This code was generated by a tool.COMMENT
Verbosity Indicators15 hits · 24 pts
SeverityFileLineSnippetContext
LOW…r/Core/ImageEffects/Filters/ChalkDrawingImageEffect.cs63 // Step 1: Compute edge intensity using Sobel-like operator on luminance.COMMENT
LOW…r/Core/ImageEffects/Filters/ChalkDrawingImageEffect.cs105 // Step 2: Generate chalk texture noise (deterministic).COMMENT
LOW…r/Core/ImageEffects/Filters/ChalkDrawingImageEffect.cs116 // Step 3: Combine edges, luminance, and noise into chalk drawing.COMMENT
LOW⚡…r/Core/ImageEffects/Filters/WoodcutPrintImageEffect.cs67 // Step 1: Compute luminance.COMMENT
LOW⚡…r/Core/ImageEffects/Filters/WoodcutPrintImageEffect.cs75 // Step 2: Edge detection (Sobel magnitude).COMMENT
LOW…r/Core/ImageEffects/Filters/WoodcutPrintImageEffect.cs94 // Step 3: Generate wood grain pattern (horizontal wave noise).COMMENT
LOW…r/Core/ImageEffects/Filters/WoodcutPrintImageEffect.cs123 // Step 4: Compose. Dark areas become ink, light areas become paper.COMMENT
LOW…ditor/Core/ImageEffects/Adjustments/LomoImageEffect.cs53 // Step 1: High contrast + warm color shiftCOMMENT
LOW…ditor/Core/ImageEffects/Adjustments/LomoImageEffect.cs76 // Step 2: VignetteCOMMENT
LOW…or/Core/ImageEffects/Adjustments/ClarityImageEffect.cs63 // Step 1: Create a blurred (low-frequency) version of the image.COMMENT
LOW…or/Core/ImageEffects/Adjustments/ClarityImageEffect.cs79 // Step 2: Compute high-pass detail = original - blurred,COMMENT
LOW…ImageEditor/Core/Annotations/Effects/BlurAnnotation.cs192 // Step 1: Create extended surface with clamped edgesCOMMENT
LOW…ImageEditor/Core/Annotations/Effects/BlurAnnotation.cs208 // Step 2: Apply blur to the extended surfaceCOMMENT
LOW…ImageEditor/Core/Annotations/Effects/BlurAnnotation.cs220 // Step 3: Extract the valid region from blurred resultCOMMENT
LOW…ImageEditor/Core/Annotations/Effects/BlurAnnotation.cs248 // Step 4: Draw blurred region into result at correct offsetCOMMENT
Structural Annotation Overuse15 hits · 24 pts
SeverityFileLineSnippetContext
LOW…r/Core/ImageEffects/Filters/ChalkDrawingImageEffect.cs63 // Step 1: Compute edge intensity using Sobel-like operator on luminance.COMMENT
LOW…r/Core/ImageEffects/Filters/ChalkDrawingImageEffect.cs105 // Step 2: Generate chalk texture noise (deterministic).COMMENT
LOW…r/Core/ImageEffects/Filters/ChalkDrawingImageEffect.cs116 // Step 3: Combine edges, luminance, and noise into chalk drawing.COMMENT
LOW⚡…r/Core/ImageEffects/Filters/WoodcutPrintImageEffect.cs67 // Step 1: Compute luminance.COMMENT
LOW⚡…r/Core/ImageEffects/Filters/WoodcutPrintImageEffect.cs75 // Step 2: Edge detection (Sobel magnitude).COMMENT
LOW…r/Core/ImageEffects/Filters/WoodcutPrintImageEffect.cs94 // Step 3: Generate wood grain pattern (horizontal wave noise).COMMENT
LOW…r/Core/ImageEffects/Filters/WoodcutPrintImageEffect.cs123 // Step 4: Compose. Dark areas become ink, light areas become paper.COMMENT
LOW…ditor/Core/ImageEffects/Adjustments/LomoImageEffect.cs53 // Step 1: High contrast + warm color shiftCOMMENT
LOW…ditor/Core/ImageEffects/Adjustments/LomoImageEffect.cs76 // Step 2: VignetteCOMMENT
LOW…or/Core/ImageEffects/Adjustments/ClarityImageEffect.cs63 // Step 1: Create a blurred (low-frequency) version of the image.COMMENT
LOW…or/Core/ImageEffects/Adjustments/ClarityImageEffect.cs79 // Step 2: Compute high-pass detail = original - blurred,COMMENT
LOW…ImageEditor/Core/Annotations/Effects/BlurAnnotation.cs192 // Step 1: Create extended surface with clamped edgesCOMMENT
LOW…ImageEditor/Core/Annotations/Effects/BlurAnnotation.cs208 // Step 2: Apply blur to the extended surfaceCOMMENT
LOW…ImageEditor/Core/Annotations/Effects/BlurAnnotation.cs220 // Step 3: Extract the valid region from blurred resultCOMMENT
LOW…ImageEditor/Core/Annotations/Effects/BlurAnnotation.cs248 // Step 4: Draw blurred region into result at correct offsetCOMMENT
Slop Phrases2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMShareX.HelpersLib/GIF/SkiaGrayscaleQuantizer.cs60 // Pick the first one arbitrarily, for demonstration purposes.COMMENT
MEDIUMShareX.HelpersLib/GIF/SkiaGrayscaleQuantizer.cs62 // Create a gray scale for demonstration purposes.COMMENT