AI Slop Code Risk Monitor

WerWolv/ImHex

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

🔍 A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.

3.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for WerWolv/ImHex, a C++ project with 55,672 GitHub stars. SynthScan examined 390,064 lines of code across 1012 source files, recording 1700 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 3.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.

3.5
Adjusted Signal
3.5
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
55.7K
Stars
C++
Language
390.1K
Lines of Code
1.0K
Files
1.7K
Pattern Hits
2026-10-31
Scan Date
0.00
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 15.9/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.1/100 · LOW

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

Agent Over-Engineering Ratio 0.3/100 · LOW

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

PR Review Velocity Impact 19.8/100 · LOW

Which changes need focused human review? 1700 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 2MEDIUM 7LOW 1691

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 1700 distinct pattern matches across 10 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 Block1660 hits · 1296 pts
SeverityFileLineSnippetContext
LOWcmake/sdk/template/CMakeLists.txt1# ImHex Plugin TemplateCOMMENT
LOWcmake/sdk/template/CMakeLists.txt21# LIBRARY_PLUGIN: If set, turns this plugin into a library plugin. Library plugins can be linked against by other plugCOMMENT
LOWcmake/sdk/template/source/example_plugin.cpp1#include <hex/plugin.hpp>COMMENT
LOWplugins/ui/include/ui/text_editor.hpp1#pragma onceCOMMENT
LOWplugins/ui/source/ui/pattern_value_editor.cpp1#include <ui/pattern_value_editor.hpp>COMMENT
LOWplugins/ui/source/ui/hex_editor.cpp1#include <ui/hex_editor.hpp>COMMENT
LOWplugins/ui/source/ui/markdown.cpp1#include <ui/markdown.hpp>COMMENT
LOWplugins/ui/source/ui/pattern_drawer.cpp1#include <algorithm>COMMENT
LOWplugins/ui/source/ui/pattern_drawer.cpp21#include <pl/patterns/pattern_wide_character.hpp>COMMENT
LOWplugins/ui/source/ui/text_editor/editor.cpp1#include <ui/text_editor.hpp>COMMENT
LOWplugins/hashes/source/content/hashes.cpp1#include <hex/api/content_registry/hashes.hpp>COMMENT
LOWplugins/script_loader/source/plugin_script_loader.cpp1#include <fonts/vscode_icons.hpp>COMMENT
LOW…/script_loader/source/loaders/dotnet/dotnet_loader.cpp1#include <loaders/dotnet/dotnet_loader.hpp>COMMENT
LOW…/script_loader/source/loaders/dotnet/dotnet_loader.cpp21#include <imgui.h>COMMENT
LOWplugins/script_loader/support/c/include/script_api.hpp1#pragma onceCOMMENT
LOW…ns/script_loader/support/c/source/script_api/v1/ui.cpp1#include <script_api.hpp>COMMENT
LOWplugins/diffing/source/content/views/view_diff.cpp1#include "content/views/view_diff.hpp"COMMENT
LOW…visualizers/source/content/pl_visualizers/3d_model.cpp1#include <hex/ui/imgui_imhex_extensions.h>COMMENT
LOWplugins/yara_rules/source/content/yara_rule.cpp1#include <content/yara_rule.hpp>COMMENT
LOWplugins/decompress/source/content/pl_functions.cpp1#include <hex.hpp>COMMENT
LOWplugins/decompress/source/content/pl_functions.cpp21#endifCOMMENT
LOW…gins/disassembler/include/content/helpers/capstone.hpp1#pragma onceCOMMENT
LOW…isassembler/source/content/views/view_disassembler.cpp1#include <content/views/view_disassembler.hpp>COMMENT
LOWplugins/windows/source/plugin_windows.cpp1#include <hex/plugin.hpp>COMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp1#pragma onceCOMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp21#define ICON_VS_SEARCH "\xee\xa9\xad" // U+EA6DCOMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp41#define ICON_VS_TRASH "\xee\xaa\x81" // U+EA81COMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp61#define ICON_VS_ARCHIVE "\xee\xaa\x98" // U+EA98COMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp81#define ICON_VS_BRIEFCASE "\xee\xaa\xac" // U+EAACCOMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp101#define ICON_VS_CLIPPY "\xee\xab\x80" // U+EAC0COMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp121#define ICON_VS_DEBUG_STOP "\xee\xab\x97" // U+EAD7COMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp141#define ICON_VS_FILE_PDF "\xee\xab\xab" // U+EAEBCOMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp161#define ICON_VS_GITHUB_ACTION "\xee\xab\xbf" // U+EAFFCOMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp181#define ICON_VS_LINK_EXTERNAL "\xee\xac\x94" // U+EB14COMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp201#define ICON_VS_OPEN_PREVIEW "\xee\xac\xa8" // U+EB28COMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp221#define ICON_VS_REPLACE_ALL "\xee\xac\xbc" // U+EB3CCOMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp241#define ICON_VS_SETTINGS_GEAR "\xee\xad\x91" // U+EB51COMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp261#define ICON_VS_SYMBOL_SNIPPET "\xee\xad\xa6" // U+EB66COMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp281#define ICON_VS_VM_OUTLINE "\xee\xad\xba" // U+EB7ACOMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp301#define ICON_VS_DEBUG_REVERSE_CONTINUE "\xee\xae\x8e" // U+EB8ECOMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp321#define ICON_VS_SERVER_PROCESS "\xee\xae\xa2" // U+EBA2COMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp341#define ICON_VS_COMBINE "\xee\xae\xb6" // U+EBB6COMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp361#define ICON_VS_TERMINAL_BASH "\xee\xaf\x8a" // U+EBCACOMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp381#define ICON_VS_RUN_ERRORS "\xee\xaf\x9e" // U+EBDECOMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp401#define ICON_VS_LAYOUT_PANEL "\xee\xaf\xb2" // U+EBF2COMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp421#define ICON_VS_MAP_FILLED "\xee\xb0\x86" // U+EC06COMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp441#define ICON_VS_PIANO "\xee\xb0\x9a" // U+EC1ACOMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp461#define ICON_VS_GITHUB_PROJECT "\xee\xb0\xaf" // U+EC2FCOMMENT
LOWplugins/fonts/include/fonts/vscode_icons.hpp481#define ICON_VS_REPO_PINNED "\xee\xb1\x83" // U+EC43COMMENT
LOWplugins/fonts/include/fonts/tabler_icons.hpp1#pragma onceCOMMENT
LOWplugins/fonts/include/fonts/tabler_icons.hpp21#define ICON_TA_CASH_BANKNOTE_MOVE "\xf0\x90\x85\x85" // U+10145COMMENT
LOWplugins/fonts/include/fonts/tabler_icons.hpp41#define ICON_TA_FILTER_2_DOLLAR "\xf0\x90\x85\x99" // U+10159COMMENT
LOWplugins/fonts/include/fonts/tabler_icons.hpp61#define ICON_TA_ALIGN_LEFT "\xf3\xb0\x80\x89" // U+F0009COMMENT
LOWplugins/fonts/include/fonts/tabler_icons.hpp81#define ICON_TA_ARROW_NARROW_UP "\xf3\xb0\x80\x9d" // U+F001DCOMMENT
LOWplugins/fonts/include/fonts/tabler_icons.hpp101#define ICON_TA_BATTERY_3 "\xf3\xb0\x80\xb1" // U+F0031COMMENT
LOWplugins/fonts/include/fonts/tabler_icons.hpp121#define ICON_TA_BOX "\xf3\xb0\x81\x85" // U+F0045COMMENT
LOWplugins/fonts/include/fonts/tabler_icons.hpp141#define ICON_TA_CHART_BAR "\xf3\xb0\x81\x99" // U+F0059COMMENT
LOWplugins/fonts/include/fonts/tabler_icons.hpp161#define ICON_TA_CLIPBOARD_LIST "\xf3\xb0\x81\xad" // U+F006DCOMMENT
LOWplugins/fonts/include/fonts/tabler_icons.hpp181#define ICON_TA_CORNER_RIGHT_UP "\xf3\xb0\x82\x81" // U+F0081COMMENT
LOWplugins/fonts/include/fonts/tabler_icons.hpp201#define ICON_TA_DOTS "\xf3\xb0\x82\x95" // U+F0095COMMENT
1600 more matches not shown…
Slop Phrases19 hits · 40 pts
SeverityFileLineSnippetContext
LOW⚡lib/third_party/imgui/implot/include/implot.h1031// Turns the current plot's plotting area into a drag and drop target. Don't forget to call EndDragDropTarget!COMMENT
LOW⚡lib/third_party/imgui/implot/include/implot.h1033// Turns the current plot's X-axis into a drag and drop target. Don't forget to call EndDragDropTarget!COMMENT
LOW⚡lib/third_party/imgui/implot/include/implot.h1035// Turns the current plot's legend into a drag and drop target. Don't forget to call EndDragDropTarget!COMMENT
LOW⚡lib/third_party/imgui/implot/include/implot.h1043// Turns the current plot's plotting area into a drag and drop source. You must hold Ctrl. Don't forget to call EndDragDCOMMENT
LOW⚡lib/third_party/imgui/implot/include/implot.h1045// Turns the current plot's X-axis into a drag and drop source. You must hold Ctrl. Don't forget to call EndDragDropSourCOMMENT
LOW⚡lib/third_party/imgui/implot/include/implot.h1047// Turns an item in the current plot's legend into drag and drop source. Don't forget to call EndDragDropSource!COMMENT
LOW⚡lib/third_party/imgui/implot/include/implot.h1101// Temporarily modify a style color. Don't forget to call PopStyleColor!COMMENT
LOW⚡lib/third_party/imgui/implot/include/implot.h1107// Temporarily modify a style variable of float type. Don't forget to call PopStyleVar!COMMENT
LOW⚡lib/third_party/imgui/implot/include/implot.h1109// Temporarily modify a style variable of int type. Don't forget to call PopStyleVar!COMMENT
LOW⚡lib/third_party/imgui/implot/include/implot.h1111// Temporarily modify a style variable of ImVec2 type. Don't forget to call PopStyleVar!COMMENT
LOWlib/third_party/imgui/implot/include/implot.h1167// Temporarily switch to one of the built-in (i.e. ImPlotColormap_XXX) or user-added colormaps (i.e. a return value of ACOMMENT
LOWlib/third_party/imgui/implot/include/implot.h1169// Push a colormap by string name. Use built-in names such as "Default", "Deep", "Jet", etc. or a string you provided toCOMMENT
MEDIUMlib/third_party/imgui/imgui/source/imgui_widgets.cpp7304// Tip: pass a non-visible label (e.g. "##hello") then you can use the space to draw other text or image.COMMENT
LOW⚡lib/third_party/imgui/implot3d/include/implot3d.h520// Temporarily modify a style color. Don't forget to call PopStyleColor!COMMENT
LOW⚡lib/third_party/imgui/implot3d/include/implot3d.h526// Temporarily modify a style variable of float type. Don't forget to call PopStyleVar!COMMENT
LOW⚡lib/third_party/imgui/implot3d/include/implot3d.h528// Temporarily modify a style variable of int type. Don't forget to call PopStyleVar!COMMENT
LOW⚡lib/third_party/imgui/implot3d/include/implot3d.h530// Temporarily modify a style variable of ImVec2 type. Don't forget to call PopStyleVar!COMMENT
LOWlib/third_party/imgui/implot3d/include/implot3d.h576// Temporarily switch to one of the built-in (i.e. ImPlot3DColormap_XXX) or user-added colormaps (i.e. a return value ofCOMMENT
LOWlib/third_party/imgui/implot3d/include/implot3d.h579// Push a colormap by string name. Use built-in names such as "Default", "Deep", "Jet", etc. or a string you provided toCOMMENT
Excessive Try-Catch Wrapping4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/check_langs.py70 print(f"Error: Languages file '{languages_file_path}' does not exist.")CODE
MEDIUM⚡tests/check_langs.py76 print(f"Error: Languages file '{languages_file_path}' is not a valid JSON object.")CODE
MEDIUM⚡tests/check_langs.py81 print(f"Error: Language file '{lang['path']}' does not exist in '{languages_folder}'.")CODE
MEDIUM⚡tests/check_langs.py86 print(f"Error: Languages file '{languages_file_path}' is not a valid JSON file. {e}")CODE
Fake / Example Data8 hits · 10 pts
SeverityFileLineSnippetContext
LOW⚡lib/third_party/imgui/imgui/source/imgui_demo.cpp7654 ImGui::TextWrapped("Lorem ipsum dolor sit amet");CODE
LOW⚡lib/third_party/imgui/imgui/source/imgui_demo.cpp7654 ImGui::TextWrapped("Lorem ipsum dolor sit amet");CODE
LOW⚡lib/third_party/imgui/imgui/source/imgui_demo.cpp7656 ImGui::Text("Lorem ipsum dolor sit amet");CODE
LOW⚡lib/third_party/imgui/imgui/source/imgui_demo.cpp7656 ImGui::Text("Lorem ipsum dolor sit amet");CODE
LOWlib/third_party/imgui/imgui/source/imgui_demo.cpp9575 ImGui::TextWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor iCODE
LOWlib/third_party/imgui/imgui/source/imgui_demo.cpp9575 ImGui::TextWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor iCODE
LOWlib/third_party/imgui/imgui/source/imgui_demo.cpp10859 ImGui::TextWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt utCODE
LOWlib/third_party/imgui/imgui/source/imgui_demo.cpp10859 ImGui::TextWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt utCODE
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH…s/builtin/source/content/views/view_data_inspector.cpp136 // Try to read as many bytes as requested and possibleCOMMENT
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHtests/check_langs.py51except ValueError:CODE
Decorative Section Separators1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMcmake/sdk/template/CMakeLists.txt2# =====================COMMENT
Hyper-Verbose Identifiers3 hits · 3 pts
SeverityFileLineSnippetContext
LOW…/builtin/include/content/views/view_data_processor.hpp18 class ViewDataProcessor : public View::Window {CODE
LOWplugins/builtin/source/content/achievements.cpp38 class AchievementDataProcessor : public Achievement {CODE
LOWtests/check_langs.py10def get_lang_occurrences_in_code(path):CODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM…rty/imgui/imgui_test_engine/source/imgui_te_engine.cpp548// Setup inputs in the tested Dear ImGui context. Essentially we override the work of the backend here.COMMENT
Deep Nesting2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/check_langs.py10CODE
LOWtests/check_langs.py64CODE