Official, Anthropic-managed directory of high quality Claude Code Plugins.
This report summarizes scanner evidence for anthropics/claude-plugins-official, a Python project with 37,638 GitHub stars. SynthScan examined 104,188 lines of code across 472 source files, recording 996 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 14.4 (Moderate 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.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 690 finding(s).
Are imports declared and package/API names verified? 131 finding(s).
Are wrappers, guards, and repeated structures necessary? 619 finding(s).
Which changes need focused human review? 996 finding(s).
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.
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.
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.
The scanner identified 996 distinct pattern matches across 15 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 60 | def test_pushd_and_relative_chain(self, workspace): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 78 | def test_odd_inputs_do_not_raise(self, workspace, cmd): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 84 | def test_toplevel_from_command_nonexistent_dir(self, workspace): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 88 | def test_toplevel_from_subdir_of_repo(self, workspace): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 93 | def test_windows_backslash_paths_survive_tokenizing(self, workspace, monkeypatch): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 103 | def test_finds_repo_containing_commit(self, workspace): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 157 | def test_cwd_is_repo_same_repo_in_command_stays_cwd(self, workspace): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 164 | def test_explicit_other_repo_in_command_beats_cwd(self, workspace): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 173 | def test_order_command_then_paths_then_sha(self, workspace): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 254 | def test_cwd_is_repo_unchanged(self, workspace, hook_env, stub_api): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 264 | def test_cwd_is_repo_cd_subdir_unchanged(self, workspace, hook_env, stub_api): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 338 | def test_hint_used_for_quiet_commit_without_dir(self, workspace, hook_env): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 357 | def test_no_credentials_gate_precedes_repo_resolution(self, workspace, hook_env): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 365 | def test_dedup_sentinel_uses_resolved_repo(self, workspace, hook_env): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 25 | def test_cd_semicolon_subshell(self, workspace): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 38 | def test_env_prefix_and_config_opts(self, workspace): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 118 | def test_skips_ignored_dirs_and_respects_depth(self, tmp_path): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 135 | def test_groups_by_toplevel_and_orders_by_count(self, tmp_path): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 143 | def test_relative_paths_resolve_against_cwd(self, workspace): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 213 | def test_global_option_prefix_is_linear(self, regex, verb, unit): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 286 | def test_workspace_cwd_cd_sub(self, workspace, hook_env, stub_api): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 305 | def test_workspace_cwd_sha_scan(self, workspace, hook_env, stub_api): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 314 | def test_workspace_cwd_sha_scan_via_project_dir(self, workspace, hook_env, tmp_path): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 393 | def test_workspace_cwd_sha_scan_push_leaves_no_hint(self, workspace, hook_env, tmp_path): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 431 | def test_cwd_is_repo_unchanged(self, workspace, hook_env, stub_api): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 441 | def test_workspace_cwd_resolves_from_touched_paths(self, workspace, hook_env, stub_api): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 452 | def test_subagent_stop_reviews_without_consuming_session_state(self, workspace, hook_env, stub_api): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 475 | def test_main_edits_during_subagent_review_are_reviewed_at_stop(self, workspace, hook_env, stub_api): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 498 | def test_subagent_stop_findings_do_not_advance_baseline_or_fire_count(self, workspace, hook_env, stub_api): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 522 | def test_subagent_stop_in_other_worktree_is_skipped(self, workspace, hook_env, stub_api, tmp_path): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 543 | def test_subagent_stop_in_other_worktree_from_workspace_cwd(self, workspace, hook_env, stub_api, tmp_path): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 557 | def test_repository_config_cannot_run_programs(self, workspace, hook_env, stub_api, tmp_path): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 580 | def test_safe_git_env_extends_existing_config_count(self): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 591 | def test_subagent_stop_same_repo_with_project_dir_reviews(self, workspace, hook_env, stub_api): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 605 | def test_ups_uses_hint_for_baseline(self, workspace, hook_env): | CODE |
| LOW | plugins/security-guidance/tests/test_repo_resolution.py | 615 | def test_workspace_cwd_nothing_touched_skips(self, workspace, hook_env, stub_api): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 97 | def test_highest_version_wins_whatever_the_order(self): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 102 | def test_minor_version_compares_as_a_number(self): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 105 | def test_snapshot_date_is_not_a_version(self): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 109 | def test_other_families_and_malformed_ids_are_ignored(self): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 122 | def test_review_uses_the_newest_opus_the_endpoint_lists(self, api): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 126 | def test_a_release_newer_than_the_pinned_default_is_picked_up(self, api): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 131 | def test_gateway_listing_only_an_older_opus_gets_that_one(self, api): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 136 | def test_truncated_listing_does_not_pick_an_older_opus(self, api): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 142 | def test_truncated_listing_still_picks_a_newer_opus(self, api): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 147 | def test_lookup_asks_for_one_modest_page(self, api): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 151 | def test_lookup_authenticates_like_the_review_call(self, api): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 159 | def test_oauth_only_session_sends_the_bearer_token(self, api, monkeypatch): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 168 | def test_explicit_model_is_used_as_is_without_a_lookup(self, api, monkeypatch): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 177 | def test_falls_back_to_the_pinned_default(self, api, status): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 186 | def test_unusable_listing_falls_back_to_the_pinned_default(self, api, body): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 190 | def test_unreachable_endpoint_falls_back_to_the_pinned_default(self, api, monkeypatch): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 194 | def test_no_credentials_means_no_lookup(self, api, monkeypatch): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 199 | def test_failure_is_not_retried_on_every_hook_fire(self, api, monkeypatch): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 206 | def test_failure_is_retried_after_the_retry_window(self, api, monkeypatch): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 217 | def test_one_lookup_serves_later_hook_fires(self, api, monkeypatch): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 224 | def test_one_lookup_per_process(self, api): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 229 | def test_new_release_is_seen_once_the_cache_expires(self, api, monkeypatch): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 237 | def test_cache_from_another_endpoint_is_not_reused(self, api, monkeypatch): | CODE |
| LOW⚡ | plugins/security-guidance/tests/test_review_model.py | 266 | def test_corrupt_cache_file_is_ignored(self, api, monkeypatch, tmp_path, content): | CODE |
| 384 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | plugins/math-proof/skills/siege/scripts/ledger.py | 660 | except (AttributeError, ValueError): | CODE |
| HIGH | plugins/math-proof/skills/siege/scripts/ledger.py | 649 | except ValueError: | CODE |
| HIGH | …or/skills/skill-creator/eval-viewer/generate_review.py | 303 | except subprocess.TimeoutExpired: | CODE |
| HIGH | …or/skills/skill-creator/eval-viewer/generate_review.py | 231 | except (json.JSONDecodeError, OSError, KeyError): | CODE |
| HIGH | …or/skills/skill-creator/eval-viewer/generate_review.py | 428 | except (json.JSONDecodeError, OSError): | CODE |
| HIGH | …or/skills/skill-creator/eval-viewer/generate_review.py | 97 | except (json.JSONDecodeError, OSError): | CODE |
| HIGH | …or/skills/skill-creator/eval-viewer/generate_review.py | 135 | except (json.JSONDecodeError, OSError): | CODE |
| HIGH | …or/skills/skill-creator/eval-viewer/generate_review.py | 111 | except OSError: | CODE |
| HIGH | …or/skills/skill-creator/eval-viewer/generate_review.py | 299 | except (ProcessLookupError, ValueError): | CODE |
| HIGH | …or/skills/skill-creator/eval-viewer/generate_review.py | 340 | except (json.JSONDecodeError, OSError): | CODE |
| HIGH | …or/skills/skill-creator/scripts/aggregate_benchmark.py | 146 | except json.JSONDecodeError: | CODE |
| HIGH | plugins/security-guidance/hooks/_base.py | 79 | except Exception: | CODE |
| HIGH | plugins/security-guidance/hooks/_base.py | 64 | except OSError: | CODE |
| HIGH | plugins/security-guidance/hooks/_base.py | 72 | except OSError: | CODE |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 801 | except OSError: | CODE |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 1427 | except Exception: | CODE |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 1645 | except (subprocess.TimeoutExpired, FileNotFoundError, OSError): | CODE |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 2249 | except Exception: | CODE |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 923 | except (subprocess.TimeoutExpired, FileNotFoundError, OSError): | CODE |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 938 | except (subprocess.TimeoutExpired, FileNotFoundError, OSError): | CODE |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 999 | except _queue.Full: | CODE |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 1015 | except _queue.Full: | CODE |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 2236 | except OSError: | CODE |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 481 | except Exception: | CODE |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 494 | except Exception: | CODE |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 799 | except OSError: | CODE |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 1684 | except (subprocess.TimeoutExpired, FileNotFoundError, OSError): | CODE |
| HIGH | plugins/security-guidance/hooks/session_state.py | 84 | except Exception: | CODE |
| HIGH | plugins/security-guidance/hooks/session_state.py | 99 | except (json.JSONDecodeError, IOError, KeyError, TypeError): | CODE |
| HIGH | plugins/security-guidance/hooks/session_state.py | 130 | except OSError: | CODE |
| HIGH | plugins/security-guidance/hooks/session_state.py | 159 | except (OSError, IOError): | CODE |
| HIGH | plugins/security-guidance/hooks/session_state.py | 68 | except (OSError, IOError): | CODE |
| HIGH | plugins/security-guidance/hooks/session_state.py | 82 | except (OSError, IOError): | CODE |
| HIGH | plugins/security-guidance/hooks/diffstate.py | 299 | except OSError: | CODE |
| HIGH | plugins/security-guidance/hooks/diffstate.py | 345 | except OSError: | CODE |
| HIGH | plugins/security-guidance/hooks/gitutil.py | 334 | except (ValueError, OSError, AttributeError): | CODE |
| HIGH | plugins/security-guidance/hooks/gitutil.py | 357 | except FileExistsError: | CODE |
| HIGH | plugins/security-guidance/hooks/gitutil.py | 369 | except OSError: | CODE |
| HIGH | plugins/security-guidance/hooks/gitutil.py | 210 | except OSError: | CODE |
| HIGH | plugins/security-guidance/hooks/gitutil.py | 245 | except OSError: | CODE |
| HIGH | plugins/security-guidance/hooks/gitutil.py | 317 | except OSError: | CODE |
| HIGH | plugins/security-guidance/hooks/gitutil.py | 559 | except (subprocess.TimeoutExpired, FileNotFoundError, OSError): | CODE |
| HIGH | plugins/security-guidance/hooks/ensure_agent_sdk.py | 237 | except OSError: | CODE |
| HIGH | plugins/security-guidance/hooks/ensure_agent_sdk.py | 541 | except Exception: | CODE |
| HIGH | plugins/security-guidance/hooks/reporesolve.py | 264 | except Exception: | CODE |
| HIGH | plugins/security-guidance/hooks/llm.py | 1461 | except Exception: | CODE |
| HIGH | plugins/security-guidance/hooks/llm.py | 470 | except OSError: | CODE |
| HIGH | plugins/code-modernization/scripts/telemetry.py | 561 | except OSError: | CODE |
| HIGH | plugins/code-modernization/scripts/telemetry.py | 567 | except OSError: | CODE |
| HIGH | plugins/code-modernization/scripts/telemetry.py | 236 | except OSError: # a dangling link or a file that just went away | CODE |
| HIGH | plugins/code-modernization/scripts/telemetry.py | 726 | except Exception: # reporting a problem must not become one | CODE |
| HIGH | plugins/code-modernization/scripts/build_report.py | 607 | except ValueError: | CODE |
| HIGH | …/code-modernization/scripts/tests/test_report_tools.py | 123 | except (OSError, NotImplementedError, AttributeError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 52 | cmd = "git -C other status && git -C sub commit -m x && git -C third push" | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 58 | assert rr.dirs_from_command("cd sub && gt create -m x", str(ws), rr.COMMIT_SUBCOMMANDS) == [str(repo)] | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 62 | cmd = "pushd sub && cd .. && cd ./sub && git commit -m x" | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 68 | "cd && git commit", | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 72 | "cd /definitely/not/here && git commit -m x", | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 86 | assert rr.toplevel_from_command("cd nope && git commit -m x", str(ws)) is None | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 91 | assert rr.toplevel_from_command("cd sub/pkg && git commit -m x", str(ws)) == str(repo) | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 96 | toks = rr._tokenize(r'git -C C:\Users\me\repo commit -m x && git -C "D:\a b\r" push') | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 155 | assert rr.resolve_repo_root(str(repo), "cd /tmp && git commit") == (str(repo), rr.RES_CWD) | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 160 | for cmd in ("git commit -m x", "cd pkg && git commit -m x", f"git -C {repo} commit -m x", | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 169 | assert rr.resolve_repo_root(str(repo), "cd ../other && git commit -m x", rr.COMMIT_SUBCOMMANDS) == (str(other), | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 171 | assert rr.resolve_repo_root(str(repo), f"git -C {other} status && git commit -m x", rr.COMMIT_SUBCOMMANDS) == (s | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 268 | rc, so, se = run_hook(bash_payload(repo, "cd pkg && git commit -m change", out), hook_env) | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 328 | run_hook(bash_payload(ws, "cd sub && git commit -m change", out), hook_env) | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 341 | run_hook(bash_payload(ws, "cd sub && git commit -m change", out), hook_env) | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 361 | rc, so, se = run_hook(bash_payload(ws, "cd sub && git commit -m change", out), env) | CODE |
| HIGH⚡ | plugins/security-guidance/tests/test_repo_resolution.py | 368 | p = bash_payload(ws, "git -C sub commit -m change && git -C sub push", out, tool_use_id="toolu_1") | CODE |
| HIGH | plugins/security-guidance/tests/test_repo_resolution.py | 23 | assert rr.dirs_from_command("cd sub && git commit -m x", str(ws)) == [str(repo)] | CODE |
| HIGH | plugins/security-guidance/tests/test_repo_resolution.py | 194 | "cd sub && git commit -m x", | CODE |
| HIGH | plugins/security-guidance/tests/test_repo_resolution.py | 289 | rc, so, se = run_hook(bash_payload(ws, "cd sub && git commit -m change", out), hook_env) | CODE |
| HIGH | plugins/security-guidance/tests/test_repo_resolution.py | 576 | rc, so, se = run_hook(bash_payload(ws, "cd sub && git commit -m change", out), hook_env) | CODE |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 248 | `stderr || stdout` for the model-visible body and only scans stdout | STRING |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 612 | cross-repo case (`cd ../other && git commit --amend && cd -`) where | STRING |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 764 | `git commit -m x && git push` matches both `Bash(git commit:*)` and | STRING |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 871 | that ran *before* the push, e.g. `git fetch && git push`), and end at | STRING |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 873 | *after* the push, e.g. `git push && git fetch`). | STRING |
| HIGH | plugins/security-guidance/hooks/gitutil.py | 575 | pushed the success line off — `git commit && git push` makes HEAD@{0} | STRING |
| HIGH | plugins/security-guidance/hooks/gitutil.py | 581 | - cross-repo (`cd ../other && git commit`): repo_root's own reflog has | STRING |
| HIGH⚡ | …s/code-modernization/scripts/tests/test_proof_tools.py | 1899 | setAttribute(k, v) { this.attrs[k] = String(v); } appendChild(c) { this.kids.push(c); return c; } } | CODE |
| HIGH⚡ | …s/code-modernization/scripts/tests/test_proof_tools.py | 1906 | if (top && n.tag === 'div' && /banner/.test(n.attrs.class || '')) acc.banners.push(n.attrs.class); | CODE |
| HIGH⚡ | …s/code-modernization/scripts/tests/test_proof_tools.py | 1906 | if (top && n.tag === 'div' && /banner/.test(n.attrs.class || '')) acc.banners.push(n.attrs.class); | CODE |
| HIGH⚡ | …s/code-modernization/scripts/tests/test_proof_tools.py | 1913 | out.push({ ms: Date.now() - t0, tags: [...acc.tags], attrs: [...acc.attrs], text: acc.text, banners: acc.banners }); | CODE |
| HIGH⚡ | …s/code-modernization/scripts/tests/test_proof_tools.py | 1915 | out.push({ own: [api.own({a: 'x'}, 'a', 'd'), api.own({a: 'x'}, '__proto__', 'd'), api.own({a: 'x'}, 'constructor', 'd') | CODE |
| HIGH⚡ | …/code-modernization/scripts/tests/test_report_tools.py | 690 | setAttribute(k, v) { this.attrs[k] = String(v); } appendChild(c) { this.kids.push(c); return c; } } | CODE |
| HIGH⚡ | …/code-modernization/scripts/tests/test_report_tools.py | 696 | acc.tags.add(n.tag); Object.keys(n.attrs).forEach(k => { acc.attrs.add(k); if (k === 'href') acc.hrefs.push(n.attrs[k] | CODE |
| HIGH⚡ | …/code-modernization/scripts/tests/test_report_tools.py | 703 | out.docs.push({ ms: Date.now() - t0, tags: [...acc.tags], attrs: [...acc.attrs], hrefs: acc.hrefs, text: acc.text.slic | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …-server-dev/skills/build-mcp-server/references/auth.md | 50 | ┌─────────┐ client_id=https://... ┌──────────────┐ upstream OAuth ┌──────────┐ | CODE |
| MEDIUM | …/learning-output-style/hooks-handlers/session-start.sh | 10 | "additionalContext": "You are in 'learning' output style mode, which combines interactive learning with educational | CODE |
| MEDIUM | …or/skills/skill-creator/eval-viewer/generate_review.py | 284 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …or/skills/skill-creator/eval-viewer/generate_review.py | 286 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/_base.py | 112 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 301 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 303 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 451 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 453 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 455 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 457 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 515 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 517 | # ===================================================================== | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 383 | # ===================================================================== | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 392 | # ===================================================================== | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 721 | # ─── push-sweep ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/patterns.py | 165 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/patterns.py | 167 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | plugins/security-guidance/hooks/diffstate.py | 260 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | plugins/security-guidance/hooks/diffstate.py | 262 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | plugins/security-guidance/hooks/diffstate.py | 264 | # ─── push-sweep reviewed-commit tracking ──────────────────────────────────── | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/diffstate.py | 21 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/diffstate.py | 23 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/diffstate.py | 39 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/diffstate.py | 41 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/diffstate.py | 244 | # ─── push-sweep reviewed-commit tracking ──────────────────────────────────── | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/diffstate.py | 349 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/diffstate.py | 351 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 23 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 25 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 67 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 69 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 179 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 181 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 286 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 288 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 157 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 159 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 223 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 225 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 326 | # ── 3rd-party provider routing (Bedrock / Vertex / Foundry / Mantle) ───── | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 357 | # ── Default review model ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/extensibility.py | 43 | # ── caps ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/extensibility.py | 57 | # ── public API ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/extensibility.py | 89 | # ── claude-security-guidance.md ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/extensibility.py | 144 | # ── security-patterns.{yaml,json} ──────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 124 | // ── Layout: circle-pack in a fixed world space ───────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 184 | // ── Colors ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 204 | // ── State ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 211 | // ── Render ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 327 | // ── Zoom / pan / hit-testing ──────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 389 | // ── Sidebar ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 434 | // ── Search ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 448 | // ── Edge-kind toggles & legend ────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 460 | // ── Flows ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 497 | // ── Observations ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 504 | // ── Boot ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …planatory-output-style/hooks-handlers/session-start.sh | 10 | "additionalContext": "You are in 'explanatory' output style mode, where you should provide educational insights abou | CODE |
| MEDIUM | .github/workflows/scan-plugins.yml | 385 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/scan-plugins.yml | 414 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …gins/claude-md-management/commands/revise-claude-md.md | 8 | ## Step 1: Reflect | COMMENT |
| LOW⚡ | …gins/claude-md-management/commands/revise-claude-md.md | 17 | ## Step 2: Find CLAUDE.md Files | COMMENT |
| LOW⚡ | …gins/claude-md-management/commands/revise-claude-md.md | 27 | ## Step 3: Draft Additions | COMMENT |
| LOW | …gins/claude-md-management/commands/revise-claude-md.md | 38 | ## Step 4: Show Proposed Changes | COMMENT |
| LOW | …gins/claude-md-management/commands/revise-claude-md.md | 52 | ## Step 5: Apply with Approval | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 24 | ## Step 1: Fetch PR Details | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 27 | ## Step 2: Review Files | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 35 | ## Step 3: Run Checks | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 43 | ## Step 4: Provide Feedback | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 216 | ## Step 1: Get test results | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 221 | ## Step 2: Categorize failures | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 226 | ## Step 3: Prioritize | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 232 | ## Step 4: Generate fix plan | COMMENT |
| LOW | …s/command-development/references/advanced-workflows.md | 530 | ## Step 1: Tests | COMMENT |
| LOW | …s/command-development/references/advanced-workflows.md | 546 | ## Step 2: Build | COMMENT |
| LOW | …command-development/references/interactive-commands.md | 82 | ## Step 1: Gather Configuration | COMMENT |
| LOW | …command-development/references/interactive-commands.md | 113 | ## Step 2: Process Answers | COMMENT |
| LOW | …command-development/references/interactive-commands.md | 122 | ## Step 3: Generate Configuration | COMMENT |
| LOW | …command-development/references/interactive-commands.md | 144 | ## Step 4: Confirm and Next Steps | COMMENT |
| LOW | plugins/plugin-dev/skills/skill-development/SKILL.md | 91 | ### Step 1: Understanding the Skill with Concrete Examples | COMMENT |
| LOW | plugins/plugin-dev/skills/skill-development/SKILL.md | 108 | ### Step 2: Planning the Reusable Skill Contents | COMMENT |
| LOW | plugins/plugin-dev/skills/skill-development/SKILL.md | 137 | ### Step 3: Create Skill Structure | COMMENT |
| LOW | plugins/plugin-dev/skills/skill-development/SKILL.md | 148 | ### Step 4: Edit the Skill | COMMENT |
| LOW | plugins/plugin-dev/skills/skill-development/SKILL.md | 212 | ### Step 5: Validate and Test | COMMENT |
| LOW | plugins/plugin-dev/skills/skill-development/SKILL.md | 232 | ### Step 6: Iterate | COMMENT |
| LOW | …skill-development/references/skill-creator-original.md | 91 | ### Step 1: Understanding the Skill with Concrete Examples | COMMENT |
| LOW | …skill-development/references/skill-creator-original.md | 108 | ### Step 2: Planning the Reusable Skill Contents | COMMENT |
| LOW | …skill-development/references/skill-creator-original.md | 132 | ### Step 3: Initializing the Skill | COMMENT |
| LOW | …skill-development/references/skill-creator-original.md | 155 | ### Step 4: Edit the Skill | COMMENT |
| LOW | …skill-development/references/skill-creator-original.md | 175 | ### Step 5: Packaging a Skill | COMMENT |
| LOW | …skill-development/references/skill-creator-original.md | 201 | ### Step 6: Iterate | COMMENT |
| LOW | …ls/plugin-settings/examples/create-settings-command.md | 12 | ### Step 1: Ask User for Preferences | COMMENT |
| LOW | …ls/plugin-settings/examples/create-settings-command.md | 57 | ### Step 2: Parse Answers | COMMENT |
| LOW | …ls/plugin-settings/examples/create-settings-command.md | 64 | ### Step 3: Create Settings File | COMMENT |
| LOW | …ls/plugin-settings/examples/create-settings-command.md | 83 | ### Step 4: Inform User | COMMENT |
| LOW | …ls/agent-development/examples/agent-creation-prompt.md | 7 | ### Step 1: Describe Your Agent Need | COMMENT |
| LOW | …ls/agent-development/examples/agent-creation-prompt.md | 15 | ### Step 2: Use the Generation Prompt | COMMENT |
| LOW | …ls/agent-development/examples/agent-creation-prompt.md | 27 | ### Step 3: Claude Returns JSON | COMMENT |
| LOW | …ls/agent-development/examples/agent-creation-prompt.md | 41 | ### Step 4: Convert to Agent File | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 169 | ### Step 1: Spawn all runs (with-skill AND baseline) in the same turn | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 199 | ### Step 2: While runs are in progress, draft assertions | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 207 | ### Step 3: As runs complete, capture timing data | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 221 | ### Step 4: Grade, aggregate, and launch the viewer | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 267 | ### Step 5: Read the feedback | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 337 | ### Step 1: Generate trigger eval queries | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 360 | ### Step 2: Review with user | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 375 | ### Step 3: Run the optimization loop | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 402 | ### Step 4: Apply the result | COMMENT |
| LOW⚡ | …ns/skill-creator/skills/skill-creator/agents/grader.md | 21 | ### Step 1: Read the Transcript | COMMENT |
| LOW⚡ | …ns/skill-creator/skills/skill-creator/agents/grader.md | 27 | ### Step 2: Examine Output Files | COMMENT |
| LOW⚡ | …ns/skill-creator/skills/skill-creator/agents/grader.md | 33 | ### Step 3: Evaluate Each Assertion | COMMENT |
| LOW⚡ | …ns/skill-creator/skills/skill-creator/agents/grader.md | 43 | ### Step 4: Extract and Verify Claims | COMMENT |
| LOW | …ns/skill-creator/skills/skill-creator/agents/grader.md | 61 | ### Step 5: Read User Notes | COMMENT |
| LOW | …ns/skill-creator/skills/skill-creator/agents/grader.md | 68 | ### Step 6: Critique the Evals | COMMENT |
| LOW | …ns/skill-creator/skills/skill-creator/agents/grader.md | 81 | ### Step 7: Write Grading Results | COMMENT |
| LOW | …ns/skill-creator/skills/skill-creator/agents/grader.md | 101 | ### Step 8: Read Executor Metrics and Timing | COMMENT |
| LOW⚡ | …kill-creator/skills/skill-creator/agents/comparator.md | 22 | ### Step 1: Read Both Outputs | COMMENT |
| LOW⚡ | …kill-creator/skills/skill-creator/agents/comparator.md | 29 | ### Step 2: Understand the Task | COMMENT |
| LOW⚡ | …kill-creator/skills/skill-creator/agents/comparator.md | 37 | ### Step 3: Generate Evaluation Rubric | COMMENT |
| LOW⚡ | …kill-creator/skills/skill-creator/agents/comparator.md | 60 | ### Step 4: Evaluate Each Output Against the Rubric | COMMENT |
| 21 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ver-dev/skills/build-mcpb/references/local-security.md | 71 | except Exception: | CODE |
| LOW | plugins/math-proof/skills/siege/scripts/ledger.py | 643 | except Exception as e: # fail closed, in words the orchestrator can relay | CODE |
| MEDIUM | …or/skills/skill-creator/eval-viewer/generate_review.py | 408 | print(f"Error: {workspace} is not a directory", file=sys.stderr) | CODE |
| LOW | …skill-creator/skills/skill-creator/scripts/run_eval.py | 223 | except Exception as e: | CODE |
| MEDIUM | …skill-creator/skills/skill-creator/scripts/run_eval.py | 276 | print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr) | CODE |
| LOW | …-creator/skills/skill-creator/scripts/package_skill.py | 106 | except Exception as e: | CODE |
| MEDIUM | …or/skills/skill-creator/scripts/improve_description.py | 205 | print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr) | CODE |
| MEDIUM | …skill-creator/skills/skill-creator/scripts/run_loop.py | 265 | print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr) | CODE |
| LOW | plugins/security-guidance/hooks/_base.py | 79 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/_base.py | 105 | except Exception: | CODE |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 412 | def _sweep(state): | CODE |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 992 | def _agentic() -> None: | CODE |
| LOW⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 444 | except Exception as e: | CODE |
| LOW⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 995 | except Exception as e: # pragma: no cover — crash → let fallback win | CODE |
| LOW⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 1011 | except Exception as e: # pragma: no cover | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 472 | except Exception: | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 481 | except Exception: | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 494 | except Exception: | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1427 | except Exception: | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 2249 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/session_state.py | 84 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 317 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 415 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 449 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 462 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 474 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 541 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 696 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 772 | except Exception as exc: | CODE |
| LOW | plugins/security-guidance/hooks/reporesolve.py | 59 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/reporesolve.py | 264 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/reporesolve.py | 273 | except Exception: | CODE |
| MEDIUM | plugins/security-guidance/hooks/reporesolve.py | 35 | def _abs(base, p): | CODE |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 1453 | def _tolerant(data): | CODE |
| LOW⚡ | plugins/security-guidance/hooks/llm.py | 1376 | except Exception as e: # ImportError or transitive failure | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 101 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 425 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 503 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 529 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 543 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 607 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 1357 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 1456 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 1461 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 1569 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 1636 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 1804 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/extensibility.py | 69 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/extensibility.py | 74 | except Exception as e: | CODE |
| LOW | plugins/code-modernization/scripts/telemetry.py | 716 | except Exception as err: # a usage count must never break the person's session | CODE |
| LOW | plugins/code-modernization/scripts/telemetry.py | 726 | except Exception: # reporting a problem must not become one | CODE |
| MEDIUM | plugins/code-modernization/scripts/telemetry.py | 194 | def plugin_version(): | CODE |
| LOW | plugins/hookify/core/config_loader.py | 236 | except Exception as e: | CODE |
| MEDIUM⚡ | plugins/hookify/core/config_loader.py | 264 | print(f"Error: Cannot read {file_path}: {e}", file=sys.stderr) | CODE |
| MEDIUM⚡ | plugins/hookify/core/config_loader.py | 267 | print(f"Error: Malformed rule file {file_path}: {e}", file=sys.stderr) | CODE |
| MEDIUM⚡ | plugins/hookify/core/config_loader.py | 270 | print(f"Error: Invalid encoding in {file_path}: {e}", file=sys.stderr) | CODE |
| LOW⚡ | plugins/hookify/core/config_loader.py | 272 | except Exception as e: | CODE |
| MEDIUM⚡ | plugins/hookify/core/config_loader.py | 273 | print(f"Error: Unexpected error parsing {file_path} ({type(e).__name__}): {e}", file=sys.stderr) | CODE |
| LOW | plugins/hookify/hooks/userpromptsubmit.py | 42 | except Exception as e: | CODE |
| LOW | plugins/hookify/hooks/stop.py | 42 | except Exception as e: | CODE |
| 2 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ls/build-mcp-server/references/remote-http-scaffold.md | 194 | **Fastest path:** Cloudflare Workers — two commands from zero to a live `https://` URL on the free tier. Uses a Workers- | CODE |
| MEDIUM | plugins/plugin-dev/skills/plugin-settings/SKILL.md | 426 | ### multi-agent-swarm Plugin | COMMENT |
| MEDIUM | …ills/plugin-settings/references/real-world-examples.md | 5 | ## multi-agent-swarm Plugin | COMMENT |
| MEDIUM | …ev/skills/plugin-structure/examples/advanced-plugin.md | 225 | ### agents/orchestration/deployment-orchestrator.md | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 1453 | # `agentic` = which path produced the result, not which was attempted. | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 1454 | # On race-loss the _fallback() metrics dict has agentic=False — emitting | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 1456 | # `agentic=true` queries and overstates agentic yield. | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 1463 | # 1 = agentic won, 2 = single-shot fallback won. review_ms already | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 74 | # review_api is the importable surface for the agentic-review prompts, | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 75 | # schemas, and pure filters. External callers (e.g. agentic review harnesses) | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 163 | # Lets multi-agent / shared-worktree deployments keep the commit reviewer | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 1005 | return # agentic finished within the delay — never start fallback | CODE |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 1399 | # Fall back to single-shot only on agentic FAILURE (SDK/investigate | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 1400 | # crash). If agentic completed and returned 0 findings, trust that. | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 1817 | # Metrics — keep within the 10-key cap; agentic sub-metrics are dropped | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 1819 | # to the per-commit fires for agentic detail). rewake_summary must ride | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/gitutil.py | 861 | # single-shot and agentic reviews disagree on most (auth, routing, IPC, | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/ensure_agent_sdk.py | 48 | # recovers the agentic reviewer for them instead of degrading to pattern + | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/ensure_agent_sdk.py | 849 | # One-time user-visible notice when the agentic reviewer is dead on | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 532 | # the agentic path to have run first. | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 1306 | # core.pager, core.sshCommand, or an inherited GIT_* var. The agentic | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 1512 | # cause of agentic fallbacks in remote sessions. Clearing them | COMMENT |
| MEDIUM | …ins/code-modernization/workflows/reimagine-scaffold.js | 25 | // could traverse out of the scaffold directory, whatever upstream produced. | COMMENT |
| MEDIUM | …ugins/code-modernization/workflows/portfolio-assess.js | 94 | // person-months / weeks / dates (agentic transformation breaks COCOMO's | COMMENT |
| MEDIUM | …ins/code-modernization/commands/modernize-reimagine.md | 61 | ## Phase E — Parallel scaffolding (only after Phase D approval) | COMMENT |
| MEDIUM | .claude-plugin/marketplace.json | 4420 | "url": "https://github.com/amzn/selling-partner-agentic-toolkit.git", | CODE |
| MEDIUM | .claude-plugin/marketplace.json | 4423 | "homepage": "https://github.com/amzn/selling-partner-agentic-toolkit" | CODE |
| MEDIUM | .github/workflows/revert-failed-bumps.yml | 10 | # Scope and guardrails — this job has contents:write so it must be tight: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plugins/math-proof/skills/siege/scripts/ledger.py | 416 | CODE | |
| LOW | plugins/math-proof/skills/siege/scripts/ledger.py | 600 | CODE | |
| LOW | …or/skills/skill-creator/eval-viewer/generate_review.py | 85 | CODE | |
| LOW | …or/skills/skill-creator/eval-viewer/generate_review.py | 149 | CODE | |
| LOW | …or/skills/skill-creator/eval-viewer/generate_review.py | 288 | CODE | |
| LOW | …skill-creator/skills/skill-creator/scripts/run_eval.py | 35 | CODE | |
| LOW | …-creator/skills/skill-creator/scripts/package_skill.py | 42 | CODE | |
| LOW | …or/skills/skill-creator/scripts/improve_description.py | 50 | CODE | |
| LOW | …or/skills/skill-creator/scripts/aggregate_benchmark.py | 67 | CODE | |
| LOW | …reator/skills/skill-creator/scripts/generate_report.py | 16 | CODE | |
| LOW | …ns/skill-creator/skills/skill-creator/scripts/utils.py | 7 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 405 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 459 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 502 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 761 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1549 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 2252 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 412 | CODE | |
| LOW | plugins/security-guidance/hooks/session_state.py | 49 | CODE | |
| LOW | plugins/security-guidance/hooks/diffstate.py | 287 | CODE | |
| LOW | plugins/security-guidance/hooks/diffstate.py | 304 | CODE | |
| LOW | plugins/security-guidance/hooks/gitutil.py | 177 | CODE | |
| LOW | plugins/security-guidance/hooks/gitutil.py | 214 | CODE | |
| LOW | plugins/security-guidance/hooks/gitutil.py | 692 | CODE | |
| LOW | plugins/security-guidance/hooks/gitutil.py | 1035 | CODE | |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 321 | CODE | |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 478 | CODE | |
| LOW | plugins/security-guidance/hooks/reporesolve.py | 63 | CODE | |
| LOW | plugins/security-guidance/hooks/reporesolve.py | 145 | CODE | |
| LOW | plugins/security-guidance/hooks/reporesolve.py | 170 | CODE | |
| LOW | plugins/security-guidance/hooks/llm.py | 1330 | CODE | |
| LOW | plugins/security-guidance/hooks/extensibility.py | 147 | CODE | |
| LOW | plugins/security-guidance/hooks/extensibility.py | 272 | CODE | |
| LOW | plugins/code-modernization/scripts/proof_pack.py | 339 | CODE | |
| LOW | plugins/code-modernization/scripts/proof_pack.py | 881 | CODE | |
| LOW | plugins/code-modernization/scripts/baseline_diff.py | 135 | CODE | |
| LOW | plugins/code-modernization/scripts/baseline_diff.py | 207 | CODE | |
| LOW | plugins/code-modernization/scripts/baseline_diff.py | 258 | CODE | |
| LOW | plugins/code-modernization/scripts/baseline_diff.py | 295 | CODE | |
| LOW | plugins/code-modernization/scripts/baseline_diff.py | 501 | CODE | |
| LOW | plugins/code-modernization/scripts/baseline_diff.py | 525 | CODE | |
| LOW | plugins/code-modernization/scripts/baseline_diff.py | 633 | CODE | |
| LOW | plugins/code-modernization/scripts/baseline_diff.py | 212 | CODE | |
| LOW | plugins/code-modernization/scripts/telemetry.py | 408 | CODE | |
| LOW | plugins/code-modernization/scripts/telemetry.py | 623 | CODE | |
| LOW | plugins/code-modernization/scripts/telemetry.py | 657 | CODE | |
| LOW | plugins/code-modernization/scripts/build_report.py | 147 | CODE | |
| LOW | plugins/code-modernization/scripts/build_report.py | 207 | CODE | |
| LOW | plugins/code-modernization/scripts/build_report.py | 499 | CODE | |
| LOW | plugins/code-modernization/scripts/make_shards.py | 113 | CODE | |
| LOW | plugins/code-modernization/scripts/make_shards.py | 160 | CODE | |
| LOW | plugins/code-modernization/scripts/make_shards.py | 116 | CODE | |
| LOW | plugins/code-modernization/scripts/trace_rules.py | 250 | CODE | |
| LOW | plugins/code-modernization/scripts/trace_rules.py | 327 | CODE | |
| LOW | plugins/code-modernization/scripts/uplift_checks.py | 52 | CODE | |
| LOW | plugins/code-modernization/scripts/uplift_checks.py | 96 | CODE | |
| LOW | plugins/code-modernization/scripts/compare.py | 74 | CODE | |
| LOW | plugins/code-modernization/scripts/compare.py | 338 | CODE | |
| LOW | plugins/hookify/core/config_loader.py | 87 | CODE | |
| LOW | plugins/hookify/core/config_loader.py | 198 | CODE | |
| 10 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plugins/math-proof/skills/siege/scripts/ledger.py | 51 | CODE | |
| LOW | …creator/skills/skill-creator/scripts/quick_validate.py | 7 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 59 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 60 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 68 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 69 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 70 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 71 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 80 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 81 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 81 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 81 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 81 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 81 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 81 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 81 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 81 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 89 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 89 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 89 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 89 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 89 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 89 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 89 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 95 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 95 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 95 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 95 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 95 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 99 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 113 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 113 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 113 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 113 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 113 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 113 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 113 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 129 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 129 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 129 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 129 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 129 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 129 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 129 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 129 | CODE | |
| 33 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plugins/receipts/skills/receipts/SKILL.md | 81 | "activeDays": 24, "calendarDays": 30, // activeDays <= calendarDays, always | COMMENT |
| LOW | plugins/receipts/skills/receipts/SKILL.md | 101 | // a null commit count means something different and much more ordinary: no | COMMENT |
| LOW | …h-olympiad/skills/math-olympiad/scripts/check_latex.sh | 1 | #!/bin/bash | COMMENT |
| LOW | plugins/security-guidance/hooks/_base.py | 121 | # HTTP error visibility (#2098 visibility gap — see emit comment in | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 141 | ) | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 161 | ENABLE_COMMIT_REVIEW = os.environ.get("ENABLE_COMMIT_REVIEW", "1") != "0" | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 561 | COMMENT | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 681 | # detection — it does NOT tolerate `git -c k=v commit` global options, which | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 721 | # ─── push-sweep ───────────────────────────────────────────────────────────── | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1181 | save_repo_hint(session_id, repo_root) | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1221 | # `git commit --amend`: review only the delta added by the amend | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1241 | # multi-SHA `shas` list (it would diff every entry against the same | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1621 | # range. `git push origin other` while checked out elsewhere, or a | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1741 | # them would silently advance the prefix past unreviewed commits | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1841 | # isn't a wall of text; the rest go to telemetry (vulns_found is the | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 2301 | handle_user_prompt_submit(input_data) | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 2321 | # spawn loses the tool_use_id sentinel race and exits early with | COMMENT |
| LOW | plugins/security-guidance/hooks/diffstate.py | 21 | # ===================================================================== | COMMENT |
| LOW | plugins/security-guidance/hooks/diffstate.py | 241 | return None | COMMENT |
| LOW | plugins/security-guidance/hooks/diffstate.py | 261 | # Reviewed-SHA log (commit/push dedup) | COMMENT |
| LOW | plugins/security-guidance/hooks/gitutil.py | 21 | COMMENT | |
| LOW | plugins/security-guidance/hooks/gitutil.py | 821 | # These are by-convention extensionless but contain executable recipes/DSL | COMMENT |
| LOW | plugins/security-guidance/hooks/gitutil.py | 941 | base = os.path.basename(file_path).lower() | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 41 | HOOK_PY_INCOMPATIBLE = 6 # hook interpreter is <3.10 — SDK syntax can't load | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 61 | # session). Keyed by marker mtime. | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 101 | # RLIMIT_AS SIGSEGV, empty streams. The | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 121 | # match a more specific category above | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 481 | err_phase / err_kind are non-empty only on BUILD_FAILED — they let | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 581 | # --prefer-binary: on ARM64 Windows, pip's default resolver picks a | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 601 | # Signal kill (OOM-killer SIGKILL / RLIMIT_AS SIGSEGV) — rc<0, empty | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 781 | # | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 821 | metrics["sdk_bootstrap_rc"] = rc | COMMENT |
| LOW | plugins/security-guidance/hooks/llm.py | 141 | # newest Opus it knows how to drive, in the provider's id form on 3P. | COMMENT |
| LOW | plugins/security-guidance/hooks/llm.py | 1421 | # itself (e.g. ~/.local/share/claude/versions/2.1.x — that's the binary, | COMMENT |
| LOW | plugins/security-guidance/hooks/llm.py | 1481 | setting_sources=[], | COMMENT |
| LOW | plugins/security-guidance/hooks/llm.py | 1501 | # env as {**os.environ, **opts.env}, so the inner claude inherits | COMMENT |
| LOW | plugins/security-guidance/hooks/sg-python.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | plugins/security-guidance/hooks/sg-python.sh | 21 | # bash "${CLAUDE_PLUGIN_ROOT}/hooks/sg-python.sh" \ | COMMENT |
| LOW | plugins/code-modernization/workflows/extract-rules.js | 21 | // MODULE MODE — `modules: [{name, domain?, files: [..], loc?}]` present. | COMMENT |
| LOW | plugins/code-modernization/workflows/extract-rules.js | 41 | // shape (plus `mode` and the module/batch/coverage stats). | COMMENT |
| LOW | plugins/code-modernization/workflows/extract-rules.js | 121 | // or `:`). It is checked word by word too, because a shell splits on the spaces | COMMENT |
| LOW | plugins/code-modernization/assets/topology-viewer.html | 41 | .swatch { width: 14px; height: 3px; border-radius: 2px; display: inline-block; } | COMMENT |
| LOW | .github/workflows/revert-failed-bumps.yml | 1 | name: Revert Failed Bumps | COMMENT |
| LOW | .github/workflows/check-mcp-urls.yml | 1 | name: Check MCP URLs | COMMENT |
| LOW | .github/workflows/external-pr-scope-guard.yml | 1 | name: External PR Scope Guard | COMMENT |
| LOW | .github/workflows/scan-plugins.yml | 1 | name: Scan Plugins | COMMENT |
| LOW | .github/workflows/scan-plugins.yml | 81 | # Federation (anthropic-federation-rule-id input) — the IDs are literal | COMMENT |
| LOW | .github/workflows/scan-plugins.yml | 381 | echo "::error::Scan step failed without a parseable policy verdict (likely an infra error)." | COMMENT |
| LOW | .github/workflows/scan-plugins.yml | 401 | # scan action evaluated this SHA fresh, `cached` when a prior verdict was | COMMENT |
| LOW | .github/workflows/bump-plugin-shas.yml | 1 | name: Bump Plugin SHAs | COMMENT |
| LOW | .github/workflows/validate-plugins.yml | 21 | - 'external_plugins/*/.claude-plugin/**' | COMMENT |
| LOW | .github/scripts/external-pr-scope.js | 1 | 'use strict'; | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …gin-dev/skills/hook-development/scripts/hook-linter.sh | 3 | # Checks hook scripts for common issues and best practices | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/ensure_agent_sdk.py | 763 | # Tell the harness this is async — venv create + pip install can take | COMMENT |
| MEDIUM⚡ | plugins/security-guidance/hooks/llm.py | 1384 | # eval harness it's a temp dir with ONLY touched_paths — the agent can't | COMMENT |
| MEDIUM⚡ | plugins/security-guidance/hooks/llm.py | 1385 | # trace cross-file data flow. The harness sets SG_AGENTIC_CONTEXT_DIR to a | COMMENT |
| MEDIUM | plugins/code-modernization/scripts/proof_pack.py | 859 | # a folder of only test code and the files that build it (a parity harness) is not a module: listed, not judged, not | COMMENT |
| MEDIUM⚡ | …de-modernization/scripts/tests/test_proof_rules_run.py | 308 | self.assertNotIn("## harness", md) | STRING |
| MEDIUM⚡ | …de-modernization/scripts/tests/test_proof_rules_run.py | 327 | self.assertEqual((pack["overall"]["verdict"], [m["verdict"] for m in pack["modules"]]), ("PROVEN", ["PROVEN"])) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …n-dev/skills/hook-development/examples/load-context.sh | 17 | # Check if TypeScript | COMMENT |
| LOW | …kills/hook-development/scripts/validate-hook-schema.sh | 123 | # Check if prompt-based hooks are used on supported events | COMMENT |
| LOW | plugins/security-guidance/hooks/diffstate.py | 209 | # Check if HEAD exists (i.e., repo has at least one commit) | COMMENT |
| LOW | plugins/ralph-loop/hooks/stop-hook.sh | 12 | # Check if ralph-loop is active | COMMENT |
| LOW | plugins/ralph-loop/hooks/stop-hook.sh | 60 | # Check if max iterations reached | COMMENT |
| LOW | plugins/ralph-loop/hooks/stop-hook.sh | 118 | # Check if jq succeeded | COMMENT |
| LOW | plugins/hookify/core/config_loader.py | 163 | # Check if this is an inline dict (key: value on same line) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …gins/pr-review-toolkit/agents/silent-failure-hunter.md | 3 | description: Use this agent when reviewing code changes in a pull request to identify silent failures, inadequate error | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | external_plugins/context7/README.md | 18 | export CONTEXT7_API_KEY="your-api-key" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | external_plugins/imessage/skills/access/SKILL.md | 56 | or "user@example.com"). Chat IDs are iMessage chat GUIDs (e.g. | CODE |