AI Slop Code Risk Monitor

SigmaHQ/sigma

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

Main Sigma Rule Repository

0.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for SigmaHQ/sigma, a Python project with 11,377 GitHub stars. SynthScan examined 227,613 lines of code across 5092 source files, recording 203 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 0.9 (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.

0.9
Adjusted Signal
0.9
Raw Pattern Score
100%
Time Factor
2026-10-21
Last Push
11.4K
Stars
Python
Language
227.6K
Lines of Code
5.1K
Files
203
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 3.9/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.1/100 · LOW

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

Agent Over-Engineering Ratio 1.2/100 · LOW

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

PR Review Velocity Impact 5.4/100 · LOW

Which changes need focused human review? 203 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 1MEDIUM 22LOW 180

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 203 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 Block92 hits · 60 pts
SeverityFileLineSnippetContext
LOWother/godmode_sigma_rule.yml1# _____ __ __ ___ __ COMMENT
LOWtests/test_rules.py21COMMENT
LOWtests/test_rules.py41 # MITRE_TACTICS = [COMMENT
LOWtests/test_rules.py141 # ): # Covers both "base64" and "base64offset" modifiers, and "re" modifierCOMMENT
LOWtests/test_rules.py161 # iCOMMENT
LOWtests/test_rules.py181 # check_list_or_recurse_on_dict(detection, 1, False)COMMENT
LOWtests/test_rules.py201COMMENT
LOWtests/test_rules.py221COMMENT
LOWtests/test_rules.py421 )COMMENT
LOWtests/test_rules.py441 # print("TypeError Exception for rule {}".format(file))COMMENT
LOWtests/test_rules.py461 # for typo in common_typos:COMMENT
LOWtests/test_rules.py501 self.assertEqual(COMMENT
LOWtests/test_rules.py521 # Fore.YELLOWCOMMENT
LOWtests/test_rules.py541 # # Reference field doesn't existCOMMENT
LOWtests/test_rules.py761 [],COMMENT
LOWtests/test_rules.py781 # "by",COMMENT
LOWtests/test_rules.py801 # fileCOMMENT
LOWtests/test_rules.py821 # and not "_" in wordCOMMENT
LOWtests/test_rules.py941 # if key[:3].lower() == "sel":COMMENT
LOWtests/test_rules.py961 # Fore.REDCOMMENT
LOWtests/test_rules.py981 # wildcard_selections = re.compile(r"\sof\s([\w\*]+)(?:$|\s|\))")COMMENT
LOWtests/test_rules.py1001 # .replace(")", "")COMMENT
LOWtests/test_rules.py1021 # + "Rule {} has an unused selection '{}'".format(file, selection)COMMENT
LOWtests/test_rules.py1041 # print(COMMENT
LOWtests/test_rules.py1061 # for key, value in dict.items():COMMENT
LOWtests/test_rules.py1081 # # multiple item selectionCOMMENT
LOWtests/test_rules.py1101 # valid = TrueCOMMENT
LOWtests/test_rules.py1301 # files_with_incorrect_extensions.append(file)COMMENT
LOWtests/test_rules.py1321COMMENT
LOWtests/test_rules.py1341 # + "Rule {} has the duplicate tag {}".format(file, tag)COMMENT
LOWtests/test_rules.py1361 # for reference in references:COMMENT
LOWtests/test_rules.py1381 # faulty_rules = []COMMENT
LOWtests/test_rules.py1401 # faulty_rules.append(file)COMMENT
LOWtests/test_rules.py1421 # fileCOMMENT
LOWtests/test_rules.py1441COMMENT
LOWtests/test_rules.py1461 # faulty_rules.append(file)COMMENT
LOWtests/test_rules.py1481 # )COMMENT
LOWtests/test_rules.py1501 # def test_optional_tlp(self):COMMENT
LOWtests/test_rules.py1521 # Fore.YELLOWCOMMENT
LOWtests/test_rules.py1541 # print(COMMENT
LOWtests/test_rules.py1561 # )COMMENT
LOWtests/test_rules.py1581COMMENT
LOWtests/test_rules.py1601 # Fore.RED + "Rule {} has a logsource with an invalid field ({})".format(file, key))COMMENT
LOWtests/test_rules.py1621 # logsource = self.get_rule_part(file_path=file, part_name="logsource").values()COMMENT
LOWtests/test_rules.py1641COMMENT
LOWtests/test_rules.py1661 # faulty_rules = []COMMENT
LOWtests/test_rules.py1681 # faulty_rules.append(file)COMMENT
LOWtests/test_rules.py1701 # print(COMMENT
LOWtests/test_rules.py1721 # # it exists but isn't a listCOMMENT
LOWtests/test_rules.py1741 # )COMMENT
LOWtests/test_rules.py1761 # self.get_rule_part(file_path=file, part_name="relatde")COMMENT
LOWtests/test_rules.py1781 # sigma error validators date_existenceCOMMENT
LOWtests/test_rules.py1801 # fileCOMMENT
LOWtests/test_rules.py1821 # sigma validators description_existence description_lengthCOMMENT
LOWtests/test_rules.py1841 # Fore.YELLOWCOMMENT
LOWtests/test_rules.py1861 # "medium",COMMENT
LOWtests/test_rules.py1881 # + "There are rules with missing or malformed 'level' fields. (check https://github.com/SigmaHQ/sigma-speciCOMMENT
LOWtests/test_rules.py1901 # Fore.REDCOMMENT
LOWtests/test_rules.py1921 # faulty_rules.append(file)COMMENT
LOWtests/test_rules.py1941 # + "Rule {} has a 'author' field that isn't a string.".format(COMMENT
32 more matches not shown…
Hyper-Verbose Identifiers36 hits · 34 pts
SeverityFileLineSnippetContext
LOWdocumentation/tools/sigma-logsource-checker.py111def yield_next_rule_file_path(path_to_rules: str) -> str:CODE
LOWdocumentation/tools/sigma-logsource-checker.py152def test_invalid_logsource_attributes(path_to_rules):CODE
LOWtests/sigma-package-release.py101 def yield_next_rule_file_path(rule_path: str) -> str:CODE
LOWtests/regression_tests_runner.py758def check_rule_id_consistency(rules_with_tests: List[Dict]) -> List[Dict]:CODE
LOWtests/reference-archiver.py31def yield_next_rule_file_path(path_to_rules: list) -> Generator[str, None, None]:CODE
LOWtests/test_rules.py133 # def test_look_for_duplicate_filters(self):COMMENT
LOWtests/test_rules.py134 # def check_list_or_recurse_on_dict(item, depth: int, special: bool) -> None:COMMENT
LOWtests/test_rules.py146 # def check_if_list_contain_duplicates(COMMENT
LOWtests/test_rules.py190 # def test_field_name_with_space(self):COMMENT
LOWtests/test_rules.py215 # def test_single_named_condition_with_x_of_them(self):COMMENT
LOWtests/test_rules.py424 # def test_optional_falsepositives_capital(self):COMMENT
LOWtests/test_rules.py453 # def test_optional_falsepositives_blocked_content(self):COMMENT
LOWtests/test_rules.py536 # def test_references_in_description(self):COMMENT
LOWtests/test_rules.py934 # def test_selection_start_or_and(self):COMMENT
LOWtests/test_rules.py1030 # def test_all_value_modifier_single_item(self):COMMENT
LOWtests/test_rules.py1059 # def test_field_user_localization(self):COMMENT
LOWtests/test_rules.py1096 # def test_condition_operator_casesensitive(self):COMMENT
LOWtests/test_rules.py78 def yield_next_rule_file_path(self, path_to_rules: list) -> "collections.abc.Iterator[str]":CODE
LOWtests/test_rules.py114 def test_legal_trademark_violations(self):CODE
LOWtests/test_rules.py240 def test_duplicate_detections(self):CODE
LOWtests/test_rules.py339 def test_event_id_instead_of_process_creation(self):CODE
LOWtests/test_rules.py399 def test_sysmon_rule_without_eventid(self):CODE
LOWtests/test_rules.py869 def test_selection_list_one_value(self):CODE
LOWtests/test_rules.py1128 def test_broken_thor_logsource_config(self):CODE
LOWtests/test_rules.py1224 def check_list_or_recurse_on_dict(item, depth: int, special: bool) -> None:STRING
LOWtests/test_rules.py1244 def check_item_for_bad_escapes(item):STRING
LOWtests/test_rules.py1293 # def test_confirm_extension_is_yml(self):STRING
LOWtests/test_rules.py1306 # def test_confirm_correct_mitre_tags(self):STRING
LOWtests/test_rules.py1354 # def test_duplicate_references(self):STRING
LOWtests/test_rules.py1412 # def test_optional_date_modified(self):STRING
LOWtests/test_rules.py1484 # def test_all_of_them_condition(self):STRING
LOWtests/test_rules.py1582 # def test_invalid_logsource_attributes(self):STRING
LOWtests/test_rules.py1645 # def test_unknown_value_modifier(self):STRING
LOWtests/test_rules.py1906 # def test_optional_falsepositives_listtype(self):STRING
LOWtests/test_logsource.py45 def yield_next_rule_file_path(self, path_to_rules: list) -> "collections.abc.Iterator[str]":CODE
LOWtests/test_logsource.py183 def test_invalid_logsource_attributes(self):CODE
AI Slop Vocabulary13 hits · 32 pts
SeverityFileLineSnippetContext
MEDIUM…og_execution/d042284c-a296-4988-9be5-f424fadcc28c.json62 "ParentCommandLine": "\"powershell.exe\" & {# Import the required test harness function, Invoke-BuildAndInvokeInstCODE
MEDIUM…-22893/web_cve_2021_22893_pulse_secure_rce_exploit.yml6 - https://www.fireeye.com/blog/threat-research/2021/04/suspected-apt-actors-leverage-bypass-techniques-pulse-secure-CODE
LOW…xploits/ProxyShell-Exploit/web_exchange_proxyshell.yml32 # since we don't know how it will appear in the log files, we'll just use all versionsCOMMENT
MEDIUM…nection/net_connection_win_susp_azurefd_connection.yml9 - https://medium.com/r3d-buck3t/red-teaming-in-cloud-leverage-azure-frontdoor-cdn-for-c2-redirectors-79dd9ca98178CODE
MEDIUM…ile_event/file_event_win_creation_system_dll_files.yml24 # Note: It is recommended to use a more robust filter instead of this generic one, to avoid false negatives.COMMENT
MEDIUM…ile/file_event/file_event_win_creation_system_file.yml95 # Note: It is recommended to use a more robust filter instead of this generic one, to avoid false negatives.COMMENT
MEDIUM…wershell_classic/posh_pc_remote_powershell_session.yml29# Note: Increase the level to "medium" in environments that do not leverage PowerShell remotingCOMMENT
MEDIUMrules/windows/image_load/image_load_side_load_wazuh.yml29 # Note: Many third party apps installed in "AppData" or "ProgramData" and leverage "mingw64" make use of "libwinCOMMENT
MEDIUM…process_creation/proc_creation_win_csc_susp_parent.yml63 # Note: this is a generic filter. You could baseline execution in your env for a more robust ruleCOMMENT
MEDIUM…remote_access_tools_screenconnect_remote_execution.yml29# Note: Increase the level if you don't leverage ScreenConnectCOMMENT
MEDIUM…ion/proc_creation_win_csc_susp_dynamic_compilation.yml46 # Note: this is a generic filter. You could baseline execution in your env for a more robust ruleCOMMENT
MEDIUM…/proc_creation_win_powershell_script_engine_parent.yml6 - https://www.securitynewspaper.com/2017/03/20/attackers-leverage-excel-powershell-dns-latest-non-malware-attack/CODE
LOWrules/windows/sysmon/sysmon_config_modification.yml17 # To avoid FP just addCOMMENT
Deep Nesting30 hits · 24 pts
SeverityFileLineSnippetContext
LOWdocumentation/tools/sigma-logsource-checker.py135CODE
LOWdocumentation/tools/sigma-logsource-checker.py152CODE
LOWdocumentation/tools/sigma-logsource-checker.py183CODE
LOWdocumentation/tools/sigma-logsource-checker.py202CODE
LOWdocumentation/tools/sigma-logsource-checker.py256CODE
LOWdocumentation/tools/sigma-logsource-checker.py265CODE
LOWtests/regression_tests_runner.py210CODE
LOWtests/regression_tests_runner.py254CODE
LOWtests/regression_tests_runner.py518CODE
LOWtests/regression_tests_runner.py758CODE
LOWtests/reference-archiver.py31CODE
LOWtests/reference-archiver.py59CODE
LOWtests/reference-archiver.py72CODE
LOWtests/test_rules.py68CODE
LOWtests/test_rules.py78CODE
LOWtests/test_rules.py114CODE
LOWtests/test_rules.py339CODE
LOWtests/test_rules.py399CODE
LOWtests/test_rules.py568CODE
LOWtests/test_rules.py869CODE
LOWtests/test_rules.py1128CODE
LOWtests/test_rules.py1166CODE
LOWtests/test_rules.py884CODE
LOWtests/test_rules.py1224CODE
LOWtests/test_rules.py1244CODE
LOWtests/test_logsource.py35CODE
LOWtests/test_logsource.py45CODE
LOWtests/test_logsource.py80CODE
LOWtests/test_logsource.py183CODE
LOWtests/test_logsource.py251CODE
Excessive Try-Catch Wrapping6 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/regression_tests_runner.py498 print(f"Error: evtx-sigma-checker not found at {args.evtx_checker}")CODE
MEDIUM⚡tests/regression_tests_runner.py503 print(f"Error: Thor config not found at {args.thor_config}")CODE
MEDIUM⚡tests/regression_tests_runner.py508 print(f"Error: json_checker not found at {args.json_checker}")CODE
LOWtests/reference-archiver.py123 except Exception as e:CODE
MEDIUMtests/reference-archiver.py124 print(f"Error sorting references: {e}")CODE
MEDIUMtests/test_rules.py442 # print("Error: {}".format(err))COMMENT
Redundant / Tautological Comments9 hits · 13 pts
SeverityFileLineSnippetContext
LOW…_hktl_rubeus/3245cd30-e015-40ff-a31d-5cadd5f377ec.json47 "ScriptBlockText": "# Global TLS Setting for all functions. If TLS12 isn't suppported you will get an exception wCODE
LOW…unblock_file/5947497f-1aa4-41dd-9693-c9848d58727d.json47 "ScriptBlockText": "<#\n.SYNOPSIS\n Checks for common issues that may prevent the 'DSInternals' module from worCODE
LOWtests/regression_tests_runner.py76 # Check if test file existsCOMMENT
LOWtests/regression_tests_runner.py142 # Check if rule status requires regression testsCOMMENT
LOWtests/regression_tests_runner.py145 # Check if rule has regression_tests_pathCOMMENT
LOW⚡tests/regression_tests_runner.py496 # Check if evtx-sigma-checker existsCOMMENT
LOW⚡tests/regression_tests_runner.py501 # Check if THOR config existsCOMMENT
LOWtests/regression_tests_runner.py809 # Check if the filename (without extension) matches the rule IDCOMMENT
LOWtests/test_rules.py1260 # Check if character after \ is not in escape_allow_list and also not already foundSTRING
Slop Phrases3 hits · 8 pts
SeverityFileLineSnippetContext
LOW…in_security_susp_possible_shadow_credentials_added.yml30 # Don't forget to add it to the condition section belowCOMMENT
MEDIUM…cation/msiinstaller/win_builtin_remove_application.yml26# Level is low as it can be very verbose, you can use the top or less 10 "Product Name" to have a quick overviewCOMMENT
MEDIUM…cation/mssqlserver/win_mssql_xp_cmdshell_audit_log.yml23 # You can modify this to include specific commandsCOMMENT
Modern AI Meta-Vocabulary3 hits · 7 pts
SeverityFileLineSnippetContext
MEDIUM…in/proc_creation_lnx_malware_tanstack_supply_chain.yml30 # observed on guardrails-ai@0.10.1 compromiseCOMMENT
MEDIUM.github/latest_archiver_output.md191- https://blog.lukaszolejnik.com/supply-chain-risk-of-agentic-ai-infecting-infrastructures-via-skill-worms/CODE
MEDIUM…/proc_creation_win_node_new_agent_skills_installed.yml13 - https://blog.lukaszolejnik.com/supply-chain-risk-of-agentic-ai-infecting-infrastructures-via-skill-worms/CODE
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHtests/test_rules.py1150except:CODE
Unused Imports5 hits · 4 pts
SeverityFileLineSnippetContext
LOWdocumentation/tools/sigma-logsource-checker.py9CODE
LOWdocumentation/tools/sigma-logsource-checker.py10CODE
LOWdocumentation/tools/sigma-logsource-checker.py11CODE
LOWtests/test_rules.py20CODE
LOWtests/test_logsource.py13CODE
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOW…ud_indicator/540703fb-a874-4385-a9d6-7cd1bfab268c.json51 "CommandLine": "\"C:\\Users\\xodih\\.dev-env\\bin\\Runner.Listener.exe\" configure --url https://github.com/test-CODE
LOW…ud_indicator/540703fb-a874-4385-a9d6-7cd1bfab268c.json62 "ParentCommandLine": "C:\\WINDOWS\\system32\\cmd.exe /c \"\"C:\\Users\\xodih\\.dev-env\\config.cmd\" --url https:/CODE
Self-Referential Comments1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUM…ps_timestomp/c6438007-e081-42ce-9483-b067fbef33c3.json47 "ScriptBlockText": "r:'\n $username = Get-Credential\n $group = Read-Host -Prompt 'PCODE
Verbosity Indicators2 hits · 2 pts
SeverityFileLineSnippetContext
LOW…l_script/posh_ps_invoke_obfuscation_obfuscated_iex.yml4description: Detects all variations of obfuscated powershell IEX invocation code generated by Invoke-Obfuscation framewoCODE
LOW…hktl_invoke_obfuscation_obfuscated_iex_commandline.yml4description: Detects all variations of obfuscated powershell IEX invocation code generated by Invoke-Obfuscation framewoCODE