AI Slop Code RIsk Monitor

DevToys-app/DevToys

A Swiss Army knife for developers.

9.4 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for DevToys-app/DevToys, a C# project with 32,074 GitHub stars. SynthScan examined 67,985 lines of code across 730 source files, recording 436 pattern matches distributed across 7 syntactic categories. The legacy adjusted pattern signal is 9.4 (Moderate 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.

9.4
Adjusted Signal
9.4
Raw Pattern Score
100%
Time Factor
2026-09-29
Last Push
32.1K
Stars
C#
Language
68.0K
Lines of Code
730
Files
436
Pattern Hits
2026-10-12
Scan Date
0.04
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 35.0/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 3.5/100 · LOW

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

Agent Over-Engineering Ratio 0.7/100 · LOW

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

PR Review Velocity Impact 36.1/100 · MEDIUM

Which changes need focused human review? 436 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

Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.

No multi-scan history yet — run the scanner again to build trend data.

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 4HIGH 27MEDIUM 1LOW 404

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 436 distinct pattern matches across 7 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 Block395 hits · 386 pts
SeverityFileLineSnippetContext
LOW…oys.UnitTests/Mocks/Tools/MockToolResource.Designer.cs1//------------------------------------------------------------------------------COMMENT
LOW…oys.MacOS/Controls/BlazorWebView/UrlLoadingStrategy.cs1namespace DevToys.MacOS.Controls.BlazorWebView;COMMENT
LOW…oys.MacOS/Controls/BlazorWebView/UrlLoadingStrategy.cs21 /// This strategy should not be used for external links unless you can ensure they are fully trusted.COMMENT
LOW…evToys.MacOS/Controls/BlazorWebView/BlazorWKWebView.cs81COMMENT
LOW…ys.MacOS/Controls/BlazorWebView/UrlLoadingEventArgs.cs21 private UrlLoadingEventArgs(Uri url, UrlLoadingStrategy urlLoadingStrategy)COMMENT
LOW…esktop/DevToys.Windows/Strings/Other/Other.Designer.cs1//------------------------------------------------------------------------------COMMENT
LOW…op/DevToys.Windows/Strings/TaskBar/TaskBar.Designer.cs1//------------------------------------------------------------------------------COMMENT
LOW…/desktop/DevToys.Windows/Core/QualityOfServiceLevel.cs1using System.Runtime.Versioning;COMMENT
LOW…/desktop/DevToys.Windows/Core/QualityOfServiceLevel.cs21 /// Description: Windowed applications that are in the foreground and in focus, or audible, COMMENT
LOW…/desktop/DevToys.Windows/Core/QualityOfServiceLevel.cs41 /// </summary>COMMENT
LOW…/desktop/DevToys.Windows/Core/QualityOfServiceLevel.cs61 /// <summary>COMMENT
LOW…orms/desktop/DevToys.Windows/Core/Helpers/DpiHelper.cs61 /// The device DPI Y value.COMMENT
LOW…s.Linux/Components/BlazorWebView/UrlLoadingStrategy.cs1namespace DevToys.Linux.Components;COMMENT
LOW…s.Linux/Components/BlazorWebView/UrlLoadingStrategy.cs21 /// This strategy should not be used for external links unless you can ensure they are fully trusted.COMMENT
LOW….Linux/Components/BlazorWebView/UrlLoadingEventArgs.cs21 private UrlLoadingEventArgs(Uri url, UrlLoadingStrategy urlLoadingStrategy)COMMENT
LOW…/DevToys.CLI/Strings/CliStrings/CliStrings.Designer.cs1//------------------------------------------------------------------------------COMMENT
LOWsrc/app/dev/DevToys.Core/TitleBarInfoProvider.cs21 /// <summary>COMMENT
LOWsrc/app/dev/DevToys.Core/AppHelper.cs21 .GetCustomAttribute(typeof(AssemblyInformationalVersionAttribute))!;COMMENT
LOWsrc/app/dev/DevToys.Core/Tools/GuiToolProvider.cs501 /// - Recent tool 1COMMENT
LOWsrc/app/dev/DevToys.Core/Tools/SmartDetectionService.cs21 // Build a hierarchy of detectors based on their indicated base data type name.COMMENT
LOW…/app/dev/DevToys.Core/Tools/ViewItems/GroupViewItem.cs61 }COMMENT
LOW…/app/dev/DevToys.Core/Tools/ViewItems/GroupViewItem.cs81 public string IconFontName { get; }COMMENT
LOW…pp/dev/DevToys.Core/Tools/ViewItems/GuiToolViewItem.cs21 /// <summary>COMMENT
LOWsrc/app/dev/DevToys.Api/TextSpan.cs21 /// <summary>COMMENT
LOWsrc/app/dev/DevToys.Api/IMefProvider.cs1namespace DevToys.Api;COMMENT
LOWsrc/app/dev/DevToys.Api/Settings/ISettingsProvider.cs1namespace DevToys.Api;COMMENT
LOWsrc/app/dev/DevToys.Api/Settings/ISettingsProvider.cs21 /// <summary>COMMENT
LOWsrc/app/dev/DevToys.Api/Settings/SettingDefinition.cs21 public T DefaultValue { get; }COMMENT
LOW…pp/dev/DevToys.Api/Settings/SettingChangedEventArgs.cs1namespace DevToys.Api;COMMENT
LOW…pp/dev/DevToys.Api/Strings/ApiText/ApiText.Designer.cs1//------------------------------------------------------------------------------COMMENT
LOWsrc/app/dev/DevToys.Api/Core/ResultInfoSeverity.cs1namespace DevToys.Api;COMMENT
LOWsrc/app/dev/DevToys.Api/Core/IFileStorage.cs1namespace DevToys.Api;COMMENT
LOWsrc/app/dev/DevToys.Api/Core/IFileStorage.cs21COMMENT
LOWsrc/app/dev/DevToys.Api/Core/IFileStorage.cs41 /// <returns>If succeeded, returns the absolute path to the folder the user selected, otherwise, returns null.</retuCOMMENT
LOWsrc/app/dev/DevToys.Api/Core/IFileStorage.cs61 /// Tries to open the given <paramref name="relativeOrAbsoluteFilePath"/> with write access rights. The file will beCOMMENT
LOWsrc/app/dev/DevToys.Api/Core/ResultInfo.cs1namespace DevToys.Api;COMMENT
LOWsrc/app/dev/DevToys.Api/Core/ResultInfo.cs21 /// </summary>COMMENT
LOWsrc/app/dev/DevToys.Api/Core/ResultInfo.cs61 /// <summary>COMMENT
LOWsrc/app/dev/DevToys.Api/Core/ResultInfo.cs81COMMENT
LOWsrc/app/dev/DevToys.Api/Core/SandboxedFileReader.cs1namespace DevToys.Api;COMMENT
LOWsrc/app/dev/DevToys.Api/Core/SandboxedFileReader.cs41 }COMMENT
LOWsrc/app/dev/DevToys.Api/Core/ObservableHashSet.cs21 /// that is empty and uses the default equality comparer for the set type.COMMENT
LOWsrc/app/dev/DevToys.Api/Core/ObservableHashSet.cs41COMMENT
LOWsrc/app/dev/DevToys.Api/Core/ObservableHashSet.cs61 /// <param name="comparer">COMMENT
LOWsrc/app/dev/DevToys.Api/Core/ObservableHashSet.cs121 /// <summary>COMMENT
LOWsrc/app/dev/DevToys.Api/Core/ObservableHashSet.cs321 /// </summary>COMMENT
LOWsrc/app/dev/DevToys.Api/Core/ObservableHashSet.cs341 /// </summary>COMMENT
LOWsrc/app/dev/DevToys.Api/Core/ObservableHashSet.cs361 /// </summary>COMMENT
LOWsrc/app/dev/DevToys.Api/Core/ObservableHashSet.cs381 /// </summary>COMMENT
LOWsrc/app/dev/DevToys.Api/Core/IClipboard.cs1using SixLabors.ImageSharp;COMMENT
LOWsrc/app/dev/DevToys.Api/Core/IClipboard.cs21 /// Retrieves text from the system clipboard.COMMENT
LOWsrc/app/dev/DevToys.Api/Core/IClipboard.cs41 /// <remarks>COMMENT
LOWsrc/app/dev/DevToys.Api/Core/IClipboard.cs61 /// </remarks>COMMENT
LOWsrc/app/dev/DevToys.Api/Core/DictionaryExtensions.cs1namespace DevToys.Api;COMMENT
LOWsrc/app/dev/DevToys.Api/Core/LoggingExtensions.cs21 _loggerFactory = value;COMMENT
LOWsrc/app/dev/DevToys.Api/Core/Theme/IThemeListener.cs1namespace DevToys.Api;COMMENT
LOWsrc/app/dev/DevToys.Api/Core/Theme/IThemeListener.cs21 ApplicationTheme ActualAppTheme { get; }COMMENT
LOW…ev/DevToys.Api/Core/Theme/AvailableApplicationTheme.cs1namespace DevToys.Api;COMMENT
LOW…c/app/dev/DevToys.Api/Core/Threading/TaskExtensions.cs1namespace DevToys.Api;COMMENT
LOW…dev/DevToys.Api/Core/Threading/TaskSchedulerAwaiter.cs21 cancellationToken);COMMENT
335 more matches not shown…
Synthetic Comment Markers26 hits · 192 pts
SeverityFileLineSnippetContext
HIGH…oys.UnitTests/Mocks/Tools/MockToolResource.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…evToys.MacOS/Strings/AppMenuBar/AppMenuBar.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…esktop/DevToys.Windows/Strings/Other/Other.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…op/DevToys.Windows/Strings/TaskBar/TaskBar.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…/desktop/DevToys.Linux/Strings/Other/Other.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…/DevToys.CLI/Strings/CliStrings/CliStrings.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…pp/dev/DevToys.Api/Strings/ApiText/ApiText.Designer.cs3// This code was generated by a tool.COMMENT
HIGHsrc/app/dev/shared/SharedAssemblyInfo.cs3// This code was generated by a tool.COMMENT
HIGHsrc/app/dev/shared/SharedAssemblyVersion.cs3// This code was generated by a tool.COMMENT
HIGH…zation/Strings/ToolGroupPage/ToolGroupPage.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…Localization/Strings/MainWindow/MainWindow.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…tion/Strings/WhatsNewDialog/WhatsNewDialog.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…oys.Localization/Strings/ToolPage/ToolPage.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…zation/Strings/UIImageViewer/UIImageViewer.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…lization/Strings/ToggleSwitch/ToggleSwitch.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…ings/UITextInputWrapper/UITextInputWrapper.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…eSelectorPresenter/UIFileSelectorPresenter.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…vToys.Localization/Strings/InfoBar/InfoBar.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…Localization/Strings/UIDataGrid/UIDataGrid.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…/Strings/FirstStartDialog/FirstStartDialog.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…vToys.Localization/Strings/TextBox/TextBox.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…Toys.Blazor/BuiltInTools/Settings/Settings.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…ools/SupportDevelopment/SupportDevelopment.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…nTools/ExtensionsManager/ExtensionsManager.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…pp/dev/DevToys.Blazor/BuiltInGroups/Groups.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…nerators/ResxHelperGenerator/CultureHelperGenerator.cs106 builder.AppendLine("// This code was generated by ResxHelperGenerator.");CODE
Hallucination Indicators4 hits · 40 pts
SeverityFileLineSnippetContext
CRITICAL…pp/dev/DevToys.Blazor/wwwroot/js/simplebar-modified.js860 _this.axis.x.track.rect = _this.axis.x.track.el.getBoundingClientRect();CODE
CRITICAL…pp/dev/DevToys.Blazor/wwwroot/js/simplebar-modified.js861 _this.axis.y.track.rect = _this.axis.y.track.el.getBoundingClientRect();CODE
CRITICAL…pp/dev/DevToys.Blazor/wwwroot/js/simplebar-modified.js875 _this.axis.x.scrollbar.el.getBoundingClientRect();CODE
CRITICAL…pp/dev/DevToys.Blazor/wwwroot/js/simplebar-modified.js885 _this.axis.y.scrollbar.el.getBoundingClientRect();CODE
Hyper-Verbose Identifiers6 hits · 6 pts
SeverityFileLineSnippetContext
LOW…evToys.Blazor/Components/Text/TextBox/TextBox.razor.js10export function initializeKeyboardTracking(input) {CODE
LOW…evToys.Blazor/Components/Text/TextBox/TextBox.razor.ts13export function initializeKeyboardTracking(input: HTMLInputElement): void {CODE
LOW…azor/Components/Collections/GridView/GridView.razor.ts9export function initializeDynamicItemSize(id: string, itemMinWidth: number): void {CODE
LOW…azor/Components/Collections/GridView/GridView.razor.ts59function fitGridViewItemsToContainer(gridView: HTMLElement, gridViewBounds: DOMRectReadOnly, itemMinWidth: number): voidCODE
LOW…azor/Components/Collections/GridView/GridView.razor.js8export function initializeDynamicItemSize(id, itemMinWidth) {CODE
LOW…azor/Components/Collections/GridView/GridView.razor.js49function fitGridViewItemsToContainer(gridView, gridViewBounds, itemMinWidth) {CODE
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHchocolatey/README.md16```choco apikey --key yourapikey --source https://push.chocolatey.org/```CODE
Fake / Example Data3 hits · 3 pts
SeverityFileLineSnippetContext
LOWREADME.md25- **Generators**: Hash & Checksum, Lorem Ipsum, Password...CODE
LOW…/BuiltInDataTypeDetectors/JsonDataTypeDetectorTests.cs21 [InlineData("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et CODE
LOW…/BuiltInDataTypeDetectors/JsonDataTypeDetectorTests.cs21 [InlineData("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et CODE
Decorative Section Separators1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMtools/Restore-MonacoEditor.sh13# ------------------------COMMENT