AI Slop Code Risk Monitor

hashcat/hashcat

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

World's fastest and most advanced password recovery utility

2.6 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for hashcat/hashcat, a C project with 27,214 GitHub stars. SynthScan examined 605,928 lines of code across 2332 source files, recording 1408 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 2.6 (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.6
Adjusted Signal
2.6
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
27.2K
Stars
C
Language
605.9K
Lines of Code
2.3K
Files
1.4K
Pattern Hits
2026-10-31
Scan Date
0.01
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 10.3/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.4/100 · LOW

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

Agent Over-Engineering Ratio 2.2/100 · LOW

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

PR Review Velocity Impact 12.5/100 · LOW

Which changes need focused human review? 1408 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 21MEDIUM 52LOW 1335

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 1408 distinct pattern matches across 17 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 Block1071 hits · 1022 pts
SeverityFileLineSnippetContext
LOWtools/mozilla2hashcat.py1#!/usr/bin/env python3COMMENT
LOWtools/sqlcipher2hashcat.pl1#!/usr/bin/env perlCOMMENT
LOWtools/bisq2hashcat.py1#!/usr/bin/env python3COMMENT
LOWtools/test_options.py1#!/usr/bin/env python3COMMENT
LOWtools/test_options.py21# ./tools/test_options.py run --base bf="-d 1" --phase pairs -j 16 --workdir sweep --out sweep.jsonlCOMMENT
LOWtools/requirements.txt1# Python packages the test modules under tools/test_modules need.COMMENT
LOWtools/metamask2hashcat.py1#!/usr/bin/env python3COMMENT
LOWtools/test_lookup.sh1#!/usr/bin/env bashCOMMENT
LOWtools/test_lookup.sh21#COMMENT
LOWtools/test_module_runner.py1#!/usr/bin/env python3COMMENT
LOWtools/bitwarden2hashcat.py1#!/usr/bin/env python3COMMENT
LOWtools/install_dependencies.sh1#!/usr/bin/env bashCOMMENT
LOWtools/pcfg_hints.py1#!/usr/bin/env python3COMMENT
LOWtools/pcfg_hints.py41 'Y': 'Years',COMMENT
LOWtools/test.py1121 continueCOMMENT
LOWtools/cachedata2hashcat.py1#!/usr/bin/env python3COMMENT
LOWtools/radmin3_to_hashcat.pl1#!/usr/bin/env perlCOMMENT
LOWtools/radmin3_to_hashcat.pl21#COMMENT
LOWtools/test_package.sh1#!/usr/bin/env bashCOMMENT
LOWtools/test_package.sh161 "$HC" -m "$FIRST" --hash-info 2>&1 | grep -iE 'built for plugin interface|cannot load|undefined|no such file' | head -COMMENT
LOWtools/test_package.sh201 return 1COMMENT
LOWtools/test_package.sh401# reading them means starting the candidate pipeline and that wants a backend platform.COMMENT
LOWtools/rar32hashcat.py1#!/usr/bin/env python3COMMENT
LOWtools/recursivefiles2sha256sum.pl1#!/usr/bin/env perlCOMMENT
LOWtools/routeros2hashcat.py1#!/usr/bin/env python3COMMENT
LOWtools/test_bridge.py1#!/usr/bin/env python3COMMENT
LOWtools/asan/gpu_sweep.sh1#!/usr/bin/env bashCOMMENT
LOWtools/asan/gpu_sweep.sh101# Count finding lines by a substring they actually contain. Each readsCOMMENT
LOWtools/asan/sweep.sh21COMMENT
LOWtools/asan/msan_sweep.sh1#!/usr/bin/env bashCOMMENT
LOWtools/asan/msan_sweep.sh21# that buffer is reported as use-of-uninitialized-value: a false positiveCOMMENT
LOWtools/asan/build.sh1#!/usr/bin/env bashCOMMENT
LOWtools/asan/parse_harness.c281 //COMMENT
LOWtools/asan/repro.sh1#!/usr/bin/env bashCOMMENT
LOWtools/asan/repro.sh101# SIGSTKSZ stopped being a compile-time constant and the runtime computes 0COMMENT
LOWtools/fuzz/seeds.sh1#!/usr/bin/env bashCOMMENT
LOWtools/fuzz/fuzz_mask.c21#include "common.h"COMMENT
LOWtools/fuzz/build.sh1#!/usr/bin/env bashCOMMENT
LOWtools/fuzz/fuzz_tokenizer.c101 const int attr = ((data[pos] << 8) | data[pos + 1]) & TOKEN_ATTR_MASK;COMMENT
LOWtools/compute_sanitizer/sweep_shim.sh1#!/usr/bin/env bashCOMMENT
LOWtools/test_modules/m99999.py1#!/usr/bin/env python3COMMENT
LOWtools/test_modules/m19900.py1#!/usr/bin/env python3COMMENT
LOWtools/test_modules/m35600.py1#!/usr/bin/env python3COMMENT
LOWtools/test_modules/m09000.py21# RandStuff(8) || RandHash(20) || Salt(20, unused) || IV(8, unused)COMMENT
LOWtools/test_modules/m19800.py1#!/usr/bin/env python3COMMENT
LOWtools/test_modules/m17020.py1#!/usr/bin/env python3COMMENT
LOWtools/test_modules/m17030.py1#!/usr/bin/env python3COMMENT
LOWtools/test_modules/m17010.py1#!/usr/bin/env python3COMMENT
LOWtools/test_modules/m17050.py1#!/usr/bin/env python3COMMENT
LOWtools/test_modules/m32700.py1#!/usr/bin/env python3COMMENT
LOWtools/test_modules/luks1.sh121# ripemd160_serpent-cbc-essiv_512COMMENT
LOWtools/test_modules/luks1.sh141# sha256_aes-cbc-essiv_512COMMENT
LOWtools/test_modules/luks1.sh161# whirlpool_aes-cbc-plain64_512COMMENT
LOWtools/test_modules/m29700.py1#!/usr/bin/env python3COMMENT
LOWtools/test_modules/m38500.py1#!/usr/bin/env python3COMMENT
LOWtools/test_modules/m16800.py1#!/usr/bin/env python3COMMENT
LOWtools/test_modules/m08300.py1#!/usr/bin/env python3COMMENT
LOWtools/test_modules/m38600.py1#!/usr/bin/env python3COMMENT
LOWtools/test_modules/m32500.py21# total, and the salt is 16 bytes. The key isCOMMENT
LOWtools/test_modules/m02000.py1#!/usr/bin/env python3COMMENT
1011 more matches not shown…
Empty Error Handlers17 hits · 85 pts
SeverityFileLineSnippetContext
HIGHtools/test_options.py919except OSError:CODE
HIGHtools/test_options.py1327except OSError:CODE
HIGHtools/bitwarden2hashcat.py111except (KeyError, TypeError):CODE
HIGHtools/bitwarden2hashcat.py121except KeyError:CODE
HIGHtools/bitwarden2hashcat.py131except KeyError:CODE
HIGHtools/test.py209except Exception:CODE
HIGHtools/test.py215except Exception:CODE
HIGHtools/test.py319except Exception:CODE
HIGHtools/test.py516except Exception:CODE
HIGHtools/test.py531except Exception:CODE
HIGHtools/test.py549except Exception:CODE
HIGHtools/test.py5787except OSError:CODE
HIGHtools/test.py6484except (AttributeError, ValueError):CODE
HIGHtools/test.py5554except OSError:CODE
HIGHtools/test.py221except Exception:CODE
HIGHtools/compute_sanitizer/run.py113except Exception:CODE
HIGHtools/test_modules/lib/pytwofish.py40except ImportError:CODE
AI Slop Vocabulary23 hits · 82 pts
SeverityFileLineSnippetContext
MEDIUMtools/test_options.py1750 # An option the base passes itself is tagged "harness" on that base, whatever its family.COMMENT
MEDIUMtools/test_options.py1901 # a run the harness could not make shows nothing about hashcatCOMMENT
MEDIUMtools/recursivefiles2sha256sum.pl4## This script was created to be used in conjunction with Hashcat mode 29700 (Keepass in keyfile only mode).COMMENT
MEDIUM⚡tools/asan/sweep.sh52 # fatal errors land on the harness's own stderr, recoverable ones in log_pathCOMMENT
MEDIUM⚡tools/asan/sweep.sh61 # The harness returns 1 when the sanitizer reported a finding, 2 when itCOMMENT
MEDIUM⚡tools/asan/sweep.sh63 # show up as text (a UBSan run has no callback into the harness), so it isCOMMENT
MEDIUMtools/asan/sweep.sh82 # rc 2 is the harness's own "could not run": a failed dlopen, a missingCOMMENT
MEDIUMtools/asan/sweep.sh84 # plugins). Any other nonzero rc is an unexpected harness failure. NeitherCOMMENT
MEDIUMtools/asan/msan_sweep.sh11# MSan-instrumented harness and links a PLAIN (uninstrumented) core.COMMENT
MEDIUMtools/asan/msan_sweep.sh13# IMPORTANT: this UNDER-reports by construction. Only the harness, the namedCOMMENT
MEDIUM⚡tools/asan/build.sh3# Build the fully-instrumented host-parser harness.COMMENT
MEDIUM⚡tools/asan/build.sh5# Everything is instrumented: the harness, the libhashcat core and the moduleCOMMENT
MEDIUM⚡tools/asan/build.sh8# harness linked against an uninstrumented core reports those runs as clean.COMMENT
MEDIUM⚡tools/asan/repro.sh4# harness instead of dlopen()ed.COMMENT
MEDIUM⚡tools/asan/repro.sh9# MSan harness must not dlopen an ASan-built plugin).COMMENT
MEDIUM⚡tools/asan/repro.sh11# The tradeoff: only the harness and the named module are instrumented. A bugCOMMENT
MEDIUMtools/asan/repro.sh113# argv[1] is ignored under -DSTATIC_MODULE, but the harness still expects itCOMMENT
MEDIUMtools/fuzz/build.sh79# hashconfig a parser sees, shared with the harness in tools/asan/COMMENT
MEDIUMtools/fuzz/build.sh132 # HC_CORE_BUILD. The rest of that file drives the feed and the backend, which the harness neverCOMMENT
MEDIUMtools/fuzz/build.sh217 # built and recompiles only the harness with FUZZ_RECIPE_B64. fuzz.yml finds it by theCOMMENT
MEDIUMtools/test_modules/m99999.py13# the length at 55. The compare harness' "invalid input" check cannot be met here and isCOMMENT
MEDIUM.github/workflows/fuzz_report.py25# leak is always reported from and the harness that called the parserCOMMENT
MEDIUMsrc/modules/scrypt_common.c173 // used 19/68 processors. Increasing the TMTO to utilize all 68 processorsCOMMENT
Excessive Try-Catch Wrapping59 hits · 81 pts
SeverityFileLineSnippetContext
LOWtools/test_options.py1294 except Exception as e:CODE
LOWtools/test_module_runner.py288 except Exception as exc:CODE
LOWtools/shiro1-to-hashcat.py28 except Exception as e:CODE
MEDIUMtools/test.py313def host_avail_mib():CODE
LOW⚡tools/test.py209 except Exception:CODE
LOW⚡tools/test.py215 except Exception:CODE
LOW⚡tools/test.py221 except Exception:CODE
LOW⚡tools/test.py516 except Exception:CODE
LOW⚡tools/test.py522 except Exception:CODE
LOW⚡tools/test.py531 except Exception:CODE
LOWtools/test.py278 except Exception:CODE
LOWtools/test.py319 except Exception:CODE
LOWtools/test.py334 except Exception:CODE
LOWtools/test.py351 except Exception:CODE
LOWtools/test.py549 except Exception:CODE
MEDIUMtools/cachedata2hashcat.py78 print(f"Error opening file: {e}")CODE
MEDIUM⚡tools/ppk2hashcat.py223 print(f"Error: File not found: {filename}", file=sys.stderr)CODE
MEDIUM⚡tools/ppk2hashcat.py225 print(f"Error parsing {filename}: {e}", file=sys.stderr)CODE
LOW⚡tools/ppk2hashcat.py226 except Exception as e:CODE
MEDIUM⚡tools/ppk2hashcat.py227 print(f"Error processing {filename}: {e}", file=sys.stderr)CODE
MEDIUMtools/routeros2hashcat.py552 print(f"Error: file too small: {path}", file=sys.stderr)CODE
MEDIUMtools/routeros2hashcat.py602 print(f"Error: unrecognized file format or no EC-SRP5 hashes: {path}",CODE
MEDIUMtools/routeros2hashcat.py629 print(f"Error: {input_path}: no such file or directory",CODE
MEDIUM⚡tools/routeros2hashcat.py641 print(f"Error: {input_path}: {e}", file=sys.stderr)CODE
LOW⚡tools/routeros2hashcat.py642 except Exception as e:CODE
MEDIUM⚡tools/routeros2hashcat.py643 print(f"Error: {input_path}: {e}", file=sys.stderr)CODE
LOWtools/test_bridge.py103 except Exception:CODE
LOWtools/compute_sanitizer/run.py113 except Exception:CODE
MEDIUMtools/compute_sanitizer/run.py49def sanity_check_binary(binary):CODE
LOWtools/compute_sanitizer/triage.py282 except Exception:CODE
LOWtools/compute_sanitizer/triage.py294 except Exception:CODE
LOWtools/compute_sanitizer/triage.py313 except Exception as e:CODE
MEDIUMtools/compute_sanitizer/triage.py279def run(args):CODE
MEDIUMtools/compute_sanitizer/triage.py290def _tool_version(cmd):CODE
MEDIUMtools/compute_sanitizer/triage.py307def analyze(log_path, repo_root, tool, test_name="", timestamp="", command=None,CODE
LOWtools/compute_sanitizer/report.py35 except Exception:CODE
LOWtools/test_modules/m28503.py189 except Exception:CODE
LOWtools/test_modules/m28503.py209 except Exception:CODE
LOWtools/test_modules/m02500.py198 except Exception:CODE
LOWtools/test_modules/m09000.py114 except Exception:CODE
LOWtools/test_modules/m28506.py153 except Exception:CODE
LOWtools/test_modules/m28506.py174 except Exception:CODE
LOWtools/test_modules/m02501.py204 except Exception:CODE
LOWtools/test_modules/m25500.py82 except Exception:CODE
LOWtools/test_modules/m30906.py153 except Exception:CODE
LOWtools/test_modules/m30902.py148 except Exception:CODE
LOWtools/test_modules/m30905.py153 except Exception:CODE
LOWtools/test_modules/m30901.py148 except Exception:CODE
LOWtools/test_modules/m32500.py90 except Exception:CODE
LOWtools/test_modules/m28505.py152 except Exception:CODE
LOWtools/test_modules/m28505.py173 except Exception:CODE
LOWtools/test_modules/m33400.py73 except Exception:CODE
LOWtools/test_modules/m40011.py72 except Exception:CODE
LOWtools/test_modules/m26600.py88 except Exception:CODE
LOWtools/test_modules/m28504.py191 except Exception:CODE
LOWtools/test_modules/m28504.py211 except Exception:CODE
LOWtools/test_modules/m26610.py89 except Exception:CODE
LOWtools/test_modules/m40054.py40 except Exception:CODE
LOWdocs/hashcat-plugin-development-guide.md185 except Exception:CODE
Deep Nesting78 hits · 64 pts
SeverityFileLineSnippetContext
LOWtools/mozilla2hashcat.py161CODE
LOWtools/apfs2hashcat.py441CODE
LOWtools/bisq2hashcat.py36CODE
LOWtools/test_options.py351CODE
LOWtools/test_options.py621CODE
LOWtools/test_options.py1024CODE
LOWtools/test_options.py1093CODE
LOWtools/test_options.py1148CODE
LOWtools/test_options.py1368CODE
LOWtools/test_options.py1472CODE
LOWtools/test_options.py1967CODE
LOWtools/test_options.py787CODE
LOWtools/test_options.py852CODE
LOWtools/openbsd_softraid2hashcat.py183CODE
LOWtools/gpg-ocb-aes2hashcat.py37CODE
LOWtools/metamask2hashcat.py23CODE
LOWtools/test_module_runner.py431CODE
LOWtools/test_module_runner.py578CODE
LOWtools/bitwarden2hashcat.py169CODE
LOWtools/test_pkzip_stream.py67CODE
LOWtools/keybag2hashcat.py99CODE
LOWtools/keybag2hashcat.py30CODE
LOWtools/keybag2hashcat.py58CODE
LOWtools/test.py313CODE
LOWtools/test.py340CODE
LOWtools/test.py1136CODE
LOWtools/test.py1543CODE
LOWtools/test.py1677CODE
LOWtools/test.py2035CODE
LOWtools/test.py2182CODE
LOWtools/test.py2302CODE
LOWtools/test.py2320CODE
LOWtools/test.py2394CODE
LOWtools/test.py2434CODE
LOWtools/test.py2517CODE
LOWtools/test.py2540CODE
LOWtools/test.py2654CODE
LOWtools/test.py2686CODE
LOWtools/test.py2801CODE
LOWtools/test.py2904CODE
LOWtools/test.py3305CODE
LOWtools/test.py3400CODE
LOWtools/test.py3497CODE
LOWtools/test.py4083CODE
LOWtools/test.py4546CODE
LOWtools/test.py4775CODE
LOWtools/test.py4866CODE
LOWtools/test.py5254CODE
LOWtools/test.py5603CODE
LOWtools/test.py5835CODE
LOWtools/test.py6467CODE
LOWtools/cryptoloop2hashcat.py35CODE
LOWtools/ppk2hashcat.py28CODE
LOWtools/krb5db2hashcat.py436CODE
LOWtools/routeros2hashcat.py56CODE
LOWtools/routeros2hashcat.py181CODE
LOWtools/routeros2hashcat.py217CODE
LOWtools/routeros2hashcat.py400CODE
LOWtools/routeros2hashcat.py608CODE
LOWtools/test_modules/m09000.py45CODE
18 more matches not shown…
Structural Annotation Overuse29 hits · 44 pts
SeverityFileLineSnippetContext
LOWBUILD_Android.md19### Step 1: Install DependenciesCOMMENT
LOWBUILD_Android.md33### Step 2: Verify OpenCL SupportCOMMENT
LOWBUILD_Android.md42### Step 3: Fix OpenCL Libraries (If Needed)COMMENT
LOWBUILD_Android.md84### Step 4: Clone and Build HashcatCOMMENT
LOWBUILD_Android.md92### Step 5: Verify BuildCOMMENT
LOWBUILD.md26### Step 1: Clone the Hashcat repositoryCOMMENT
LOWBUILD.md35### Step 2: Build HashcatCOMMENT
LOWdocs/hashcat-encrypted-plains.md13### Step 1: The customer creates a key pairCOMMENT
LOWdocs/hashcat-encrypted-plains.md27### Step 2: The operator cracks the hashCOMMENT
LOWdocs/hashcat-encrypted-plains.md68### Step 3: The customer decrypts the resultCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md206### Step 1: UnpackCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md215### Step 2: Install and compile hashcatCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md230### Step 3: a quick testCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md255### Step 4: Create your own reference implementationCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md435### Step 1: Give your plugin a unique attack numberCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md448### Step 2: Configure the moduleCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md547### Step 3: Define the structCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md593### Step 4: Define the temporary structCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md628### Step 5: Add the hash_decode() methodCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md744### Step 6: Add the hash_encode() methodCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md795### Step 7: Add the init () methodCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md820### Step 8: Gone through all of the steps? Let's compileCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md857### Step 9: Rename the templateCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md866### Step 10: Split your implementationCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md893### Step 11: Copy the structsCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md917### Step 12: Insert your attack number in the kernelCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md946### Step 13: Enter the init() methodCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md996### Step 14: Adjust the loop() methodCOMMENT
LOW…cs/plugin-development-workshop/Workshop-Syllabus-EN.md1044### Step 15: Fill the comp()COMMENT
Decorative Section Separators13 hits · 42 pts
SeverityFileLineSnippetContext
MEDIUMtools/compute_sanitizer/run.py134# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/compute_sanitizer/run.py136# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tools/compute_sanitizer/run.py172# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tools/compute_sanitizer/run.py174# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/compute_sanitizer/run.py202# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/compute_sanitizer/run.py204# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/compute_sanitizer/run.py349# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/compute_sanitizer/run.py351# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/compute_sanitizer/run.py435# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/compute_sanitizer/run.py437# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/test_modules/lib/pyserpent.py6## ================COMMENT
MEDIUMtools/test_modules/lib/pytwofish.py5## ==========COMMENT
MEDIUMtools/test_modules/lib/pytwofish.py31## ===========COMMENT
Hyper-Verbose Identifiers35 hits · 34 pts
SeverityFileLineSnippetContext
LOWtools/mozilla2hashcat.py142def is_decrypting_pbe_aes_without_password(prf, global_salt, entry_salt, iteration, iv, cipher_text):CODE
LOWtools/mozilla2hashcat.py161def extract_master_password_infos(db_filepath: str, db_version: int) -> MasterPasswordInfos:CODE
LOWtools/apfs2hashcat.py140def parse_keybag_entry_header(keybag_entry_header):CODE
LOWtools/apfs2hashcat.py147def parse_container_keybag_entries(key_entries, nkeys):CODE
LOWtools/apfs2hashcat.py180def parse_wrapped_kek_packed_object(wrapped_kek, kek_uuid, volume_uuid):CODE
LOWtools/apfs2hashcat.py237def parse_keybag_packed_value(keybag_packed_value, kek_uuid, volume_uuid):CODE
LOWtools/apfs2hashcat.py246def parse_volume_keybag_entries(key_entries, nkeys, volume_uuid):CODE
LOWtools/test.py3087def container_mask_from_password(pw, where):CODE
LOWtools/bitlocker2hashcat.py88def parse_aes_ccm_encrypted_key(data):CODE
LOWtools/bitlocker2hashcat.py98def parse_volume_header_block(data):CODE
LOWtools/bitlocker2hashcat.py166def parse_fve_metadata_header(block):CODE
LOWtools/test_modules/m28503.py176def module_get_random_password(word):CODE
LOWtools/test_modules/m99999.py26def module_get_random_password(word):CODE
LOWtools/test_modules/m31600.py22def module_get_random_password(word):CODE
LOWtools/test_modules/m28506.py140def module_get_random_password(word):CODE
LOWtools/test_modules/m28502.py150def module_get_random_password(word):CODE
LOWtools/test_modules/m02501.py25def module_get_random_password(word):CODE
LOWtools/test_modules/m30903.py101def module_get_random_password(word):CODE
LOWtools/test_modules/m25900.py21def device_authentication_code(password):CODE
LOWtools/test_modules/m25900.py46def generate_session_response_mac(secure_session_identifier, public_value_xor, key):CODE
LOWtools/test_modules/m30906.py117def module_get_random_password(word):CODE
LOWtools/test_modules/m25400.py39def pdf_compute_encryption_key_user(word, id_hex, o, P, R, enc):CODE
LOWtools/test_modules/m25400.py61def pdf_compute_encryption_key_owner(word, R):CODE
LOWtools/test_modules/m30902.py112def module_get_random_password(word):CODE
LOWtools/test_modules/m10510.py39def pdf_compute_encryption_key(word_buf, padding, id_hex, o, P):CODE
LOWtools/test_modules/m30905.py117def module_get_random_password(word):CODE
LOWtools/test_modules/m30901.py112def module_get_random_password(word):CODE
LOWtools/test_modules/m16801.py21def module_get_random_password(word):CODE
LOWtools/test_modules/m30904.py104def module_get_random_password(word):CODE
LOWtools/test_modules/m28505.py139def module_get_random_password(word):CODE
LOWtools/test_modules/m28501.py150def module_get_random_password(word):CODE
LOWtools/test_modules/m31500.py20def module_get_random_password(word):CODE
LOWtools/test_modules/m28504.py178def module_get_random_password(word):CODE
LOWtools/test_modules/lib/pyserpent.py170def inv_linear_transformation(x0, x1, x2, x3):CODE
LOW…orkflows/hashcat-example-hashes_machine-readable2md.py48def md_remove_backticks_and_pipes(msg):CODE
Unused Imports30 hits · 30 pts
SeverityFileLineSnippetContext
LOWtools/mozilla2hashcat.py24CODE
LOWtools/mozilla2hashcat.py25CODE
LOWtools/bisq2hashcat.py33CODE
LOWtools/exodus2hashcat.py10CODE
LOWtools/test_modules/m06800.py12CODE
LOWtools/test_modules/m10420.py11CODE
LOWtools/test_modules/m40020.py8CODE
LOWtools/test_modules/m34211.py9CODE
LOWtools/test_modules/m34201.py9CODE
LOWtools/test_modules/m34200.py8CODE
LOWtools/test_modules/lib/oldoffice.py13CODE
LOWtools/test_modules/lib/ike.py11CODE
LOWsrc/fpga/bcrypt/bcrypt_enigmax1_dma.py11CODE
LOWsrc/fpga/bcrypt/bcrypt_enigmax1_dma.py13CODE
LOWsrc/fpga/bcrypt/bcrypt_enigmax1_dma.py16CODE
LOWsrc/fpga/bcrypt/bcrypt_enigmax1_dma.py17CODE
LOWsrc/fpga/bcrypt/bcrypt_ypcb_dma.py11CODE
LOWsrc/fpga/bcrypt/bcrypt_ypcb_dma.py13CODE
LOWsrc/fpga/bcrypt/bcrypt_ypcb_dma.py15CODE
LOWsrc/fpga/bcrypt/bcrypt_ypcb_dma.py20CODE
LOWsrc/fpga/bcrypt/bcrypt_ypcb_dma.py21CODE
LOWsrc/fpga/bcrypt/bcrypt_zc706_dma.py11CODE
LOWsrc/fpga/bcrypt/bcrypt_zc706_dma.py13CODE
LOWsrc/fpga/bcrypt/bcrypt_zc706_dma.py14CODE
LOWsrc/fpga/bcrypt/bcrypt_zc706_dma.py19CODE
LOWsrc/fpga/bcrypt/bcrypt_zc706_dma.py20CODE
LOWsrc/fpga/bcrypt/platforms/enigma_x1.py7CODE
LOWsrc/fpga/bcrypt/gateware/bcrypt_dma_wrapper.py9CODE
LOWsrc/fpga/bcrypt/gateware/bcrypt_dma_wrapper.py10CODE
LOWsrc/fpga/bcrypt/gateware/bcrypt_dma_wrapper.py11CODE
AI Structural Patterns30 hits · 30 pts
SeverityFileLineSnippetContext
LOWtools/apfs2hashcat.py402CODE
LOWtools/test_options.py753CODE
LOWtools/compute_sanitizer/triage.py361CODE
LOWtools/test_modules/m37600.py33CODE
LOWtools/test_modules/m25400.py76CODE
LOWtools/test_modules/m22000.py290CODE
LOWtools/test_modules/m22001.py285CODE
LOWtools/test_modules/m37801.py22CODE
LOWtools/test_modules/m11400.py24CODE
LOWtools/test_modules/lib/shavite.py139CODE
LOWtools/test_modules/lib/shavite.py225CODE
LOWtools/test_modules/lib/hamsi.py333CODE
LOWtools/test_modules/lib/edonr.py133CODE
LOWtools/test_modules/lib/tiger.py75CODE
LOWtools/test_modules/lib/md6.py53CODE
LOWtools/test_modules/lib/cubehash.py69CODE
LOWtools/test_modules/lib/bmw.py171CODE
LOWtools/test_modules/lib/libcrypt.py60CODE
LOWtools/test_modules/lib/shabal.py121CODE
LOWtools/test_modules/lib/blake.py113CODE
LOWtools/test_modules/lib/blake.py152CODE
LOWtools/test_modules/lib/has160.py73CODE
LOWtools/test_modules/lib/haval.py116CODE
LOWtools/test_modules/lib/skein.py125CODE
LOWextra/fpga/zc706-sdboot/make_bootbin.py48CODE
LOWextra/fpga/zc706-sdboot/make_bootbin.py247CODE
LOWsrc/fpga/bcrypt/bcrypt_enigmax1_dma.py65CODE
LOWsrc/fpga/bcrypt/bcrypt_ypcb_dma.py89CODE
LOWsrc/fpga/bcrypt/bcrypt_zc706_dma.py70CODE
LOWsrc/fpga/bcrypt/gateware/bcrypt_dma_wrapper.py15CODE
Cross-Language Confusion3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHtools/compute_sanitizer/run.py6 build make clean && make DEBUG=1, produce ./hashcat-sanitizerSTRING
HIGH⚡tools/compute_sanitizer/run.py168 print(" make clean && make -j$(nproc)")CODE
HIGHsrc/fpga/bcrypt/bcrypt_ztex213_usb.py139 lines.append ("set mmcms [get_cells -hier -filter {REF_NAME == MMCME2_ADV || REF_NAME == MMCME2_BASE}]")CODE
Example Usage Blocks6 hits · 10 pts
SeverityFileLineSnippetContext
LOWtools/asan/gpu_sweep.sh10# Usage:COMMENT
LOWtools/asan/sweep.sh6# Usage:COMMENT
LOW⚡tools/asan/build.sh10# Usage:COMMENT
LOW⚡tools/asan/repro.sh16# Usage:COMMENT
LOWtools/fuzz/seeds.sh9# Usage:COMMENT
LOWtools/fuzz/build.sh10# Usage:COMMENT
Slop Phrases5 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMtools/metamask2hashcat.py9# Extract metamask vault from browser and save to file, then you can use this toolCOMMENT
LOWdeps/phc-winner-argon2-20190702/_hashcat/opt.c215 /* Don't forget to generate the first block of addresses: */COMMENT
LOWdeps/phc-winner-argon2-20190702/_hashcat/ref.c126 /* Don't forget to generate the first block of addresses: */COMMENT
LOWdeps/phc-winner-argon2-20190702/src/opt.c215 /* Don't forget to generate the first block of addresses: */COMMENT
LOWdeps/phc-winner-argon2-20190702/src/ref.c126 /* Don't forget to generate the first block of addresses: */COMMENT
Redundant / Tautological Comments5 hits · 8 pts
SeverityFileLineSnippetContext
LOWtools/apfs2hashcat.py416 # Check if this block has a valid NXSB headerCOMMENT
LOWtools/radmin3_to_hashcat.pl118 # Read the file line by lineCOMMENT
LOWtools/radmin3_to_hashcat.pl122 # Check if the line is a section headerCOMMENT
LOWtools/radmin3_to_hashcat.pl158# Loop over the dataCOMMENT
LOWtools/routeros2hashcat.py465 # Read filenameCOMMENT
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHsrc/outfile.c850 // Every other field stays as requested, so --left still prints the hash alone.COMMENT
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMtools/keybag2hashcat.py100 # Create the argument parserCOMMENT
Verbosity Indicators2 hits · 3 pts
SeverityFileLineSnippetContext
LOWsrc/backend.c1277 // Now we need to check if this an AMD vendor, because this is when the problems startCOMMENT
LOWsrc/modules/module_13500.c138 /* we need to check if we can precompute some of the data --COMMENT