AI Slop Code RIsk Monitor

GodsScion/Auto_job_applier_linkedIn

Make your job hunt easy by automating your application process with this Auto Applier

60.3 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for GodsScion/Auto_job_applier_linkedIn, a Python project with 2,926 GitHub stars. SynthScan examined 9,469 lines of code across 50 source files, recording 332 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 60.3 (High 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.

60.3
Adjusted Signal
60.3
Raw Pattern Score
100%
Time Factor
2026-09-11
Last Push
2.9K
Stars
Python
Language
9.5K
Lines of Code
50
Files
332
Pattern Hits
2026-10-12
Scan Date
0.64
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 69.4/100 · HIGH

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

Hallucinated Dependency & Supply Chain Risk 5.9/100 · LOW

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

Agent Over-Engineering Ratio 94.3/100 · CRITICAL

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

PR Review Velocity Impact 94.8/100 · CRITICAL

Which changes need focused human review? 332 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 32MEDIUM 34LOW 266

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 332 distinct pattern matches across 12 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.

Hyper-Verbose Identifiers172 hits · 208 pts
SeverityFileLineSnippetContext
LOWrunAiBot.py472def work_authorization_answer(label: str) -> str | None:CODE
LOWrunAiBot.py552def extract_years_of_experience(text: str) -> int:CODE
LOWCONTRIBUTING.md40 def function_name_in_camel_case(parameter1: driver, parameter2: str) -> list[str] | ValueError:CODE
LOW⚡tests/test_question_matching.py113def test_label_has_matches_whole_words_only(bot):CODE
LOW⚡tests/test_question_matching.py120def test_work_authorization_beats_location(bot):CODE
LOW⚡tests/test_question_matching.py127def test_the_three_questions_get_three_different_answers(bot, monkeypatch):CODE
LOWtests/test_question_matching.py143def test_authorization_yes_no_question_is_answered_yes(bot, monkeypatch):CODE
LOWtests/test_question_matching.py155def test_authorization_question_is_not_answered_with_the_state(bot, monkeypatch):CODE
LOWtests/test_question_matching.py167def test_citizenship_status_question_gets_the_status(bot, monkeypatch):CODE
LOWtests/test_question_matching.py177def test_an_answer_containing_no_as_a_substring_never_selects_the_option_no(bot, monkeypatch):CODE
LOWtests/test_question_matching.py191def test_a_configured_yes_or_no_still_maps_onto_a_worded_option(bot, monkeypatch, configured, expected):CODE
LOWtests/test_question_matching.py205def test_decline_answers_still_reach_a_decline_option(bot, monkeypatch, configured):CODE
LOWtests/test_question_matching.py216def test_a_real_state_question_still_answers_with_the_state(bot, monkeypatch):CODE
LOWtests/test_question_matching.py232def test_visa_questions_classify_as_sponsorship_not_location(bot, monkeypatch, question):CODE
LOWtests/test_question_matching.py243def test_unanswerable_required_question_terminates_instead_of_looping(bot, monkeypatch):CODE
LOWtests/test_question_matching.py263def test_progress_is_not_mistaken_for_a_stall(bot):CODE
LOWtests/test_question_matching.py292def test_discard_job_uses_the_close_button_then_the_confirmation(bot, monkeypatch):CODE
LOWtests/test_question_matching.py301def test_discard_job_falls_back_to_escape_when_the_modal_survives(bot, monkeypatch):CODE
LOWtests/test_question_matching.py361def test_an_unrecognised_radio_question_is_left_unanswered(bot, monkeypatch, question):CODE
LOWtests/test_question_matching.py377def test_a_configured_veteran_status_still_selects_its_radio(bot, monkeypatch):CODE
LOWtests/test_question_matching.py390def test_a_configured_disability_answer_reaches_the_worded_option(bot, monkeypatch):CODE
LOWtests/test_question_matching.py403def test_decline_answers_still_reach_a_decline_radio(bot, monkeypatch, configured):CODE
LOWtests/test_question_matching.py417def test_work_authorization_radios_match_the_dropdown_routing(bot, monkeypatch, question):CODE
LOWtests/test_question_matching.py426def test_a_radio_answer_containing_no_as_a_substring_never_selects_no(bot, monkeypatch):CODE
LOWtests/test_question_matching.py471def test_an_attestation_checkbox_is_never_ticked(bot, monkeypatch, attestation):CODE
LOWtests/test_question_matching.py485def test_an_unclassifiable_checkbox_is_not_ticked_either(bot, monkeypatch):CODE
LOWtests/test_question_matching.py495def test_an_already_ticked_checkbox_is_left_alone(bot, monkeypatch):CODE
LOWtests/test_question_matching.py506def test_the_follow_company_checkbox_is_left_to_follow_company(bot, monkeypatch):CODE
LOWtests/test_question_matching.py525def test_follow_company_still_sets_the_box(bot, monkeypatch, follow_companies,CODE
LOWtests/test_question_matching.py572def test_an_unclassified_text_question_is_not_answered_with_a_number(bot, monkeypatch, question):CODE
LOWtests/test_question_matching.py594def test_the_text_classifications_that_were_right_still_answer(bot, monkeypatch, question,CODE
LOWtests/test_question_matching.py607def test_an_unrecognised_dropdown_question_is_left_unanswered(bot, monkeypatch):CODE
LOW⚡tests/test_logging.py40def test_print_lg_writes_to_both_the_console_and_the_file(log_file, capsys):CODE
LOW⚡tests/test_logging.py46def test_print_lg_still_prints_every_message_on_its_own_line(log_file, capsys):CODE
LOW⚡tests/test_logging.py51def test_print_lg_end_keeps_the_console_on_one_line(log_file, capsys):CODE
LOW⚡tests/test_logging.py57def test_print_lg_end_does_not_leak_into_the_next_call(log_file, capsys):CODE
LOW⚡tests/test_logging.py64def test_print_lg_flush_is_accepted_and_still_prints(log_file, capsys):CODE
LOW⚡tests/test_logging.py69def test_print_lg_pretty_uses_pprint_formatting(log_file, capsys):CODE
LOW⚡tests/test_logging.py75def test_print_lg_pretty_ignores_end_as_documented(log_file, capsys):CODE
LOW⚡tests/test_logging.py81def test_print_lg_logs_at_info(log_records):CODE
LOW⚡tests/test_logging.py86def test_print_lg_from_critical_logs_at_error(log_records):CODE
LOW⚡tests/test_logging.py91def test_critical_error_log_records_error_with_the_exception_attached(log_records):CODE
LOWtests/test_logging.py104def test_critical_error_log_writes_the_traceback_to_the_file(log_file):CODE
LOWtests/test_logging.py116def test_file_lines_carry_a_timestamp_and_a_level(log_file):CODE
LOWtests/test_logging.py126def test_log_level_filters_info_out_of_the_file(tmp_path, capsys):CODE
LOWtests/test_logging.py141def test_an_unrecognised_log_level_falls_back_to_info(tmp_path):CODE
LOWtests/test_logging.py149def test_missing_log_level_setting_does_not_crash(tmp_path, monkeypatch):CODE
LOWtests/test_logging.py161def test_an_unwritable_log_file_neither_raises_nor_blocks(tmp_path, capsys):CODE
LOW⚡tests/test_logging.py181def test_the_alert_dialog_is_gone_from_the_logging_path():CODE
LOW⚡tests/test_logging.py188def test_the_file_handler_rotates(log_file):CODE
LOW⚡tests/test_logging.py197def test_setup_logging_replaces_handlers_instead_of_stacking_them(log_file, capsys):CODE
LOW⚡tests/test_updater.py92def test_current_version_reads_the_file(monkeypatch, tmp_path):CODE
LOW⚡tests/test_updater.py99def test_current_version_missing_file_is_empty(monkeypatch, tmp_path):CODE
LOW⚡tests/test_updater.py104def test_update_available_is_false_when_the_check_fails(monkeypatch):CODE
LOW⚡tests/test_updater.py113def test_latest_version_happy_path(monkeypatch):CODE
LOWtests/test_updater.py126def test_latest_version_returns_none_on_network_failure(monkeypatch, error):CODE
LOW⚡tests/test_updater.py137def test_latest_version_returns_none_on_garbage_body(monkeypatch, body):CODE
LOW⚡tests/test_updater.py142def test_latest_version_enforces_the_timeout(monkeypatch):CODE
LOW⚡tests/test_updater.py157def test_self_update_restores_the_stash_when_the_pull_fails(monkeypatch):CODE
LOWtests/test_updater.py174def test_self_update_restores_the_stash_when_git_blows_up(monkeypatch):CODE
112 more matches not shown…
Decorative Section Separators32 hits · 114 pts
SeverityFileLineSnippetContext
MEDIUMconfig_schema.py85# ---------------------------------------------------------------------------COMMENT
MEDIUMconfig_schema.py89# ---------------------------------------------------------------------------COMMENT
MEDIUMapp.py51# ===========================================================================COMMENT
MEDIUMapp.py55# ===========================================================================COMMENT
MEDIUMapp.py94# ===========================================================================COMMENT
MEDIUMapp.py96# ===========================================================================COMMENT
MEDIUMapp.py154# ===========================================================================COMMENT
MEDIUMapp.py156# ===========================================================================COMMENT
MEDIUMapp.py480# ===========================================================================COMMENT
MEDIUMapp.py482# ===========================================================================COMMENT
MEDIUM⚡app.py328# ===========================================================================STRING
MEDIUM⚡app.py330# ===========================================================================STRING
MEDIUMtests/test_updater.py27# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_updater.py29# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_updater.py74# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_updater.py76# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_updater.py110# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_updater.py112# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_updater.py151# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_updater.py153# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_driver_arch.py26# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_driver_arch.py30# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_selectors_groundtruth.py148# =================================================================================COMMENT
MEDIUM⚡tests/test_selectors_groundtruth.py150# =================================================================================COMMENT
MEDIUM⚡tests/test_selectors_groundtruth.py213# =================================================================================COMMENT
MEDIUM⚡tests/test_selectors_groundtruth.py215# =================================================================================COMMENT
MEDIUM⚡tests/test_selectors_groundtruth.py280# =================================================================================COMMENT
MEDIUM⚡tests/test_selectors_groundtruth.py282# =================================================================================COMMENT
MEDIUM⚡tests/test_selectors_groundtruth.py316# =================================================================================COMMENT
MEDIUM⚡tests/test_selectors_groundtruth.py318# =================================================================================COMMENT
MEDIUM⚡tests/test_selectors_groundtruth.py380# =================================================================================COMMENT
MEDIUM⚡tests/test_selectors_groundtruth.py382# =================================================================================COMMENT
Cross-File Repetition18 hits · 90 pts
SeverityFileLineSnippetContext
HIGHrunAiBot.py0author: sai vignesh golla linkedin: https://www.linkedin.com/in/saivigneshgolla/ copyright (c) 2024-2026 sai vignesh golSTRING
HIGHconfig/questions.py0author: sai vignesh golla linkedin: https://www.linkedin.com/in/saivigneshgolla/ copyright (c) 2024-2026 sai vignesh golSTRING
HIGHconfig/settings.py0author: sai vignesh golla linkedin: https://www.linkedin.com/in/saivigneshgolla/ copyright (c) 2024-2026 sai vignesh golSTRING
HIGHconfig/search.py0author: sai vignesh golla linkedin: https://www.linkedin.com/in/saivigneshgolla/ copyright (c) 2024-2026 sai vignesh golSTRING
HIGHmodules/validator.py0author: sai vignesh golla linkedin: https://www.linkedin.com/in/saivigneshgolla/ copyright (c) 2024-2026 sai vignesh golSTRING
HIGHmodules/open_chrome.py0author: sai vignesh golla linkedin: https://www.linkedin.com/in/saivigneshgolla/ copyright (c) 2024-2026 sai vignesh golSTRING
HIGHmodules/clickers_and_finders.py0author: sai vignesh golla linkedin: https://www.linkedin.com/in/saivigneshgolla/ copyright (c) 2024-2026 sai vignesh golSTRING
HIGHmodules/helpers.py0author: sai vignesh golla linkedin: https://www.linkedin.com/in/saivigneshgolla/ copyright (c) 2024-2026 sai vignesh golSTRING
HIGHconfig/secrets.py0author: sai vignesh golla linkedin: https://www.linkedin.com/in/saivigneshgolla/ copyright (c) 2024-2026 sai vignesh golSTRING
HIGHconfig/questions.py0thank you for using my tool 😊! wishing you the best in your job hunt 🙌🏻! sharing is caring! if you found this tool helpfSTRING
HIGHconfig/secrets.py0thank you for using my tool 😊! wishing you the best in your job hunt 🙌🏻! sharing is caring! if you found this tool helpfSTRING
HIGHconfig/personals.py0thank you for using my tool 😊! wishing you the best in your job hunt 🙌🏻! sharing is caring! if you found this tool helpfSTRING
HIGHconfig/settings.py0thank you for using my tool 😊! wishing you the best in your job hunt 🙌🏻! sharing is caring! if you found this tool helpfSTRING
HIGHconfig/search.py0thank you for using my tool 😊! wishing you the best in your job hunt 🙌🏻! sharing is caring! if you found this tool helpfSTRING
HIGHtests/test_question_matching.py0runaibot with a stubbed browser session, so importing it never opens chrome.STRING
HIGHtests/test_runaibot_fixes.py0runaibot with a stubbed browser session, so importing it never opens chrome.STRING
HIGHtests/test_h1b_sponsorship.py0runaibot with a stubbed browser session, so importing it never opens chrome.STRING
HIGHtests/test_selectors_groundtruth.py0runaibot with a stubbed browser session, so importing it never opens chrome.STRING
Empty Error Handlers14 hits · 70 pts
SeverityFileLineSnippetContext
HIGHrunAiBot.py391except: passCODE
HIGHrunAiBot.py988except: passCODE
HIGHrunAiBot.py690except: passCODE
HIGHrunAiBot.py758except: passCODE
HIGHrunAiBot.py812except: passCODE
HIGHrunAiBot.py1322except: passCODE
HIGHapp.py182except OSError:CODE
HIGHapp.py425except OSError:CODE
HIGHapp.py546except OSError:CODE
HIGHapp.py207except Exception:CODE
HIGHapp.py218except Exception:CODE
HIGHmodules/updater.py100except OSError:CODE
HIGHmodules/clickers_and_finders.py195except NoSuchElementException: passCODE
HIGHmodules/ai/connections.py61except Exception:CODE
Excessive Try-Catch Wrapping62 hits · 56 pts
SeverityFileLineSnippetContext
LOW⚡runAiBot.py197 except Exception as e:CODE
LOW⚡runAiBot.py201 except Exception as e:CODE
LOW⚡runAiBot.py207 except Exception as e1:CODE
LOW⚡runAiBot.py211 except Exception as e2:CODE
LOW⚡runAiBot.py218 except Exception as e:CODE
LOWrunAiBot.py259 except Exception as e:CODE
LOWrunAiBot.py323 except Exception as e:CODE
LOWrunAiBot.py339 except Exception as e:CODE
LOWrunAiBot.py394 except Exception as e:CODE
LOWrunAiBot.py637 except Exception as e:CODE
LOWrunAiBot.py881 except Exception as e:CODE
LOWrunAiBot.py920 except Exception as e:CODE
LOWrunAiBot.py1008 except Exception as e:CODE
LOWrunAiBot.py1048 except Exception as e:CODE
LOWrunAiBot.py1071 except Exception as e:CODE
LOWrunAiBot.py1113 except Exception as e:CODE
LOWrunAiBot.py1126 except Exception: return FalseCODE
LOWrunAiBot.py1142 except Exception as e: logger.warning("Couldn't dismiss the application modal. %s", e)CODE
LOWrunAiBot.py1209 except Exception as e:CODE
LOWrunAiBot.py1232 except Exception as e:CODE
LOWrunAiBot.py1259 except Exception as e:CODE
LOWrunAiBot.py1274 except Exception as e:CODE
LOWrunAiBot.py1291 except Exception as e:CODE
LOWrunAiBot.py1318 except Exception as e:CODE
LOWrunAiBot.py1422 except Exception as e:CODE
LOWrunAiBot.py1463 except Exception as e:CODE
LOWrunAiBot.py1468 except Exception as dump_error:CODE
LOWrunAiBot.py1537 except Exception as e:CODE
LOWrunAiBot.py1582 except Exception as e:CODE
LOWrunAiBot.py1589 except Exception as e:CODE
MEDIUMapp.py179def _remove_pid_file():CODE
LOW⚡app.py204 except Exception:CODE
LOW⚡app.py207 except Exception:CODE
LOW⚡app.py212 except Exception:CODE
LOW⚡app.py218 except Exception:CODE
LOWapp.py420 except Exception as err:CODE
LOW⚡app.py324 except Exception as e:STRING
LOWapp.py297 except Exception as e:STRING
LOWmodules/open_chrome.py37 except Exception as e:CODE
LOWmodules/open_chrome.py68 except Exception as e:CODE
LOWmodules/open_chrome.py110except Exception as e:CODE
LOWmodules/updater.py51 except Exception:CODE
LOWmodules/updater.py105 except Exception as err: # git not installed, timed out, unreadable repoCODE
LOWmodules/updater.py110 except Exception:CODE
LOWmodules/clickers_and_finders.py74 except Exception as e:CODE
LOWmodules/clickers_and_finders.py90 except Exception as e:CODE
LOWmodules/clickers_and_finders.py106 except Exception as e:CODE
LOWmodules/clickers_and_finders.py122 except Exception as e:CODE
LOWmodules/clickers_and_finders.py137 except Exception as e:CODE
LOW⚡modules/clickers_and_finders.py181 except Exception as e:CODE
LOW⚡modules/clickers_and_finders.py188 except Exception as e:CODE
LOW⚡modules/clickers_and_finders.py196 except Exception as e: logger.warning('Failed to find element with class "%s"! %s', cla, e)CODE
LOWmodules/helpers.py52 except Exception as e:CODE
LOWmodules/helpers.py154 except Exception as e:CODE
LOWmodules/helpers.py363 except Exception as e:CODE
LOWmodules/ai/connections.py45except Exception: # pyautogui may be unavailable in headless environmentsCODE
LOWmodules/ai/connections.py61 except Exception:CODE
LOWmodules/ai/connections.py84 except Exception:CODE
LOWmodules/ai/connections.py145 except Exception as e:CODE
LOWmodules/ai/connections.py182 except Exception as e:CODE
2 more matches not shown…
Unused Imports14 hits · 10 pts
SeverityFileLineSnippetContext
LOWrunAiBot.py39CODE
LOWrunAiBot.py40CODE
LOWrunAiBot.py41CODE
LOWrunAiBot.py43CODE
LOWrunAiBot.py45CODE
LOWrunAiBot.py46CODE
LOWrunAiBot.py47CODE
LOWtests/test_helpers.py8CODE
LOWmodules/validator.py50CODE
LOWmodules/validator.py78CODE
LOWmodules/validator.py106CODE
LOWmodules/validator.py153CODE
LOWmodules/validator.py171CODE
LOWmodules/ai/connections.py27CODE
Redundant / Tautological Comments5 hits · 8 pts
SeverityFileLineSnippetContext
LOWrunAiBot.py683 # Check if it's a select QuestionCOMMENT
LOWrunAiBot.py752 # Check if it's a radio QuestionCOMMENT
LOWrunAiBot.py807 # Check if it's a text questionCOMMENT
LOWrunAiBot.py904 # Check if it's a textarea questionCOMMENT
LOWrunAiBot.py933 # Check if it's a checkbox questionCOMMENT
Modern Structural Boilerplate4 hits · 6 pts
SeverityFileLineSnippetContext
LOWrunAiBot.py242def set_search_location() -> None:CODE
LOW⚡modules/validator.py25 if not isinstance(var, int): raise TypeError(f'The variable "{var_name}" in "{__validation_file_path}" must be an InCODE
LOW⚡modules/validator.py34 if not isinstance(var, str): raise TypeError(f'Invalid input for {var_name}. Expecting a String!')CODE
LOW⚡modules/validator.py44 if not isinstance(element, str): raise TypeError(f'Invalid input for {var_name}. All elements in the list must bCODE
Over-Commented Block6 hits · 6 pts
SeverityFileLineSnippetContext
LOWrunAiBot.py1241 hr_link = hr_info_card.find_element(By.TAG_NAME, "a").get_attribute("href")COMMENT
LOWrequirements-dev.txt1# Development / test dependencies. Install with:COMMENT
LOWstart.sh1#!/bin/bashCOMMENT
LOWconfig/secrets.py21# Login Credentials for LinkedIn (Optional)COMMENT
LOWconfig/secrets.py41# OpenAI: "gpt-4o-mini", "gpt-4o", "gpt-5-mini"COMMENT
LOWconfig/search.py101COMMENT
Modern AI Meta-Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMrequirements.txt16langgraph==1.2.10 # graph orchestration for the question-answer pipelineCODE
Deep Nesting3 hits · 2 pts
SeverityFileLineSnippetContext
LOWrunAiBot.py562CODE
LOWrunAiBot.py666CODE
LOWrunAiBot.py1163CODE
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWconfig/personals.py36street = "123 Main Street"CODE