Repository Analysis

anthropics/claude-code

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

7.7 Low AI signal View on GitHub
7.7
Adjusted Score
7.7
Raw Score
100%
Time Factor
2026-05-30
Last Push
128,002
Stars
Python
Language
43,820
Lines of Code
192
Files
243
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 7MEDIUM 55LOW 181

Pattern Findings

243 matches across 10 categories. Click a row to expand file-level details.

Decorative Section Separators43 hits · 144 pts
SeverityFileLineSnippet
MEDIUM…/learning-output-style/hooks-handlers/session-start.sh10 "additionalContext": "You are in 'learning' output style mode, which combines interactive learning with educational
MEDIUMplugins/security-guidance/hooks/_base.py85# ──────────────────────────────────────────────────────────────────────────
MEDIUM…gins/security-guidance/hooks/security_reminder_hook.py228# =====================================================================
MEDIUM…gins/security-guidance/hooks/security_reminder_hook.py230# =====================================================================
MEDIUM…gins/security-guidance/hooks/security_reminder_hook.py378# =====================================================================
MEDIUM…gins/security-guidance/hooks/security_reminder_hook.py380# =====================================================================
MEDIUM…gins/security-guidance/hooks/security_reminder_hook.py382# =====================================================================
MEDIUM…gins/security-guidance/hooks/security_reminder_hook.py384# =====================================================================
MEDIUM…gins/security-guidance/hooks/security_reminder_hook.py442# =====================================================================
MEDIUM…gins/security-guidance/hooks/security_reminder_hook.py444# =====================================================================
MEDIUM…gins/security-guidance/hooks/security_reminder_hook.py310# =====================================================================
MEDIUM…gins/security-guidance/hooks/security_reminder_hook.py319# =====================================================================
MEDIUM…gins/security-guidance/hooks/security_reminder_hook.py612# ─── push-sweep ─────────────────────────────────────────────────────────────
MEDIUMplugins/security-guidance/hooks/patterns.py154 # =====================================================================
MEDIUMplugins/security-guidance/hooks/patterns.py156 # =====================================================================
MEDIUMplugins/security-guidance/hooks/diffstate.py21# =====================================================================
MEDIUMplugins/security-guidance/hooks/diffstate.py23# =====================================================================
MEDIUMplugins/security-guidance/hooks/diffstate.py39# =====================================================================
MEDIUMplugins/security-guidance/hooks/diffstate.py41# =====================================================================
MEDIUMplugins/security-guidance/hooks/diffstate.py207# ─── push-sweep reviewed-commit tracking ────────────────────────────────────
MEDIUMplugins/security-guidance/hooks/diffstate.py223# =====================================================================
MEDIUMplugins/security-guidance/hooks/diffstate.py225# =====================================================================
MEDIUMplugins/security-guidance/hooks/diffstate.py227# ─── push-sweep reviewed-commit tracking ────────────────────────────────────
MEDIUMplugins/security-guidance/hooks/diffstate.py312# =====================================================================
MEDIUMplugins/security-guidance/hooks/diffstate.py314# =====================================================================
MEDIUMplugins/security-guidance/hooks/review_api.py23# ---------------------------------------------------------------------------
MEDIUMplugins/security-guidance/hooks/review_api.py25# ---------------------------------------------------------------------------
MEDIUMplugins/security-guidance/hooks/review_api.py67# ---------------------------------------------------------------------------
MEDIUMplugins/security-guidance/hooks/review_api.py69# ---------------------------------------------------------------------------
MEDIUMplugins/security-guidance/hooks/review_api.py179# ---------------------------------------------------------------------------
MEDIUMplugins/security-guidance/hooks/review_api.py181# ---------------------------------------------------------------------------
MEDIUMplugins/security-guidance/hooks/review_api.py286# ---------------------------------------------------------------------------
MEDIUMplugins/security-guidance/hooks/review_api.py288# ---------------------------------------------------------------------------
MEDIUMplugins/security-guidance/hooks/llm.py78# =====================================================================
MEDIUMplugins/security-guidance/hooks/llm.py80# =====================================================================
MEDIUMplugins/security-guidance/hooks/llm.py144# =====================================================================
MEDIUMplugins/security-guidance/hooks/llm.py146# =====================================================================
MEDIUMplugins/security-guidance/hooks/llm.py243# ── 3rd-party provider routing (Bedrock / Vertex / Foundry / Mantle) ─────
MEDIUMplugins/security-guidance/hooks/extensibility.py43# ── caps ─────────────────────────────────────────────────────────────────────
MEDIUMplugins/security-guidance/hooks/extensibility.py57# ── public API ───────────────────────────────────────────────────────────────
MEDIUMplugins/security-guidance/hooks/extensibility.py89# ── claude-security-guidance.md ───────────────────────────────────────────────────────
MEDIUMplugins/security-guidance/hooks/extensibility.py144# ── security-patterns.{yaml,json} ────────────────────────────────────────────
MEDIUM…planatory-output-style/hooks-handlers/session-start.sh10 "additionalContext": "You are in 'explanatory' output style mode, where you should provide educational insights abou
Excessive Try-Catch Wrapping42 hits · 52 pts
SeverityFileLineSnippet
LOWplugins/security-guidance/hooks/_base.py52 except Exception:
LOWplugins/security-guidance/hooks/_base.py78 except Exception:
MEDIUM…gins/security-guidance/hooks/security_reminder_hook.py339def _sweep(state):
MEDIUM…gins/security-guidance/hooks/security_reminder_hook.py865def _agentic() -> None:
LOW…gins/security-guidance/hooks/security_reminder_hook.py371 except Exception as e:
LOW…gins/security-guidance/hooks/security_reminder_hook.py399 except Exception:
LOW…gins/security-guidance/hooks/security_reminder_hook.py408 except Exception:
LOW…gins/security-guidance/hooks/security_reminder_hook.py421 except Exception:
LOW…gins/security-guidance/hooks/security_reminder_hook.py868 except Exception as e: # pragma: no cover — crash → let fallback win
LOW…gins/security-guidance/hooks/security_reminder_hook.py884 except Exception as e: # pragma: no cover
LOW…gins/security-guidance/hooks/security_reminder_hook.py1264 except Exception:
LOW…gins/security-guidance/hooks/security_reminder_hook.py2016 except Exception:
LOWplugins/security-guidance/hooks/session_state.py84 except Exception:
LOWplugins/security-guidance/hooks/ensure_agent_sdk.py41 except Exception:
LOWplugins/security-guidance/hooks/ensure_agent_sdk.py53 except Exception:
LOWplugins/security-guidance/hooks/ensure_agent_sdk.py103 except Exception:
LOWplugins/security-guidance/hooks/ensure_agent_sdk.py177 except Exception as e:
LOWplugins/security-guidance/hooks/ensure_agent_sdk.py199 except Exception as exc:
MEDIUMplugins/security-guidance/hooks/llm.py1194def _tolerant(data):
LOWplugins/security-guidance/hooks/llm.py1115 except Exception as e: # ImportError or transitive failure
LOWplugins/security-guidance/hooks/llm.py293 except Exception:
LOWplugins/security-guidance/hooks/llm.py315 except Exception as e:
LOWplugins/security-guidance/hooks/llm.py376 except Exception as e:
LOWplugins/security-guidance/hooks/llm.py1086 except Exception:
LOWplugins/security-guidance/hooks/llm.py1197 except Exception:
LOWplugins/security-guidance/hooks/llm.py1202 except Exception:
LOWplugins/security-guidance/hooks/llm.py1310 except Exception as e:
LOWplugins/security-guidance/hooks/llm.py1377 except Exception:
LOWplugins/security-guidance/hooks/llm.py1545 except Exception:
LOWplugins/security-guidance/hooks/extensibility.py69 except Exception as e:
LOWplugins/security-guidance/hooks/extensibility.py74 except Exception as e:
LOWplugins/hookify/core/config_loader.py236 except Exception as e:
MEDIUMplugins/hookify/core/config_loader.py264 print(f"Error: Cannot read {file_path}: {e}", file=sys.stderr)
MEDIUMplugins/hookify/core/config_loader.py267 print(f"Error: Malformed rule file {file_path}: {e}", file=sys.stderr)
MEDIUMplugins/hookify/core/config_loader.py270 print(f"Error: Invalid encoding in {file_path}: {e}", file=sys.stderr)
LOWplugins/hookify/core/config_loader.py272 except Exception as e:
MEDIUMplugins/hookify/core/config_loader.py273 print(f"Error: Unexpected error parsing {file_path} ({type(e).__name__}): {e}", file=sys.stderr)
LOWplugins/hookify/hooks/userpromptsubmit.py46 except Exception as e:
LOWplugins/hookify/hooks/stop.py46 except Exception as e:
LOWplugins/hookify/hooks/pretooluse.py61 except Exception as e:
LOWplugins/hookify/hooks/posttooluse.py54 except Exception as e:
MEDIUMexamples/hooks/bash_command_validator_example.py60 print(f"Error: Invalid JSON input: {e}", file=sys.stderr)
Unused Imports71 hits · 37 pts
SeverityFileLineSnippet
LOW…gins/security-guidance/hooks/security_reminder_hook.py59
LOW…gins/security-guidance/hooks/security_reminder_hook.py60
LOW…gins/security-guidance/hooks/security_reminder_hook.py67
LOW…gins/security-guidance/hooks/security_reminder_hook.py68
LOW…gins/security-guidance/hooks/security_reminder_hook.py69
LOW…gins/security-guidance/hooks/security_reminder_hook.py70
LOW…gins/security-guidance/hooks/security_reminder_hook.py79
LOW…gins/security-guidance/hooks/security_reminder_hook.py80
LOW…gins/security-guidance/hooks/security_reminder_hook.py80
LOW…gins/security-guidance/hooks/security_reminder_hook.py80
LOW…gins/security-guidance/hooks/security_reminder_hook.py80
LOW…gins/security-guidance/hooks/security_reminder_hook.py80
LOW…gins/security-guidance/hooks/security_reminder_hook.py80
LOW…gins/security-guidance/hooks/security_reminder_hook.py80
LOW…gins/security-guidance/hooks/security_reminder_hook.py80
LOW…gins/security-guidance/hooks/security_reminder_hook.py87
LOW…gins/security-guidance/hooks/security_reminder_hook.py87
LOW…gins/security-guidance/hooks/security_reminder_hook.py87
LOW…gins/security-guidance/hooks/security_reminder_hook.py87
LOW…gins/security-guidance/hooks/security_reminder_hook.py87
LOW…gins/security-guidance/hooks/security_reminder_hook.py87
LOW…gins/security-guidance/hooks/security_reminder_hook.py87
LOW…gins/security-guidance/hooks/security_reminder_hook.py93
LOW…gins/security-guidance/hooks/security_reminder_hook.py93
LOW…gins/security-guidance/hooks/security_reminder_hook.py93
LOW…gins/security-guidance/hooks/security_reminder_hook.py93
LOW…gins/security-guidance/hooks/security_reminder_hook.py93
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py97
LOW…gins/security-guidance/hooks/security_reminder_hook.py111
LOW…gins/security-guidance/hooks/security_reminder_hook.py111
LOW…gins/security-guidance/hooks/security_reminder_hook.py111
LOW…gins/security-guidance/hooks/security_reminder_hook.py111
LOW…gins/security-guidance/hooks/security_reminder_hook.py111
LOW…gins/security-guidance/hooks/security_reminder_hook.py111
LOW…gins/security-guidance/hooks/security_reminder_hook.py111
LOW…gins/security-guidance/hooks/security_reminder_hook.py121
LOW…gins/security-guidance/hooks/security_reminder_hook.py121
LOW…gins/security-guidance/hooks/security_reminder_hook.py121
LOW…gins/security-guidance/hooks/security_reminder_hook.py121
LOW…gins/security-guidance/hooks/security_reminder_hook.py121
LOW…gins/security-guidance/hooks/security_reminder_hook.py121
LOW…gins/security-guidance/hooks/security_reminder_hook.py121
LOW…gins/security-guidance/hooks/security_reminder_hook.py121
LOW…gins/security-guidance/hooks/security_reminder_hook.py121
LOW…gins/security-guidance/hooks/security_reminder_hook.py121
11 more matches not shown…
Cross-Language Confusion7 hits · 26 pts
SeverityFileLineSnippet
HIGH…gins/security-guidance/hooks/security_reminder_hook.py525 cross-repo case (`cd ../other && git commit --amend && cd -`) where
HIGH…gins/security-guidance/hooks/security_reminder_hook.py649 `git commit -m x && git push` matches both `Bash(git commit:*)` and
HIGH…gins/security-guidance/hooks/security_reminder_hook.py751 that ran *before* the push, e.g. `git fetch && git push`), and end at
HIGH…gins/security-guidance/hooks/security_reminder_hook.py753 *after* the push, e.g. `git push && git fetch`).
HIGHplugins/security-guidance/hooks/gitutil.py238 pushed the success line off — `git commit && git push` makes HEAD@{0}
HIGHplugins/security-guidance/hooks/gitutil.py244 - cross-repo (`cd ../other && git commit`): repo_root's own reflog has
HIGHplugins/security-guidance/hooks/ensure_agent_sdk.py209 # null). Stay inside the 10-key emit cap.
Over-Commented Block28 hits · 18 pts
SeverityFileLineSnippet
LOWplugins/security-guidance/hooks/_base.py81
LOW…gins/security-guidance/hooks/security_reminder_hook.py141# Empty string or unset = enabled (default); "0" = disabled
LOW…gins/security-guidance/hooks/security_reminder_hook.py301 return False, len(ts_list)
LOW…gins/security-guidance/hooks/security_reminder_hook.py481 # touched_paths is still populated because consume_stop_state is the only
LOW…gins/security-guidance/hooks/security_reminder_hook.py581 re.compile(r'^ delete mode ', re.MULTILINE),
LOW…gins/security-guidance/hooks/security_reminder_hook.py601# docstring for the rationale that motivated the switch from a lifetime cap.
LOW…gins/security-guidance/hooks/security_reminder_hook.py621# `gh pr create` is intentionally NOT a separate hooks.json matcher: gh runs
LOW…gins/security-guidance/hooks/security_reminder_hook.py941 commit_succeeded = (
LOW…gins/security-guidance/hooks/security_reminder_hook.py1021 debug_log("Commit review: not in a git repo")
LOW…gins/security-guidance/hooks/security_reminder_hook.py1041 # Output-based detection already failed above; the reflog SHAs are the
LOW…gins/security-guidance/hooks/security_reminder_hook.py1061 _base = {**_base, "sha_via_reflog": True,
LOW…gins/security-guidance/hooks/security_reminder_hook.py1081 # already populates `shas` with every fresh commit (amend + any
LOW…gins/security-guidance/hooks/security_reminder_hook.py1261 if r.returncode == 0:
LOW…gins/security-guidance/hooks/security_reminder_hook.py1441 # `git fetch && git push` produces fetch range lines that the regex would
LOW…gins/security-guidance/hooks/security_reminder_hook.py1561 sys.exit(0)
LOW…gins/security-guidance/hooks/security_reminder_hook.py2081 #
LOWplugins/security-guidance/hooks/diffstate.py21# =====================================================================
LOWplugins/security-guidance/hooks/diffstate.py201 return sha if sha else None
LOWplugins/security-guidance/hooks/diffstate.py221
LOWplugins/security-guidance/hooks/gitutil.py441
LOWplugins/security-guidance/hooks/gitutil.py561 if ext in SOURCE_CODE_EXTENSIONS:
LOWplugins/security-guidance/hooks/ensure_agent_sdk.py201 BUILD_FAILED, "main", f"exc:{type(exc).__name__}"
LOWplugins/security-guidance/hooks/llm.py61# interruptive review surfaces — false positives are the dominant uninstall
LOWplugins/security-guidance/hooks/llm.py1161 # CLAUDE_CODE_EXECPATH is the absolute path to the running CC binary
LOWplugins/security-guidance/hooks/llm.py1221 # a write/exec tool to allowed_tools is caught by the gate.
LOWplugins/security-guidance/hooks/llm.py1241 # OAuth token) injected by Claude Code. The SDK builds the child
LOWplugins/security-guidance/hooks/llm.py1321 # before refute drops most real findings; the eval-validated config keeps
LOWplugins/security-guidance/hooks/sg-python.sh1#!/usr/bin/env bash
Hyper-Verbose Identifiers20 hits · 18 pts
SeverityFileLineSnippet
LOW…gins/security-guidance/hooks/security_reminder_hook.py237def atomic_check_and_mark_warning(session_id, warning_key):
LOW…gins/security-guidance/hooks/security_reminder_hook.py446def handle_user_prompt_submit(input_data):
LOW…gins/security-guidance/hooks/security_reminder_hook.py429def extract_content_from_input(tool_name, tool_input):
LOW…gins/security-guidance/hooks/security_reminder_hook.py832def _agentic_review_with_race(
LOW…gins/security-guidance/hooks/security_reminder_hook.py901def handle_commit_review_posttooluse(input_data):
LOW…gins/security-guidance/hooks/security_reminder_hook.py1378def handle_push_sweep_posttooluse(input_data):
LOW…gins/security-guidance/hooks/security_reminder_hook.py1979def _maybe_bootstrap_agent_sdk_async():
LOWplugins/security-guidance/hooks/diffstate.py116def restore_unreviewed_stop_state(session_id, paths, baseline_sha):
LOWplugins/security-guidance/hooks/diffstate.py140def get_baseline_file_content(session_id, file_path, cwd):
LOWplugins/security-guidance/hooks/diffstate.py390 def _unchanged_since_baseline(p):
LOWplugins/security-guidance/hooks/gitutil.py227def _git_reflog_recent_commits(repo_root, max_age_s=120, max_n=5):
LOWplugins/security-guidance/hooks/gitutil.py587def extract_file_paths_from_diff(diff_output):
LOWplugins/security-guidance/hooks/gitutil.py657def filter_preexisting_from_diff(diff_files, cwd, baseline_sha):
LOWplugins/security-guidance/hooks/llm.py113def _strip_anthropic_from_no_proxy() -> None:
LOWplugins/security-guidance/hooks/llm.py122def ensure_anthropic_reachable() -> bool:
LOWplugins/security-guidance/hooks/llm.py226def _model_supports_adaptive_thinking(model: str) -> bool:
LOWplugins/security-guidance/hooks/llm.py982def _agentic_commit_review_enabled() -> bool:
LOWplugins/security-guidance/hooks/llm.py1570def analyze_security_concerns(files: List[Tuple[str, str]], is_diff: bool = False) -> Optional[str]:
LOWscripts/auto-close-duplicates.ts49function extractDuplicateIssueNumber(commentBody: string): number | null {
LOWscripts/backfill-duplicate-comments.ts72async function backfillDuplicateComments(): Promise<void> {
AI Slop Vocabulary4 hits · 16 pts
SeverityFileLineSnippet
MEDIUM…gin-dev/skills/hook-development/scripts/hook-linter.sh3# Checks hook scripts for common issues and best practices
MEDIUMplugins/security-guidance/hooks/ensure_agent_sdk.py190 # Tell the harness this is async — venv create + pip install can take
MEDIUMplugins/security-guidance/hooks/llm.py1125 # eval harness it's a temp dir with ONLY touched_paths — the agent can't
MEDIUMplugins/security-guidance/hooks/llm.py1126 # trace cross-file data flow. The harness sets SG_AGENTIC_CONTEXT_DIR to a
Deep Nesting20 hits · 16 pts
SeverityFileLineSnippet
LOW…gins/security-guidance/hooks/security_reminder_hook.py332
LOW…gins/security-guidance/hooks/security_reminder_hook.py386
LOW…gins/security-guidance/hooks/security_reminder_hook.py429
LOW…gins/security-guidance/hooks/security_reminder_hook.py646
LOW…gins/security-guidance/hooks/security_reminder_hook.py1378
LOW…gins/security-guidance/hooks/security_reminder_hook.py2019
LOW…gins/security-guidance/hooks/security_reminder_hook.py339
LOWplugins/security-guidance/hooks/session_state.py49
LOWplugins/security-guidance/hooks/diffstate.py250
LOWplugins/security-guidance/hooks/diffstate.py267
LOWplugins/security-guidance/hooks/gitutil.py330
LOWplugins/security-guidance/hooks/gitutil.py657
LOWplugins/security-guidance/hooks/ensure_agent_sdk.py57
LOWplugins/security-guidance/hooks/llm.py1059
LOWplugins/security-guidance/hooks/extensibility.py147
LOWplugins/security-guidance/hooks/extensibility.py272
LOWplugins/hookify/core/config_loader.py87
LOWplugins/hookify/core/config_loader.py198
LOWplugins/hookify/core/rule_engine.py144
LOWplugins/hookify/core/rule_engine.py182
Redundant / Tautological Comments7 hits · 10 pts
SeverityFileLineSnippet
LOW…n-dev/skills/hook-development/examples/load-context.sh17 # Check if TypeScript
LOW…kills/hook-development/scripts/validate-hook-schema.sh123 # Check if prompt-based hooks are used on supported events
LOWplugins/ralph-wiggum/hooks/stop-hook.sh12# Check if ralph-loop is active
LOWplugins/ralph-wiggum/hooks/stop-hook.sh50# Check if max iterations reached
LOWplugins/ralph-wiggum/hooks/stop-hook.sh97# Check if jq succeeded
LOWplugins/security-guidance/hooks/diffstate.py177 # Check if HEAD exists (i.e., repo has at least one commit)
LOWplugins/hookify/core/config_loader.py163 # Check if this is an inline dict (key: value on same line)
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippet
LOWscripts/gh.sh7# Usage: