Repository Analysis

openwall/john

John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs

4.1 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of openwall/john, a C project with 13,375 GitHub stars. SynthScan v2.0 examined 618,002 lines of code across 1439 source files, recording 2179 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 4.1 places this repository in the Likely human-written band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

4.1
Adjusted Score
4.1
Raw Score
100%
Time Factor
2026-07-07
Last Push
13.4K
Stars
C
Language
618.0K
Lines of Code
1.4K
Files
2.2K
Pattern Hits
2026-07-14
Scan Date
0.01
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 18MEDIUM 191LOW 1970

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 2179 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Over-Commented Block1764 hits · 1744 pts
SeverityFileLineSnippetContext
LOW.pre-commit.sh1#!/bin/shCOMMENT
LOW.ci/appveyor.yml1######################################################################COMMENT
LOWdoc/DYNAMIC_COMPILER_FORMATS.md141Added user 'user' to file '~/jboss-as-7.1.1.Final/standalone/configuration/mgmt-users.properties'COMMENT
LOWdoc/Auditing-Kerio-Connect.md41#!/usr/bin/env pythonCOMMENT
LOWdoc/Auditing-Kerio-Connect.md61# D3S:c36e4be2280fa230aa5d4a9de5aef11af0cdb947f0ff2757COMMENT
LOWdoc/extras/AddressSanitizer-HOWTO.txt41 #7 0x405df0 (/home/fd/git/JtR/run/john+0x405df0)COMMENT
LOWrun/pgpdisk2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/keplr2john.py1#!/usr/bin/env python3COMMENT
LOWrun/keplr2john.py101 # 'crypto':COMMENT
LOWrun/androidbackup2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/coinomi2john.py1#!/usr/bin/env python3COMMENT
LOWrun/staroffice2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/sap2john.pl1#!/usr/bin/env perlCOMMENT
LOWrun/sap2john.pl21# If the SAP user names (which work as salts for CODVN A, B, D, E, F)COMMENT
LOWrun/sap2john.pl41#COMMENT
LOWrun/sap2john.pl61# be considered as valid CODVN B hashes by the current sapB_fmt_plug.cCOMMENT
LOWrun/keystore2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/mcafee_epo2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/mcafee_epo2john.py21#COMMENT
LOWrun/pgpwde2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/axcrypt2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/unrule.pl1#!/usr/bin/env perlCOMMENT
LOWrun/signal2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/signal2john.py41# of this software and associated documentation files (the "Software"), to dealCOMMENT
LOWrun/test_tezos2john.py1#!/usr/bin/env python3COMMENT
LOWrun/androidfde2john.py41import structCOMMENT
LOWrun/androidfde2john.py81# __le32 flags; /* See above */COMMENT
LOWrun/cisco2john.pl1#!/usr/bin/env perlCOMMENT
LOWrun/cisco2john.pl21# enable_secret_level_2:5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8COMMENT
LOWrun/ejabberd2john.py1#! /usr/bin/env pythonCOMMENT
LOWrun/radius2john.pl1#!/usr/bin/env perlCOMMENT
LOWrun/openbsd_softraid2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/keychain2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/keychain2john.py21#COMMENT
LOWrun/pdf2john.pl1#!/usr/bin/env perlCOMMENT
LOWrun/radius2john.py1#!/usr/bin/env python3COMMENT
LOWrun/radius2john.py21# ---COMMENT
LOWrun/sspr2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/sspr2john.py61 sys.stderr.write("This utility requires ldap3 python package to be installed.\n")COMMENT
LOWrun/electrum2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/zed2john.py1#!/usr/bin/env python3COMMENT
LOWrun/lotus2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/bitcoin2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/telegram2john.py1#!/usr/bin/env python3COMMENT
LOWrun/telegram2john.py21#COMMENT
LOWrun/telegram2john.py241 return FalseCOMMENT
LOWrun/apop2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/7z2john.pl21COMMENT
LOWrun/7z2john.pl41# the fields of this format are separate by the dollar ("$") sign:COMMENT
LOWrun/7z2john.pl61# [length of encrypted data] # the encrypted data length in bytesCOMMENT
LOWrun/7z2john.pl81# This field is the first field after the hash signature (i.e. after "$7z$).COMMENT
LOWrun/7z2john.pl101# - 2 means that the data must be post-processed using BCJ2 (four data streams needed)COMMENT
LOWrun/7z2john.pl121# - the first attribute/item/codec for both fields (compressor and preprocessor attributes) needs no type and order inCOMMENT
LOWrun/pgpsda2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/netntlm.pl1#!/usr/bin/env perlCOMMENT
LOWrun/kirbi2john.py1#!/usr/bin/env python3COMMENT
LOWrun/ethereum2john.py1#!/usr/bin/env pythonCOMMENT
LOWrun/kdcdump2john.py1#! /usr/bin/env pythonCOMMENT
LOWrun/pse2john.py1#!/usr/bin/env python2COMMENT
LOWrun/multibit2john.py1#!/usr/bin/env pythonCOMMENT
1704 more matches not shown…
Decorative Section Separators147 hits · 345 pts
SeverityFileLineSnippetContext
MEDIUMrun/pdf2john.pl2#------------------------------------------------------------------------------COMMENT
MEDIUMrun/pdf2john.pl11#------------------------------------------------------------------------------COMMENT
MEDIUMrun/pdf2john.pl261#------------------------------------------------------------------------------COMMENT
MEDIUMrun/pdf2john.pl1398#------------------------------------------------------------------------------COMMENT
MEDIUMrun/pdf2john.pl1587#------------------------------------------------------------------------------COMMENT
MEDIUMrun/pdf2john.pl1596#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm1#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm15#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm448#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm456#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm486#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm568#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm581#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm655#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm715#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm887#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm950#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm1067#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm1085#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm1111#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm1337#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm1380#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm1401#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm1418#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm1428#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm1721#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm1933#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/PDF.pm1947#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/RandomAccess.pm1#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/RandomAccess.pm30#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/RandomAccess.pm48#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/RandomAccess.pm84#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/RandomAccess.pm93#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/RandomAccess.pm112#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/RandomAccess.pm128#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/RandomAccess.pm161#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/RandomAccess.pm235#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/RandomAccess.pm299#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/RandomAccess.pm315#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/RandomAccess.pm324#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/RandomAccess.pm377#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm4565#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm4574#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm4583#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm1#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm14#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm842#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm867#==============================================================================COMMENT
MEDIUMrun/lib/ExifTool.pm892#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm936#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm1018#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm1093#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm1369#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm1472#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm1502#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm1573#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm1587#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm1597#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm1851#------------------------------------------------------------------------------COMMENT
MEDIUMrun/lib/ExifTool.pm1865#------------------------------------------------------------------------------COMMENT
87 more matches not shown…
Deep Nesting89 hits · 88 pts
SeverityFileLineSnippetContext
LOWrun/staroffice2john.py23CODE
LOWrun/keystore2john.py79CODE
LOWrun/signal2john.py405CODE
LOWrun/signal2john.py154CODE
LOWrun/fvde2john.py305CODE
LOWrun/fvde2john.py352CODE
LOWrun/ejabberd2john.py59CODE
LOWrun/pem2john.py56CODE
LOWrun/radius2john.py65CODE
LOWrun/sspr2john.py433CODE
LOWrun/sspr2john.py547CODE
LOWrun/sspr2john.py182CODE
LOWrun/electrum2john.py57CODE
LOWrun/telegram2john.py284CODE
LOWrun/ethereum2john.py53CODE
LOWrun/pfx2john.py38CODE
LOWrun/multibit2john.py26CODE
LOWrun/cardano2john.py34CODE
LOWrun/ssh2john.py50CODE
LOWrun/ssh2john.py72CODE
LOWrun/aem2john.py39CODE
LOWrun/1password2john.py241CODE
LOWrun/mac2john.py154CODE
LOWrun/mac2john.py186CODE
LOWrun/mac2john.py321CODE
LOWrun/mac2john.py499CODE
LOWrun/libreoffice2john.py27CODE
LOWrun/office2john.py32CODE
LOWrun/office2john.py170CODE
LOWrun/office2john.py246CODE
LOWrun/office2john.py357CODE
LOWrun/office2john.py439CODE
LOWrun/office2john.py657CODE
LOWrun/krb2john.py43CODE
LOWrun/DPAPImk2john.py410CODE
LOWrun/DPAPImk2john.py608CODE
LOWrun/pcap2john.py75CODE
LOWrun/pcap2john.py240CODE
LOWrun/pcap2john.py316CODE
LOWrun/pcap2john.py484CODE
LOWrun/pcap2john.py641CODE
LOWrun/pcap2john.py689CODE
LOWrun/pcap2john.py842CODE
LOWrun/pcap2john.py933CODE
LOWrun/pcap2john.py972CODE
LOWrun/pcap2john.py1093CODE
LOWrun/pcap2john.py1164CODE
LOWrun/pcap2john.py1239CODE
LOWrun/pcap2john.py1327CODE
LOWrun/pcap2john.py122CODE
LOWrun/pcap2john.py139CODE
LOWrun/aix2john.py24CODE
LOWrun/ecryptfs2john.py18CODE
LOWrun/bks2john.py97CODE
LOWrun/openssl2john.py24CODE
LOWrun/bitwarden2john.py85CODE
LOWrun/ccl_chrome_indexeddb/ccl_leveldb.py295CODE
LOWrun/ccl_chrome_indexeddb/ccl_leveldb.py335CODE
LOWrun/ccl_chrome_indexeddb/ccl_leveldb.py405CODE
LOWrun/ccl_chrome_indexeddb/ccl_leveldb.py491CODE
29 more matches not shown…
Excessive Try-Catch Wrapping41 hits · 81 pts
SeverityFileLineSnippetContext
MEDIUMrun/keplr2john.py138 print(f"Error: kdf '{key_store['crypto']['kdf']}' different from 'scrypt'", file=sys.stderr)CODE
MEDIUMrun/keplr2john.py145 print(f"Error: kdfparams:dklen '{key_store['crypto']['kdfparams']['dklen']}' different from 32", filCODE
MEDIUMrun/keplr2john.py148 print(f"Error: kdfparams:n '{key_store['crypto']['kdfparams']['n']}' different from 131072", file=syCODE
MEDIUMrun/keplr2john.py151 print(f"Error: kdfparams:p '{key_store['crypto']['kdfparams']['p']}' different from 1", file=sys.stdCODE
MEDIUMrun/keplr2john.py154 print(f"Error: kdfparams:r '{key_store['crypto']['kdfparams']['r']}' different from 8", file=sys.stdCODE
MEDIUMrun/keplr2john.py159 print("Error: No username found", file=sys.stderr)CODE
MEDIUMrun/keplr2john.py165 print("Error: No ciphertext found", file=sys.stderr)CODE
MEDIUMrun/keplr2john.py169 print("Error: Ciphertext not in hexadecimal format", file=sys.stderr)CODE
MEDIUMrun/keplr2john.py174 print("Error: No salt found", file=sys.stderr)CODE
MEDIUMrun/keplr2john.py178 print("Error: Salt not in hexadecimal format", file=sys.stderr)CODE
MEDIUMrun/keplr2john.py181 print(f"Error: Salt size is {len(salt_hex)//2} and should be 32", file=sys.stderr)CODE
MEDIUMrun/keplr2john.py186 print("Error: No mac found", file=sys.stderr)CODE
MEDIUMrun/keplr2john.py190 print("Error: MAC not in hexadecimal format", file=sys.stderr)CODE
MEDIUMrun/keplr2john.py193 print(f"Error: Salt size is {len(mac_hex)//2} and should be 32", file=sys.stderr)CODE
MEDIUMrun/keplr2john.py39 print('Error: Too few or too much parameters', file=sys.stderr)CODE
MEDIUMrun/keplr2john.py63 print(f'Error loading database: {e}', file=sys.stderr)CODE
MEDIUMrun/keplr2john.py125 print("Error: No crypto found", file=sys.stderr)CODE
MEDIUMrun/keplr2john.py269 print(f'Error testing supplied password: {e}', file=sys.stderr)CODE
LOWrun/keplr2john.py62except Exception as e:CODE
LOWrun/keplr2john.py268except Exception as e:CODE
MEDIUMrun/bitlocker2john.py63 print("Error reading out of bounds of file, exiting.", file=sys.stderr)CODE
LOWrun/gitea2john.py38 except Exception:CODE
LOWrun/bitcoin2john.py192 except Exception:CODE
MEDIUMrun/bitcoin2john.py96def read_bytes(self, length):CODE
LOWrun/truecrypt2john.py30 except Exception as e:CODE
MEDIUMrun/truecrypt2john.py27def process_file(filename, keyfiles, options):CODE
LOWrun/mac2john.py179 except Exception as e:CODE
LOWrun/mac2john.py647 except Exception:CODE
MEDIUMrun/mac2john.py314def endOffsetProtection(self, offset):CODE
LOWrun/office2john.py697 except Exception:CODE
MEDIUMrun/netscreen.py107 print("Error in input file.", file=sys.stderr)CODE
LOWrun/pcap2john.py1407 except Exception:CODE
MEDIUMrun/ccl_chrome_indexeddb/ccl_chromium_sessionstorage.py144 print(f"Error decoding value for {key}")CODE
MEDIUMrun/ccl_chrome_indexeddb/ccl_chromium_localstorage.py161 print(f"Error decoding record value at seq no {record.seq}; "CODE
LOWrun/ccl_chrome_indexeddb/ccl_chromium_indexeddb.py460 except Exception:CODE
LOWrun/dns/message.py868 except Exception:CODE
LOWrun/dns/message.py901 except Exception:CODE
LOWrun/dns/message.py914 except Exception:CODE
LOWrun/dns/name.py120 except Exception as e:CODE
LOWrun/dns/name.py159 except Exception as e:CODE
MEDIUMsrc/opencl_generate_dynamic_loader.py117 print("Error parsing CL.h header file")CODE
Cross-File Repetition10 hits · 50 pts
SeverityFileLineSnippetContext
HIGHrun/pfx2john.py0copyright 2020, ccl forensics permission is hereby granted, free of charge, to any person obtaining a copy of this softwSTRING
HIGHrun/ccl_chrome_indexeddb/ccl_leveldb.py0copyright 2020, ccl forensics permission is hereby granted, free of charge, to any person obtaining a copy of this softwSTRING
HIGHrun/ccl_chrome_indexeddb/ccl_chromium_indexeddb.py0copyright 2020, ccl forensics permission is hereby granted, free of charge, to any person obtaining a copy of this softwSTRING
HIGHrun/ccl_chrome_indexeddb/ccl_chromium_sessionstorage.py0copyright 2020, ccl forensics permission is hereby granted, free of charge, to any person obtaining a copy of this softwSTRING
HIGHrun/ccl_chrome_indexeddb/ccl_chromium_localstorage.py0copyright 2020, ccl forensics permission is hereby granted, free of charge, to any person obtaining a copy of this softwSTRING
HIGH…/ccl_chrome_indexeddb/Chromium_dump_session_storage.py0copyright 2020, ccl forensics permission is hereby granted, free of charge, to any person obtaining a copy of this softwSTRING
HIGHrun/ccl_chrome_indexeddb/Chromium_dump_local_storage.py0copyright 2020, ccl forensics permission is hereby granted, free of charge, to any person obtaining a copy of this softwSTRING
HIGHrun/ccl_chrome_indexeddb/ccl_simplesnappy.py0copyright 2020, ccl forensics permission is hereby granted, free of charge, to any person obtaining a copy of this softwSTRING
HIGH…n/ccl_chrome_indexeddb/ccl_blink_value_deserializer.py0copyright 2020, ccl forensics permission is hereby granted, free of charge, to any person obtaining a copy of this softwSTRING
HIGHrun/ccl_chrome_indexeddb/ccl_v8_value_deserializer.py0copyright 2020, ccl forensics permission is hereby granted, free of charge, to any person obtaining a copy of this softwSTRING
Unused Imports36 hits · 36 pts
SeverityFileLineSnippetContext
LOWrun/pgpdisk2john.py14CODE
LOWrun/coinomi2john.py30CODE
LOWrun/mosquitto2john.py11CODE
LOWrun/mosquitto2john.py11CODE
LOWrun/mosquitto2john.py12CODE
LOWrun/mosquitto2john.py13CODE
LOWrun/pgpwde2john.py14CODE
LOWrun/pgpwde2john.py17CODE
LOWrun/signal2john.py25CODE
LOWrun/signal2john.py27CODE
LOWrun/test_tezos2john.py25CODE
LOWrun/test_tezos2john.py28CODE
LOWrun/test_tezos2john.py29CODE
LOWrun/test_tezos2john.py30CODE
LOWrun/test_tezos2john.py31CODE
LOWrun/test_tezos2john.py32CODE
LOWrun/test_tezos2john.py33CODE
LOWrun/test_tezos2john.py36CODE
LOWrun/hccapx2john.py17CODE
LOWrun/zed2john.py17CODE
LOWrun/zed2john.py19CODE
LOWrun/zed2john.py21CODE
LOWrun/zed2john.py22CODE
LOWrun/apop2john.py22CODE
LOWrun/apop2john.py15CODE
LOWrun/oubliette2john.py11CODE
LOWrun/multibit2john.py23CODE
LOWrun/mac2john.py90CODE
LOWrun/mac2john.py92CODE
LOWrun/mac2john.py612CODE
LOWrun/vmx2john.py14CODE
LOWrun/adxcsouf2john.py35CODE
LOWrun/pcap2john.py59CODE
LOWrun/pcap2john.py68CODE
LOWrun/tezos2john.py46CODE
LOWrun/dns/message.py18CODE
Cross-Language Confusion (JS/TS)4 hits · 30 pts
SeverityFileLineSnippetContext
HIGHrun/mongodb2john.js78 print(c['user'] + '-' + c['db'] + ':' + '$mongodb$0$' + c['user'] + '$' + c['credentials']['MONGODB-CR']);CODE
HIGHrun/mongodb2john.js79 print(c['user'] + ':' + '$dynamic_1550$' + c['credentials']['MONGODB-CR']);CODE
HIGHrun/mongodb2john.js85 print(c['user'] + '-' + c['db'] + ':' + shash);CODE
HIGHrun/mongodb2john.js90 print(c['user'] + '-' + c['db'] + ':' + shash);CODE
Self-Referential Comments13 hits · 28 pts
SeverityFileLineSnippetContext
MEDIUMrun/coinomi2john.py10# This file is part of btcrecover.COMMENT
MEDIUMrun/ssh2john.py15# This file is part of ssh.COMMENT
MEDIUMrun/DPAPImk2john.py9# This file is part of DPAPIckCOMMENT
MEDIUMrun/DPAPImk2john.py43 """This class is a helper for parsing binary structures."""STRING
MEDIUMrun/DPAPImk2john.py199 """This class is used to wrap Microsoft algorithm IDs with M2Crypto"""STRING
MEDIUMrun/DPAPImk2john.py361 """This class represents a MasterKey block contained in a MasterKeyFile"""STRING
MEDIUMrun/DPAPImk2john.py500 """This class represents a masterkey file."""STRING
MEDIUMrun/DPAPImk2john.py587 """This class is the pivot for using DPAPIck. It manages all the DPAPISTRING
MEDIUMrun/fuzz_option.pl3# This file is part of John the Ripper password cracker,COMMENT
MEDIUMrun/lib/ExifTool.pm58# The following functions defined in ExifTool::Writer are declaredCOMMENT
MEDIUMrun/lib/ExifTool.pm2314# Initialize member variables for reading or writing a new fileCOMMENT
MEDIUMsrc/best.sh3# This file is part of John the Ripper password cracker,COMMENT
MEDIUMsrc/Unicode/mkdumb.pl3# Create an array of every Unicode character, from official Unicode DatabaseCOMMENT
Hyper-Verbose Identifiers23 hits · 23 pts
SeverityFileLineSnippetContext
LOWrun/bitlocker2john.py104def parse_aes_ccm_encrypted_key(data):CODE
LOWrun/bitlocker2john.py114def parse_volume_header_block(data):CODE
LOWrun/bitlocker2john.py185def parse_fve_metadata_header_data(header_data):CODE
LOWrun/bitlocker2john.py191def parse_fve_metadata_header(block):CODE
LOWrun/fvde2john.py162def get_all_partitions_of_type(partition_dict, part_type):CODE
LOWrun/fvde2john.py227def parse_metadata_block_header(metadata_block_header):CODE
LOWrun/fvde2john.py256def parse_volume_group_descriptor(volume_group_descriptor):CODE
LOWrun/zed2john.py87def parse_decode_global_properties(filename):CODE
LOWrun/telegram2john.py125def is_correct_ige_decryption(file_path, key, data):CODE
LOWrun/kirbi2john.py24def extract_ticket_from_kirbi(filename):CODE
LOWrun/pcap2john.py1293def pcap_parser_http_authorization(fname):CODE
LOWrun/pkcs12kdf.py67 def generate_derived_parameters(self, id):CODE
LOWrun/tezos2john.py66def from_int_representation_to_bytes(a):CODE
LOWrun/ccl_chrome_indexeddb/ccl_leveldb.py73def read_length_prefixed_blob(stream: typing.BinaryIO):CODE
LOWrun/ccl_chrome_indexeddb/ccl_chromium_localstorage.py256 def iter_records_for_storage_key(self, storage_key) -> typing.Iterable[LocalStorageRecord]:CODE
LOWrun/ccl_chrome_indexeddb/ccl_chromium_localstorage.py268 def iter_records_for_script_key(self, storage_key, script_key) -> typing.Iterable[LocalStorageRecord]:CODE
LOWrun/ccl_chrome_indexeddb/ccl_chromium_localstorage.py288 def iter_metadata_for_storage_key(self, storage_key: str) -> typing.Iterable[StorageMetadata]:CODE
LOWrun/ccl_chrome_indexeddb/ccl_chromium_indexeddb.py360 def get_object_store_metadata(self, db_id: int, obj_store_id: int, meta_type: ObjectStoreMetadataType):CODE
LOWrun/ccl_chrome_indexeddb/ccl_chromium_indexeddb.py376 def _get_raw_database_metadata(self, live_only=True):CODE
LOWrun/ccl_chrome_indexeddb/ccl_chromium_indexeddb.py397 def _get_raw_object_store_metadata(self, live_only=True):CODE
LOWrun/ccl_chrome_indexeddb/ccl_v8_value_deserializer.py335 def _read_object_by_reference(self) -> typing.Any:CODE
LOWrun/ccl_chrome_indexeddb/ccl_v8_value_deserializer.py367 def _read_js_object_properties(self, end_tag) -> typing.Iterable[typing.Tuple[typing.Any, typing.Any]]:CODE
LOWrun/ccl_chrome_indexeddb/ccl_v8_value_deserializer.py502 def _wrap_js_array_buffer_view(self, raw: bytes) -> tuple:CODE
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippetContext
HIGHsrc/dynamic_big_crypt_generated.c5 * NOTE. This file IS 100% auto-generated code.COMMENT
HIGHsrc/dynamic_big_crypt_generator.sh17 * NOTE. This file IS 100% auto-generated code.COMMENT
AI Slop Vocabulary7 hits · 13 pts
SeverityFileLineSnippetContext
LOWrun/fvde2john.py306 o = offsets[0] # all metadata blocks equal so just use firstCODE
LOWrun/pdf2john.pl1598# Inputs: 0) ExifTool ref, 1) list ref to just return full file namesCOMMENT
MEDIUMrun/netntlm.pl240 # Add custom wordlist to utilize NTLM hash for character case crackingCOMMENT
MEDIUMrun/krb2john.py136 spnps = msg.xpath('.//field[@name="kerberos.SNameString"]') # is this robust enough?CODE
MEDIUMrun/krb2john.py136 spnps = msg.xpath('.//field[@name="kerberos.SNameString"]') # is this robust enough?CODE
LOWrun/pass_gen.pl729# if the 'magic' option -tstall is used, we simply call a function that callsCOMMENT
LOWrun/lib/RandomAccess.pm25# May also be used for string i/o (just pass a scalar reference)COMMENT
Cross-Language Confusion2 hits · 12 pts
SeverityFileLineSnippetContext
HIGHrun/mac2john.py337 # bool, null, or fill byteCOMMENT
HIGHsrc/opencl_generate_dynamic_loader.py72 if ((!num_entries && platforms) || (!num_platforms && !platforms))CODE
Redundant / Tautological Comments7 hits · 10 pts
SeverityFileLineSnippetContext
LOWrun/deepsound2john.py64 # Check if it's a .wav fileCOMMENT
LOWrun/ccache2john.py767 # Check if you've reached the end of the file. If not get the next credentialCOMMENT
LOWrun/ecryptfs2john.py28 version = f.read(2) # Read file versionCODE
LOWrun/tezos2john.py183### Check if the provided seed words conform to the Tezos ICO rulesCOMMENT
LOWrun/tezos2john.py224### Check if the seed words form a valid checksum. All ICO wallets have a valid seed checksum.COMMENT
LOWrun/tezos2john.py290 #Check if it is a valid email addressCOMMENT
LOWsrc/best.sh52# Check if bitslice DES is fasterCOMMENT
Fake / Example Data8 hits · 10 pts
SeverityFileLineSnippetContext
LOWsrc/mkv.c355 char *dummy_token = NULL;CODE
LOWsrc/mkv.c392 dummy_token = strtokm(NULL, ":");CODE
LOWsrc/mkv.c393 if (dummy_token) {CODE
LOWsrc/mkv.c397 " %s\n", dummy_token);CODE
LOWsrc/formats.c1670 char fake_user[5] = "john";CODE
LOWsrc/formats.c1682 flds[0] = fake_user;CODE
LOWsrc/formats.c1956 char fake_user[5] = "john";CODE
LOWsrc/formats.c1980 flds[0] = fake_user;CODE
AI Structural Patterns9 hits · 9 pts
SeverityFileLineSnippetContext
LOWrun/signal2john.py405CODE
LOWrun/signal2john.py100CODE
LOWrun/fvde2john.py184CODE
LOWrun/sspr2john.py433CODE
LOWrun/sspr2john.py128CODE
LOWrun/mac2john.py397CODE
LOWrun/tezos2john.py116CODE
LOW…n/ccl_chrome_indexeddb/ccl_blink_value_deserializer.py163CODE
LOWrun/dns/message.py716CODE
Slop Phrases4 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMsrc/sapB_fmt_plug.c5 * please note: this code is in a "works for me"-state, feel free to modify/speed up/clean/whatever it...COMMENT
LOWsrc/argon2_opt_plug.c223 /* Don't forget to generate the first block of addresses: */COMMENT
MEDIUMsrc/sapG_fmt_plug.c6 * Please note: this code is in a "works for me"-state, feel free to modify/speed up/clean/whatever it...COMMENT
LOWsrc/argon2_ref_plug.c134 /* Don't forget to generate the first block of addresses: */COMMENT
Verbosity Indicators4 hits · 8 pts
SeverityFileLineSnippetContext
LOWrun/pkcs12kdf.py111 # Step 1: Construct a string, D (the "diversifier"), by concatenating v copies of ID.COMMENT
LOWrun/pkcs12kdf.py117 # Step 2: Concatenate copies of the salt, s, together to create a string S of length v * [s/v] bits (theCOMMENT
LOWrun/pkcs12kdf.py132 # Step 3: Concatenate copies of the password, p, together to create a string P of length v * [p/v] bitsCOMMENT
LOWrun/pkcs12kdf.py147 # Step 4: Set I=S||P to be the concatenation of S and P.COMMENT
Structural Annotation Overuse4 hits · 8 pts
SeverityFileLineSnippetContext
LOWrun/pkcs12kdf.py111 # Step 1: Construct a string, D (the "diversifier"), by concatenating v copies of ID.COMMENT
LOWrun/pkcs12kdf.py117 # Step 2: Concatenate copies of the salt, s, together to create a string S of length v * [s/v] bits (theCOMMENT
LOWrun/pkcs12kdf.py132 # Step 3: Concatenate copies of the password, p, together to create a string P of length v * [p/v] bitsCOMMENT
LOWrun/pkcs12kdf.py147 # Step 4: Set I=S||P to be the concatenation of S and P.COMMENT
Modern Structural Boilerplate3 hits · 3 pts
SeverityFileLineSnippetContext
LOWrun/pdf2john.py20logger = logging.getLogger(__name__)CODE
LOWrun/mac2john.py110__all__ = [CODE
LOWrun/dns/__init__.py18__all__ = [CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWrun/tokenize.pl11# Usage example:COMMENT
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWrun/ccl_chrome_indexeddb/ccl_v8_value_deserializer.py404 # TODO: implement a sparse list so that this isn't so horribly inefficientCOMMENT