AI Slop Code RIsk Monitor

Unclecheng-li/VulnClaw

基于 AI Agent + MCP 工具链 + 渗透 Skill 编排, 配合大语言模型, 自然语言输入 → 自动完成「信息收集 → 漏洞发现 → 漏洞利用 → 报告生成」全流程。

21.3 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for Unclecheng-li/VulnClaw, a Python project with 3,530 GitHub stars. SynthScan examined 189,154 lines of code across 690 source files, recording 2881 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 21.3 (Elevated 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.

21.3
Adjusted Signal
21.3
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
3.5K
Stars
Python
Language
189.2K
Lines of Code
690
Files
2.9K
Pattern Hits
2026-10-12
Scan Date
0.13
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 39.4/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 9.2/100 · LOW

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

Agent Over-Engineering Ratio 59.8/100 · HIGH

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

PR Review Velocity Impact 66.1/100 · HIGH

Which changes need focused human review? 2881 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 1HIGH 92MEDIUM 369LOW 2419

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 2881 distinct pattern matches across 21 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 Identifiers1676 hits · 1666 pts
SeverityFileLineSnippetContext
LOWfrontend/src/App.tsx222 function openBoundaryForActiveTask() {CODE
LOWfrontend/src/utils/preferences.ts82function normalizeBoundaryDefaults(value: unknown): BoundaryDefaults {CODE
LOWfrontend/src/utils/taskLabels.ts123export function countConstraintViolations(CODE
LOWfrontend/src/pages/SafetyBoundaryPage.tsx90function boundaryDefaultsToConstraints(defaults: BoundaryDefaults): Record<string, unknown> {CODE
LOW⚡tests/test_codescan.py56def test_rule_compile_and_match():STRING
LOW⚡tests/test_codescan.py84def test_scan_finds_expected_vulns(tmp_path):CODE
LOWtests/test_codescan.py96def test_scan_layer_filtering(tmp_path):CODE
LOWtests/test_codescan.py113def test_scan_skips_git_and_node_modules(tmp_path):CODE
LOWtests/test_context_budget.py46def test_group_truncation_keeps_assistant_tool_exchange_together():CODE
LOWtests/test_context_budget.py66def test_prepare_context_compacts_history_and_records_durable_digest():CODE
LOWtests/test_context_budget.py84def test_tool_schema_and_output_reserve_are_part_of_budget():CODE
LOWtests/test_context_budget.py106def test_disabled_auto_compaction_preserves_history_until_hard_limit():CODE
LOWtests/test_context_budget.py121def test_legacy_solve_compaction_settings_migrate_to_global_policy():CODE
LOWtests/test_context_budget.py136def test_new_context_settings_take_precedence_over_legacy_aliases():CODE
LOWtests/traffic/test_report_export.py20def test_verified_finding_inlines_http_capture(tmp_path):CODE
LOWtests/traffic/test_report_export.py32def _run_http_capture_inlining_assertions(tmp_path):CODE
LOWtests/traffic/test_report_export.py76def test_verified_finding_inlines_http_capture_english(tmp_path):CODE
LOWtests/traffic/test_report_export.py128def test_shared_resolver_finds_config_default_when_no_run_captures(tmp_path, monkeypatch):CODE
LOWtests/traffic/test_report_export.py161def test_write_resolver_never_falls_back_to_stale_store(tmp_path, monkeypatch):CODE
LOWtests/traffic/test_report_export.py184def test_report_without_captures_is_unaffected(tmp_path):CODE
LOWtests/traffic/test_normalize_replay.py27def test_burp_history_normalizes_with_proxy_source(tmp_path):CODE
LOWtests/traffic/test_normalize_replay.py51def test_chrome_devtools_normalizes_with_browser_source(tmp_path):CODE
LOWtests/traffic/test_normalize_replay.py72def test_replay_issues_with_overrides_and_records_manual_replay(tmp_path):CODE
LOWtests/traffic/test_store.py33def test_in_scope_request_writes_one_line_and_blobs(tmp_path):CODE
LOWtests/traffic/test_store.py61def test_request_id_stable_across_resume(tmp_path):CODE
LOW⚡tests/traffic/test_store.py81def test_out_of_scope_host_is_dropped(tmp_path):CODE
LOW⚡tests/traffic/test_store.py89def test_subdomain_scope_mode(tmp_path):CODE
LOW⚡tests/traffic/test_store.py97def test_sitemap_reflects_hosts_and_paths(tmp_path):CODE
LOWtests/traffic/test_replay_body.py13def test_replay_body_override_updates_content_length(tmp_path, length_header, body):CODE
LOWtests/traffic/test_replay_body.py48def test_replay_without_body_override_preserves_request(tmp_path):CODE
LOWtests/traffic/test_backends.py52def test_availability_helpers_return_bool():CODE
LOWtests/traffic/test_backends.py57def test_mitm_addon_captures_in_scope_flow(tmp_path):CODE
LOWtests/traffic/test_backends.py71def test_mitm_addon_drops_out_of_scope_flow(tmp_path):CODE
LOWtests/traffic/test_backends.py79def test_exchange_from_flow_maps_fields():CODE
LOWtests/traffic/test_backends.py127def test_browser_bridge_captures_in_scope_with_body(tmp_path):CODE
LOWtests/traffic/test_backends.py143def test_exchange_from_playwright_handles_callable_and_attr():CODE
LOWtests/traffic/test_tools.py48def test_traffic_list_enumerates_and_filters(tmp_path):CODE
LOW⚡tests/traffic/test_tools.py59def test_traffic_view_returns_stored_pair(tmp_path):CODE
LOW⚡tests/traffic/test_tools.py68def test_traffic_view_missing_id(tmp_path):CODE
LOW⚡tests/traffic/test_tools.py73def test_traffic_repeat_records_manual_replay(tmp_path):CODE
LOWtests/traffic/test_tools.py90def test_traffic_sitemap_reflects_capture(tmp_path):CODE
LOWtests/traffic/test_tools.py98def test_schemas_cover_all_tool_names():CODE
LOW⚡tests/traffic/test_tools.py117async def test_execute_mcp_tool_routes_traffic(tmp_path):CODE
LOW⚡tests/traffic/test_tools.py127def test_build_openai_tools_includes_traffic():CODE
LOW⚡tests/traffic/test_tools.py135async def test_traffic_repeat_blocked_by_host_constraint(tmp_path):CODE
LOWtests/traffic/test_tools.py153def test_traffic_repeat_guard_allows_in_scope_and_uses_stored_url(tmp_path):CODE
LOW⚡tests/intel/test_attack.py10def test_mapper_maps_findings_to_techniques():CODE
LOW⚡tests/intel/test_attack.py18def test_tool_techniques_lookup():CODE
LOW⚡tests/intel/test_attack.py24def test_navigator_layer_is_valid_json():CODE
LOW⚡tests/intel/test_attack.py32def test_format_report_markdown():CODE
LOW⚡tests/intel/test_attack.py38def test_list_tactics_and_techniques():CODE
LOW⚡tests/intel/test_attack.py44async def test_tool_markdown_default():CODE
LOW⚡tests/intel/test_attack.py50async def test_tool_navigator_format():CODE
LOWtests/intel/test_attack.py69async def test_tool_session_fallback():CODE
LOWtests/intel/test_agent_seam.py6def test_builder_includes_intel_schemas():CODE
LOWtests/intel/test_agent_seam.py13async def test_execute_routes_intel_tool(monkeypatch):CODE
LOW⚡tests/intel/test_findings.py21def test_finding_risk_uses_severity_weight():CODE
LOW⚡tests/intel/test_findings.py26def test_finding_risk_prefers_cvss():CODE
LOW⚡tests/intel/test_findings.py31def test_score_findings_counts_and_total():CODE
LOW⚡tests/intel/test_findings.py42def test_score_findings_open_only_false_includes_rejected():CODE
1616 more matches not shown…
Decorative Section Separators355 hits · 1108 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml47 # ── 沙箱依赖(python_execute 运行时)──────────────────────────────COMMENT
MEDIUM⚡tests/test_codescan.py52# ---------------------------------------------------------------------------STRING
MEDIUM⚡tests/test_codescan.py54# ---------------------------------------------------------------------------STRING
MEDIUM⚡tests/test_codescan.py80# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_codescan.py82# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_codescan.py126# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_codescan.py128# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_codescan.py168# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_codescan.py170# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/intel/test_osint.py53# ── pure helpers ─────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/intel/test_osint.py71# ── HTTP features via MockTransport ──────────────────────────────────────────COMMENT
MEDIUMtests/intel/test_osint.py149# ── DNS fallback ─────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/intel/test_osint.py164# ── formatting ───────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/intel/test_osint.py183# ── tool ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/kb/test_kb_fallback.py46# ── Automatic degradation when ChromaDB unavailable ──────────────────COMMENT
MEDIUM⚡tests/kb/test_kb_fallback.py70# ── Keyword retrieval functionality ──────────────────────────────────COMMENT
MEDIUM⚡tests/kb/test_kb_fallback.py115# ── Status reporting ─────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/kb/test_kb_fallback.py133# ── Retrieval result caching (via kb_context) ────────────────────────COMMENT
MEDIUM⚡tests/kb/test_kb_fallback.py304# ── Full-corpus loading from store ───────────────────────────────────COMMENT
MEDIUMtests/kb/test_kb_fallback.py199# ── Language gate (ticket #65) ────────────────────────────────────────COMMENT
MEDIUM⚡tests/kb/test_ranking.py4# ── bigram_tokenize ──────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/kb/test_ranking.py45# ── BM25 ─────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/kb/test_ranking.py84# ── RerankedRetriever (two-stage glue) ───────────────────────────────COMMENT
MEDIUMtests/kb/test_ranking.py129# ── KnowledgeRetriever rerank opt-in ─────────────────────────────────COMMENT
MEDIUMtests/kb/test_kb.py4# ── store.py ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/kb/test_kb.py268# ── retriever.py ─────────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/kb/test_kb.py398# ── updater.py ───────────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/config/test_token_provider.py26# ── static mode ──────────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/config/test_token_provider.py46# ── oauth store + resolution ─────────────────────────────────────────COMMENT
MEDIUM⚡tests/config/test_token_provider.py81# ── Sign in with ChatGPT (Codex OAuth client) ────────────────────────COMMENT
MEDIUMtests/config/test_config.py6# ── schema.py ────────────────────────────────────────────────────────COMMENT
MEDIUMtests/config/test_config.py330# ── settings.py ──────────────────────────────────────────────────────COMMENT
MEDIUMtests/tui/events.rs619// ── Execution approval modal (C-1/C-2) ─────────────────────────────────COMMENT
MEDIUMtests/agent/test_agent.py7# ── context.py ───────────────────────────────────────────────────────COMMENT
MEDIUMtests/agent/test_agent.py560# ── memory.py ────────────────────────────────────────────────────────COMMENT
MEDIUMtests/agent/test_agent.py852# ── prompts.py ───────────────────────────────────────────────────────COMMENT
MEDIUMtests/agent/test_agent.py967# ── core.py ──────────────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/agent/test_finding_similarity.py15# ── normalize_text ───────────────────────────────────────────────────COMMENT
MEDIUMtests/agent/test_finding_similarity.py37# ── text_similarity ──────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/agent/test_finding_similarity.py63# ── url_similarity ───────────────────────────────────────────────────COMMENT
MEDIUMtests/agent/test_finding_similarity.py97# ── normalize_vuln_type ──────────────────────────────────────────────COMMENT
MEDIUMtests/agent/test_finding_similarity.py134# ── finding_similarity ───────────────────────────────────────────────COMMENT
MEDIUMtests/agent/test_finding_similarity.py184# ── deduplicate_findings ─────────────────────────────────────────────COMMENT
MEDIUMtests/agent/test_finding_similarity.py238# ── SessionState integration ─────────────────────────────────────────COMMENT
MEDIUMtests/agent/test_recon_tools.py55# ── JS 提取(纯函数)────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/agent/test_recon_tools.py119# ── 空间测绘:查询构造 + 解析 ───────────────────────────────────────COMMENT
MEDIUMtests/agent/test_recon_tools.py172# ── 目录枚举:全局伪装 200 识别 ─────────────────────────────────────COMMENT
MEDIUMtests/agent/test_recon_tools.py214# ── 子域名枚举:被动聚合 + 字典爆破关闭时不解析 ─────────────────────COMMENT
MEDIUMtests/agent/test_chatgpt_proxy.py14# ── Pure translation functions ───────────────────────────────────────COMMENT
MEDIUMtests/agent/test_chatgpt_proxy.py138# ── Integration: proxy server ↔ mock ChatGPT backend ─────────────────COMMENT
MEDIUM⚡tests/agent/test_agent_graph.py41# ── Node lifecycle ───────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/agent/test_agent_graph.py221# ── Persistence ──────────────────────────────────────────────────────COMMENT
MEDIUMtests/agent/test_agent_graph.py133# ── Root-completion rule (fail-loud) ─────────────────────────────────COMMENT
MEDIUMtests/agent/test_agent_graph.py176# ── Bounded fan-out caps ─────────────────────────────────────────────COMMENT
MEDIUMtests/agent/test_agent_graph.py266# ── Resume ───────────────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/mcp/test_mcp_lifecycle.py95# ── start / stop ─────────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/mcp/test_mcp_lifecycle.py157# ── graceful termination (SIGTERM-then-SIGKILL semantics) ────────────COMMENT
MEDIUM⚡tests/mcp/test_mcp_lifecycle.py204# ── auto-restart ─────────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/mcp/test_mcp_lifecycle.py361# ── stats tracking ───────────────────────────────────────────────────COMMENT
MEDIUMtests/mcp/test_mcp_lifecycle.py302# ── health check ─────────────────────────────────────────────────────COMMENT
295 more matches not shown…
Empty Error Handlers83 hits · 415 pts
SeverityFileLineSnippetContext
HIGHtests/config/test_token_provider.py147except Exception:CODE
HIGHtests/meta/test_release_workflow.py25except FileNotFoundError:CODE
HIGHtests/meta/test_release_workflow.py39except ValueError:CODE
HIGHtests/agent/test_llm_client_streaming.py935except asyncio.CancelledError:CODE
HIGHtests/mcp/test_mcp.py268except Exception:CODE
HIGHtests/cli/test_wizard.py66except Exception:CODE
HIGHtests/report/test_report.py297except Exception:CODE
HIGHvulnclaw/targets.py152except ValueError:CODE
HIGHvulnclaw/tui_backend.py559except asyncio.CancelledError:CODE
HIGHvulnclaw/tui_backend.py770except asyncio.CancelledError:CODE
HIGHvulnclaw/orchestrator.py243except Exception:CODE
HIGHvulnclaw/intel/findings.py61except (TypeError, ValueError):CODE
HIGHvulnclaw/intel/osint.py343except ImportError:CODE
HIGHvulnclaw/kb/store.py26except OSError:CODE
HIGHvulnclaw/kb/store.py134except OSError:CODE
HIGHvulnclaw/kb/experience.py406except OSError:CODE
HIGHvulnclaw/web/auth.py64except OSError:CODE
HIGHvulnclaw/agent/recon_tools.py811except OSError:CODE
HIGHvulnclaw/agent/recon_tools.py867except Exception:CODE
HIGHvulnclaw/agent/recon_tools.py420except Exception:CODE
HIGHvulnclaw/agent/recon_tools.py564except Exception:CODE
HIGHvulnclaw/agent/recon_tools.py735except Exception:CODE
HIGHvulnclaw/agent/prompt_context.py317except Exception:CODE
HIGHvulnclaw/agent/solver.py227except (TypeError, ValueError):CODE
HIGHvulnclaw/agent/solver.py829except Exception:CODE
HIGHvulnclaw/agent/solver.py810except Exception:CODE
HIGHvulnclaw/agent/memory.py170except OSError:CODE
HIGHvulnclaw/agent/memory.py101except OSError:CODE
HIGHvulnclaw/agent/context_vault.py318except OSError:CODE
HIGHvulnclaw/agent/core.py291except Exception:CODE
HIGHvulnclaw/agent/network_scan.py467except Exception:CODE
HIGHvulnclaw/agent/network_scan.py475except Exception:CODE
HIGHvulnclaw/agent/exec_gate.py440except RuntimeError:CODE
HIGHvulnclaw/agent/builtin_tools.py597except Exception:CODE
HIGHvulnclaw/agent/builtin_tools.py636except OSError:CODE
HIGHvulnclaw/agent/builtin_tools.py1607except Exception:CODE
HIGHvulnclaw/agent/builtin_tools.py1761except Exception:CODE
HIGHvulnclaw/agent/builtin_tools.py2482except Exception:CODE
HIGHvulnclaw/agent/builtin_tools.py630except Exception:CODE
HIGHvulnclaw/agent/builtin_tools.py1084except Exception:CODE
HIGHvulnclaw/agent/builtin_tools.py1623except Exception:CODE
HIGHvulnclaw/agent/builtin_tools.py2387except OSError:CODE
HIGHvulnclaw/agent/builtin_tools.py2661except Exception:CODE
HIGHvulnclaw/agent/builtin_tools.py479except subprocess.TimeoutExpired:CODE
HIGHvulnclaw/agent/builtin_tools.py616except (ProcessLookupError, PermissionError, OSError):CODE
HIGHvulnclaw/agent/builtin_tools.py2405except OSError:CODE
HIGHvulnclaw/agent/builtin_tools.py2442except OSError:CODE
HIGHvulnclaw/agent/builtin_tools.py2450except OSError:CODE
HIGHvulnclaw/agent/builtin_tools.py469except subprocess.TimeoutExpired:CODE
HIGHvulnclaw/agent/builtin_tools.py463except OSError:CODE
HIGHvulnclaw/agent/skill_context.py158except Exception:CODE
HIGHvulnclaw/mcp/_probe_mixin.py317except BaseException:CODE
HIGHvulnclaw/mcp/lifecycle.py303except RuntimeError:CODE
HIGHvulnclaw/mcp/lifecycle.py538except BaseException:CODE
HIGHvulnclaw/mcp/lifecycle.py632except Exception:CODE
HIGHvulnclaw/mcp/lifecycle.py702except Exception:CODE
HIGHvulnclaw/mcp/lifecycle.py1120except Exception:CODE
HIGHvulnclaw/mcp/lifecycle.py1125except Exception:CODE
HIGHvulnclaw/mcp/lifecycle.py1130except Exception:CODE
HIGHvulnclaw/mcp/lifecycle.py1139except Exception:CODE
23 more matches not shown…
Unused Imports318 hits · 304 pts
SeverityFileLineSnippetContext
LOWconftest.py1CODE
LOWtests/test_codescan.py7CODE
LOWtests/test_context_budget.py1CODE
LOWtests/traffic/test_report_export.py3CODE
LOWtests/traffic/test_normalize_replay.py3CODE
LOWtests/traffic/test_store.py3CODE
LOWtests/traffic/test_backends.py3CODE
LOWtests/traffic/test_tools.py3CODE
LOWtests/config/test_llm_probe.py3CODE
LOWtests/config/test_token_provider.py3CODE
LOWtests/security/test_spawn_boundary.py8CODE
LOWtests/security/test_gate_wiring.py3CODE
LOWtests/security/test_l4_modes.py3CODE
LOWtests/security/test_exec_policy.py3CODE
LOWtests/security/test_exec_gate.py3CODE
LOWtests/security/test_command_classifier.py3CODE
LOWtests/security/test_spawn_hardening.py3CODE
LOWtests/security/test_approval_schema.py7CODE
LOWtests/plugins/test_builtin_plugins.py1CODE
LOWtests/plugins/test_plugin_cli.py1CODE
LOWtests/plugins/test_plugin_runtime.py1CODE
LOWtests/plugins/test_plugin_integration.py1CODE
LOWtests/web/test_auth.py8CODE
LOWtests/meta/test_release.py1CODE
LOWtests/meta/test_release_workflow.py1CODE
LOWtests/agent/test_distiller.py1CODE
LOWtests/agent/test_feedback_distillation.py1CODE
LOWtests/agent/test_constraint_policy_infer.py8CODE
LOWtests/agent/test_finding_similarity.py3CODE
LOWtests/agent/test_recon_tools.py1CODE
LOWtests/agent/test_agent_context_protocol.py14CODE
LOWtests/agent/test_parallel_agents.py3CODE
LOWtests/agent/test_stream_robustness.py13CODE
LOWtests/agent/test_context_vault.py11CODE
LOWtests/agent/test_ctf_mode.py3CODE
LOWtests/agent/test_regression_prior_fixes.py14CODE
LOWtests/agent/test_subagent_architecture.py1CODE
LOWtests/agent/test_input_analysis_i18n.py10CODE
LOWtests/agent/test_chatgpt_proxy.py3CODE
LOWtests/agent/test_agent_graph.py3CODE
LOWtests/agent/test_roles.py3CODE
LOWtests/agent/test_llm_client_streaming.py3CODE
LOWtests/agent/test_loop_controller_i18n.py1CODE
LOWtests/agent/test_tool_parallel.py3CODE
LOWtests/agent/test_hackerone_scope.py3CODE
LOWtests/agent/test_constraint_tool_action.py3CODE
LOWtests/mcp/test_mcp_lifecycle.py3CODE
LOWtests/mcp/test_mcp_fetch_cookies.py8CODE
LOWtests/cli/test_config_panel_paste.py3CODE
LOWtests/cli/test_wizard.py3CODE
LOWtests/cli/test_task_service_codescan.py8CODE
LOWtests/cli/test_tui_backend.py1CODE
LOWtests/cli/test_cli_noninteractive.py3CODE
LOWtests/cli/test_tui_protocol.py1CODE
LOWtests/cli/test_entrypoint.py3CODE
LOWtests/cli/test_experience_cli.py3CODE
LOWtests/cli/test_helpers.py3CODE
LOWtests/run/test_feedback.py1CODE
LOWtests/run/test_headless.py3CODE
LOWtests/run/test_run_persistence.py1CODE
258 more matches not shown…
Excessive Try-Catch Wrapping202 hits · 188 pts
SeverityFileLineSnippetContext
LOWtests/config/test_token_provider.py147 except Exception:CODE
LOWtests/mcp/test_mcp.py268 except Exception:CODE
LOWtests/cli/test_wizard.py66 except Exception:CODE
LOW⚡tests/report/test_report.py297 except Exception:CODE
LOWvulnclaw/tui_backend.py276 except Exception as exc: # noqa: BLE001 - task failures are protocol dataCODE
LOWvulnclaw/tui_backend.py761 except Exception as exc: # noqa: BLE001 - preserve the backend sessionCODE
LOWvulnclaw/tui_backend.py791 except Exception:CODE
LOWvulnclaw/tui_backend.py814 except Exception:CODE
LOWvulnclaw/orchestrator.py182 except Exception as exc:CODE
LOWvulnclaw/orchestrator.py239 except Exception as exc:CODE
LOWvulnclaw/orchestrator.py243 except Exception:CODE
LOWvulnclaw/traffic/models.py40 except Exception:CODE
LOWvulnclaw/traffic/mitm_addon.py33 except Exception:CODE
LOWvulnclaw/traffic/tools.py171 except Exception as exc: # network / transport errorsCODE
LOWvulnclaw/traffic/browser.py32 except Exception:CODE
LOWvulnclaw/traffic/browser.py49 except Exception:CODE
LOWvulnclaw/intel/osint.py302 except Exception:CODE
LOWvulnclaw/intel/osint.py345 except Exception:CODE
LOWvulnclaw/intel/osint.py703 except Exception as exc: # never raise into the agent loopCODE
LOWvulnclaw/intel/remediation.py266 except Exception as e:CODE
LOWvulnclaw/intel/remediation.py295 except Exception as e:CODE
LOW⚡vulnclaw/kb/retriever.py38except Exception as exc: # pragma: no cover - exercised when chromadb missingCODE
LOWvulnclaw/kb/retriever.py200 except Exception as exc: # pragma: no cover - defensiveCODE
LOWvulnclaw/kb/retriever.py206 except Exception as exc:CODE
LOWvulnclaw/kb/retriever.py265 except Exception as exc: # pragma: no cover - defensiveCODE
LOWvulnclaw/kb/ranking.py130 except Exception:CODE
LOWvulnclaw/target_state/planner.py247 except Exception:CODE
LOWvulnclaw/codescan/scanner.py249 except Exception: # noqa: BLE001 — L3 must never break the scanCODE
LOWvulnclaw/config/__init__.py23 except Exception:STRING
LOWvulnclaw/config/llm_probe.py65 except Exception:CODE
LOWvulnclaw/config/llm_probe.py88 except Exception as exc: # OAuth refresh failure, unknown auth mode, ...CODE
LOWvulnclaw/config/llm_probe.py93 except Exception as exc:CODE
LOWvulnclaw/config/llm_probe.py105 except Exception as exc:CODE
LOWvulnclaw/config/settings.py644 except Exception:CODE
LOWvulnclaw/config/url_utils.py23 except Exception:CODE
LOWvulnclaw/plugins/runtime.py69 except Exception as exc:CODE
LOWvulnclaw/web/services/task_service.py80 except Exception as exc:CODE
LOWvulnclaw/agent/recon_tools.py343 except Exception as e: # 单引擎失败不影响其他引擎CODE
LOWvulnclaw/agent/recon_tools.py347 except Exception as e:CODE
LOWvulnclaw/agent/recon_tools.py399 except Exception as e:CODE
LOWvulnclaw/agent/recon_tools.py402 except Exception as e:CODE
LOWvulnclaw/agent/recon_tools.py420 except Exception:CODE
LOWvulnclaw/agent/recon_tools.py564 except Exception:CODE
LOWvulnclaw/agent/recon_tools.py568 except Exception as e:CODE
LOWvulnclaw/agent/recon_tools.py715 except Exception as e:CODE
LOWvulnclaw/agent/recon_tools.py735 except Exception:CODE
LOWvulnclaw/agent/recon_tools.py782 except Exception as e:CODE
LOWvulnclaw/agent/recon_tools.py867 except Exception:CODE
LOWvulnclaw/agent/recon_tools.py878 except Exception:CODE
LOWvulnclaw/agent/recon_tools.py888 except Exception as e:CODE
LOWvulnclaw/agent/loop_controller.py273 except Exception as e:CODE
LOWvulnclaw/agent/loop_controller.py391 except Exception:CODE
LOWvulnclaw/agent/loop_controller.py409 except Exception as e:CODE
LOWvulnclaw/agent/kb_context.py57 except Exception as exc: # defensive — never break the agent loopCODE
LOWvulnclaw/agent/kb_context.py105 except Exception as exc: # defensive — retrieval must never break the loopCODE
LOWvulnclaw/agent/prompt_context.py317 except Exception:CODE
LOWvulnclaw/agent/solver.py636 except Exception as exc:CODE
LOWvulnclaw/agent/solver.py810 except Exception:CODE
LOWvulnclaw/agent/solver.py829 except Exception:CODE
LOWvulnclaw/agent/tool_call_manager.py89 except Exception as exc:CODE
142 more matches not shown…
Structural Annotation Overuse60 hits · 98 pts
SeverityFileLineSnippetContext
LOWREADME.md434# Step 1: 启动 Chrome 远程调试COMMENT
LOWREADME.md440# Step 2: 启用 VulnClaw 配置COMMENT
LOW⚡README.md465# Step 1: 克隆并构建COMMENT
LOW⚡README.md470# Step 2: 加载到 Burp Suite → Extensions → Add → Type: Java → 选择 burp-mcp-all.jarCOMMENT
LOW⚡README.md472# Step 3: 在 Burp 的 MCP 标签页勾选 "Enabled"COMMENT
LOW⚡README.md474# Step 4: 启用 VulnClaw 配置COMMENT
LOWREADME_EN.md443# Step 1: Start Chrome with remote debuggingCOMMENT
LOWREADME_EN.md449# Step 2: Enable in VulnClawCOMMENT
LOW⚡README_EN.md474# Step 1: Clone and buildCOMMENT
LOW⚡README_EN.md479# Step 2: Load into Burp Suite → Extensions → Add → Type: Java → select burp-mcp-all.jarCOMMENT
LOW⚡README_EN.md481# Step 3: Enable in Burp's MCP tabCOMMENT
LOW⚡README_EN.md483# Step 4: Enable in VulnClawCOMMENT
LOW⚡docs/mcp-deployment.md114#### Step 1: 克隆并构建COMMENT
LOW⚡docs/mcp-deployment.md124#### Step 2: 加载到 Burp SuiteCOMMENT
LOW⚡docs/mcp-deployment.md131#### Step 3: 启用 MCP ServerCOMMENT
LOW⚡vulnclaw/config/token_provider.py209# WARNING: This authenticates against OpenAI's first-party Codex OAuth client.COMMENT
LOW…6-04-19_php-weak-comparison_double-write-md5-bypass.md100# Step 1: 设置 L1 + L2 sessionCOMMENT
LOW…6-04-19_php-weak-comparison_double-write-md5-bypass.md104# Step 2: 触发 L3 + 获取 flagCOMMENT
LOW⚡vulnclaw/agent/builtin_tools.py2555 # Step 1: Get login page for initial CSRF and sessionCOMMENT
LOWvulnclaw/agent/builtin_tools.py2585 # Step 2: Try each passwordCOMMENT
LOW…verse/references/android-authorized-app-pentest-sop.md50## Step 1: Confirm device and app presenceCOMMENT
LOW…verse/references/android-authorized-app-pentest-sop.md67## Step 2: Prepare packet visibility firstCOMMENT
LOW…verse/references/android-authorized-app-pentest-sop.md77## Step 3: Drive the real business flowCOMMENT
LOW…verse/references/android-authorized-app-pentest-sop.md89## Step 4: After each important action, inspect runtime evidenceCOMMENT
LOW…verse/references/android-authorized-app-pentest-sop.md105## Step 5: Branch by packet resultCOMMENT
LOW…ences/android-ui-driven-observation-and-packet-loop.md35### Step 1: Prepare the runtime viewCOMMENT
LOW…ences/android-ui-driven-observation-and-packet-loop.md58### Step 2: Create a visual checkpointCOMMENT
LOW…ences/android-ui-driven-observation-and-packet-loop.md68### Step 3: Analyze the current screenCOMMENT
LOW…ences/android-ui-driven-observation-and-packet-loop.md93### Step 4: Execute the next UI actionCOMMENT
LOW…ences/android-ui-driven-observation-and-packet-loop.md126### Step 5: Tie UI action to packet captureCOMMENT
LOW…ences/android-ui-driven-observation-and-packet-loop.md139### Step 6: Promote the packet into replay analysisCOMMENT
LOW…erences/android-external-url-runtime-first-workflow.md55### Step 1: Confirm device and app presenceCOMMENT
LOW…erences/android-external-url-runtime-first-workflow.md72### Step 2: Prepare packet visibility firstCOMMENT
LOW…erences/android-external-url-runtime-first-workflow.md82### Step 3: Drive the app to the target featureCOMMENT
LOW…erences/android-external-url-runtime-first-workflow.md108### Step 4: Inspect the screenshot before reversingCOMMENT
LOW…erences/android-external-url-runtime-first-workflow.md125### Step 5: Review logs for cheap evidenceCOMMENT
LOW…erences/android-external-url-runtime-first-workflow.md137### Step 6: Check Burp and CharlesCOMMENT
LOW…erences/android-external-url-runtime-first-workflow.md151### Step 7: Branch by packet visibilityCOMMENT
LOW…/specialized/osint-recon/references/author-tracking.md9## Step 1: 从页面提取作者标识COMMENT
LOW…/specialized/osint-recon/references/author-tracking.md62## Step 2: GitHub 追踪COMMENT
LOW…/specialized/osint-recon/references/author-tracking.md126## Step 3: 跨平台关联COMMENT
LOW…/specialized/osint-recon/references/author-tracking.md157## Step 4: 信息汇总模板COMMENT
LOW…ntest/references/android-authorized-app-pentest-sop.md50## Step 1: Confirm device and app presenceCOMMENT
LOW…ntest/references/android-authorized-app-pentest-sop.md67## Step 2: Prepare packet visibility firstCOMMENT
LOW…ntest/references/android-authorized-app-pentest-sop.md77## Step 3: Drive the real business flowCOMMENT
LOW…ntest/references/android-authorized-app-pentest-sop.md89## Step 4: After each important action, inspect runtime evidenceCOMMENT
LOW…ntest/references/android-authorized-app-pentest-sop.md105## Step 5: Branch by packet resultCOMMENT
LOW…ences/android-ui-driven-observation-and-packet-loop.md35### Step 1: Prepare the runtime viewCOMMENT
LOW…ences/android-ui-driven-observation-and-packet-loop.md58### Step 2: Create a visual checkpointCOMMENT
LOW…ences/android-ui-driven-observation-and-packet-loop.md68### Step 3: Analyze the current screenCOMMENT
LOW…ences/android-ui-driven-observation-and-packet-loop.md93### Step 4: Execute the next UI actionCOMMENT
LOW…ences/android-ui-driven-observation-and-packet-loop.md126### Step 5: Tie UI action to packet captureCOMMENT
LOW…ences/android-ui-driven-observation-and-packet-loop.md139### Step 6: Promote the packet into replay analysisCOMMENT
LOW…erences/android-external-url-runtime-first-workflow.md55### Step 1: Confirm device and app presenceCOMMENT
LOW…erences/android-external-url-runtime-first-workflow.md72### Step 2: Prepare packet visibility firstCOMMENT
LOW…erences/android-external-url-runtime-first-workflow.md82### Step 3: Drive the app to the target featureCOMMENT
LOW…erences/android-external-url-runtime-first-workflow.md108### Step 4: Inspect the screenshot before reversingCOMMENT
LOW…erences/android-external-url-runtime-first-workflow.md125### Step 5: Review logs for cheap evidenceCOMMENT
LOW…erences/android-external-url-runtime-first-workflow.md137### Step 6: Check Burp and CharlesCOMMENT
LOW…erences/android-external-url-runtime-first-workflow.md151### Step 7: Branch by packet visibilityCOMMENT
Deep Nesting80 hits · 68 pts
SeverityFileLineSnippetContext
LOWvulnclaw/task_service.py215CODE
LOWvulnclaw/tui_backend.py679CODE
LOWvulnclaw/tui_backend.py745CODE
LOWvulnclaw/tui_backend.py682CODE
LOWvulnclaw/orchestrator.py40CODE
LOWvulnclaw/intel/compliance.py255CODE
LOWvulnclaw/intel/osint.py357CODE
LOWvulnclaw/intel/osint.py398CODE
LOWvulnclaw/intel/attack.py780CODE
LOWvulnclaw/intel/topology.py430CODE
LOWvulnclaw/intel/remediation.py244CODE
LOWvulnclaw/intel/cve.py84CODE
LOWvulnclaw/kb/store.py94CODE
LOWvulnclaw/kb/store.py140CODE
LOWvulnclaw/kb/store.py297CODE
LOWvulnclaw/kb/store.py350CODE
LOWvulnclaw/config/settings.py161CODE
LOWvulnclaw/agent/recon_tools.py372CODE
LOWvulnclaw/agent/recon_tools.py448CODE
LOWvulnclaw/agent/recon_tools.py668CODE
LOWvulnclaw/agent/recon_tools.py819CODE
LOWvulnclaw/agent/recon_tools.py701CODE
LOWvulnclaw/agent/recon_tools.py390CODE
LOWvulnclaw/agent/prompt_context.py15CODE
LOWvulnclaw/agent/solver.py215CODE
LOWvulnclaw/agent/solver.py581CODE
LOWvulnclaw/agent/memory.py185CODE
LOWvulnclaw/agent/token_counter.py42CODE
LOWvulnclaw/agent/token_counter.py125CODE
LOWvulnclaw/agent/context_vault.py125CODE
LOWvulnclaw/agent/context_vault.py322CODE
LOWvulnclaw/agent/hackerone_scope.py223CODE
LOWvulnclaw/agent/context_budget.py212CODE
LOWvulnclaw/agent/chatgpt_proxy.py175CODE
LOWvulnclaw/agent/chatgpt_proxy.py289CODE
LOWvulnclaw/agent/llm_client.py425CODE
LOWvulnclaw/agent/llm_client.py860CODE
LOWvulnclaw/agent/llm_client.py972CODE
LOWvulnclaw/agent/input_analysis.py143CODE
LOWvulnclaw/agent/input_analysis.py305CODE
LOWvulnclaw/agent/network_scan.py449CODE
LOWvulnclaw/agent/finding_parser.py111CODE
LOWvulnclaw/agent/ctf_mode.py29CODE
LOWvulnclaw/agent/exec_gate.py40CODE
LOWvulnclaw/agent/builtin_tools.py141CODE
LOWvulnclaw/agent/builtin_tools.py412CODE
LOWvulnclaw/agent/builtin_tools.py1042CODE
LOWvulnclaw/agent/builtin_tools.py1185CODE
LOWvulnclaw/agent/builtin_tools.py1427CODE
LOWvulnclaw/agent/builtin_tools.py1583CODE
LOWvulnclaw/agent/builtin_tools.py2486CODE
LOWvulnclaw/agent/skill_context.py86CODE
LOWvulnclaw/agent/reasoning_state.py232CODE
LOWvulnclaw/agent/agent_graph.py158CODE
LOWvulnclaw/agent/parallel_agents.py235CODE
LOWvulnclaw/agent/subagent/service.py294CODE
LOWvulnclaw/agent/subagent/service.py666CODE
LOWvulnclaw/agent/subagent/merge.py374CODE
LOWvulnclaw/agent/subagent/budget.py146CODE
LOWvulnclaw/agent/subagent/integration.py316CODE
20 more matches not shown…
Modern Structural Boilerplate55 hits · 60 pts
SeverityFileLineSnippetContext
LOWvulnclaw/feedback.py20logger = logging.getLogger(__name__)CODE
LOWvulnclaw/run_context.py117 def update_manifest(self, **updates: Any) -> None:CODE
LOWvulnclaw/traffic/__init__.py27__all__ = [CODE
LOWvulnclaw/intel/remediation.py42logger = logging.getLogger(__name__)CODE
LOW⚡vulnclaw/kb/retriever.py27logger = logging.getLogger(__name__)CODE
LOWvulnclaw/kb/__init__.py19__all__ = [CODE
LOWvulnclaw/codescan/__init__.py19__all__ = ["CodeFinding", "ScanResult", "scan_code", "scan_code_llm"]CODE
LOWvulnclaw/config/settings.py25logger = logging.getLogger(__name__)CODE
LOWvulnclaw/config/settings.py161def set_config_value(key: str, value: str) -> None:CODE
LOWvulnclaw/plugins/__init__.py33__all__ = [CODE
LOWvulnclaw/plugins/web/__init__.py14__all__ = [CODE
LOWvulnclaw/web/__init__.py7__all__ = ["__version__"]CODE
LOWvulnclaw/web/task_manager.py61 def set_restoring(self, task_id: str, *, snapshot_id: str | None = None) -> None:CODE
LOWvulnclaw/web/task_manager.py70 def set_running(self, task_id: str) -> None:CODE
LOWvulnclaw/web/task_manager.py93 def set_failed(self, task_id: str, error: str) -> None:CODE
LOWvulnclaw/web/task_manager.py101 def set_stopped(self, task_id: str) -> None:CODE
LOWvulnclaw/agent/constraint_policy.py19__all__ = [CODE
LOWvulnclaw/agent/kb_context.py43logger = logging.getLogger(__name__)CODE
LOWvulnclaw/agent/think_filter.py13__all__ = ["strip_think_tags", "format_think_tags"]CODE
LOWvulnclaw/agent/tool_call_manager.py36logger = logging.getLogger(__name__)CODE
LOWvulnclaw/agent/context_vault.py289 def set_output_dir(self, output_dir: Path | None) -> None:CODE
LOWvulnclaw/agent/agent_state.py607 def update_context_digest(self, summary: str, evidence_ids: list[str]) -> None:CODE
LOWvulnclaw/agent/__init__.py12__all__ = [CODE
LOWvulnclaw/agent/core.py775 def _update_recon_dimension_completion(self, response: str) -> None:CODE
LOWvulnclaw/agent/team.py15logger = logging.getLogger(__name__)CODE
LOWvulnclaw/agent/distiller.py22logger = logging.getLogger(__name__)CODE
LOW⚡vulnclaw/agent/context.py43logger = logging.getLogger(__name__)CODE
LOWvulnclaw/agent/context.py1032 def set_save_path(self, path: Path) -> None:CODE
LOWvulnclaw/agent/llm_client.py37logger = logging.getLogger(__name__)CODE
LOWvulnclaw/agent/recon_tracker.py140def update_recon_dimension_completion(agent: AgentContext, response: str) -> None:CODE
LOWvulnclaw/agent/exec_gate.py420 async def _settle(self, pending: _Pending, request_hash: str, state: str) -> None:CODE
LOW⚡vulnclaw/agent/agent_context.py130 def _update_recon_dimension_completion(self, response: str) -> None:CODE
LOWvulnclaw/agent/finding_similarity.py23__all__ = [CODE
LOWvulnclaw/agent/agent_graph.py37logger = logging.getLogger(__name__)CODE
LOWvulnclaw/agent/subagent/integration.py35logger = logging.getLogger(__name__)CODE
LOW⚡vulnclaw/mcp/registry.py79 def set_server_running(self, name: str, running: bool, pid: Optional[int] = None) -> None:CODE
LOW⚡vulnclaw/mcp/registry.py89 def set_server_execution_mode(self, name: str, mode: str) -> None:CODE
LOW⚡vulnclaw/mcp/registry.py94 def set_server_health(self, name: str, health_status: str) -> None:CODE
LOW⚡vulnclaw/mcp/registry.py99 def set_server_attach_result(self, name: str, attempted: bool, succeeded: bool) -> None:CODE
LOW⚡vulnclaw/mcp/registry.py105 def set_server_error(self, name: str, error: str, error_type: str | None = None) -> None:CODE
LOWvulnclaw/mcp/registry.py140 def set_last_call_latency(self, name: str, latency_ms: float) -> None:CODE
LOWvulnclaw/mcp/lifecycle.py132 def set_task_constraints(self, constraints: Any) -> None:CODE
LOWvulnclaw/cli/config_panel.py455 def set_viewport_height(self, height: int | None) -> None:CODE
LOWvulnclaw/cli/config_panel.py586 def _set_value(self, row: Row, value: Any) -> None:CODE
LOWvulnclaw/cli/config_panel.py637 def set_edit_text(self, text: str) -> None:CODE
LOW⚡vulnclaw/cli/tui.py780def _set_prompt_input(session: dict[str, Any], label: str, callback: PromptCallback, default: str = "") -> None:CODE
LOW⚡vulnclaw/cli/tui.py784def _set_prompt_choice(session: dict[str, Any], label: str, choices: list[str], callback: PromptCallback) -> None:CODE
LOW⚡vulnclaw/cli/tui.py788def _set_prompt_confirm(session: dict[str, Any], label: str, callback: Callable[[bool], None]) -> None:CODE
LOW⚡vulnclaw/cli/tui.py792def _set_prompt_message(session: dict[str, Any], text: str) -> None:CODE
LOW⚡vulnclaw/cli/tui.py796def _set_prompt_chain(session: dict[str, Any], fields: list, idx: int, callback: Callable[[], None]) -> None:CODE
LOWvulnclaw/cli/tui.py69logger = logging.getLogger(__name__)CODE
LOWvulnclaw/report/__init__.py25__all__ = [CODE
LOWvulnclaw/report/generator.py33logger = logging.getLogger(__name__)CODE
LOWvulnclaw/report/verifier.py30logger = logging.getLogger(__name__)CODE
LOWvulnclaw/skills/crypto_tools.py24logger = logging.getLogger(__name__)CODE
Cross-Language Confusion7 hits · 42 pts
SeverityFileLineSnippetContext
HIGHtests/security/test_exec_policy.py205 ("cd /tmp && ls", "allow"),CODE
HIGH⚡tests/security/test_command_classifier.py26 "whoami && uname -a", # sequencing of allowed commandsCODE
HIGH⚡tests/security/test_command_classifier.py27 "cd /tmp && ls -la", # env-agnostic cd + allowCODE
HIGHtests/security/test_approval_schema.py28 "question": "whoami && ls -la",CODE
HIGHvulnclaw/intel/remediation_rules.py662sudo apt update && sudo apt upgrade -yCODE
HIGHvulnclaw/agent/builtin_tools.py1371 return f"[!] 工具 {tool_name} 返回空结果 (undefined),调用可能失败"CODE
HIGHvulnclaw/skills/loader.py195 # gate. Any other value (missing, null, 0, "false", …) keepsCOMMENT
Modern AI Meta-Vocabulary7 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUMCONTRIBUTING_EN.md17| |-- orchestrator.py # Shared task orchestration for CLI / WebCODE
MEDIUM⚡tests/config/test_config.py170 # Upper bounds are DoS guardrails: e.g. max_concurrent=100000 must beCOMMENT
MEDIUM…ized/rapid-checklist/references/testing-methodology.md550> 官方地址: https://genai.owasp.org/resource/agentic-ai/CODE
MEDIUM…curity/references/04-ai-and-mcp-security-integrated.md5439https://allabouttesting.org/owasp-agentic-ai-threat-t9-identity-spoofing-impersonation-in-ai-systems/CODE
MEDIUM…zed/ai-mcp-security/references/ai-identity-security.md462https://allabouttesting.org/owasp-agentic-ai-threat-t9-identity-spoofing-impersonation-in-ai-systems/CODE
MEDIUM…d/secknowledge-skill/references/testing-methodology.md550> 官方地址: https://genai.owasp.org/resource/agentic-ai/CODE
MEDIUM…lized/secknowledge-skill/references/ai-identity-app.md460https://allabouttesting.org/owasp-agentic-ai-threat-t9-identity-spoofing-impersonation-in-ai-systems/CODE
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALtests/test_context_budget.py80 assert agent.context.state.agent_state.context_digest.summary.startswith("[context digest v1]")CODE
Fake / Example Data11 hits · 10 pts
SeverityFileLineSnippetContext
LOW⚡tests/mcp/test_mcp.py332 assert any(item.execution_mode in {"placeholder", "local"} for item in view.services)CODE
LOWtests/mcp/test_mcp.py383 assert state.execution_mode == "placeholder"CODE
LOWvulnclaw/agent/core.py355 api_key=token or "placeholder",CODE
LOWvulnclaw/agent/distiller.py275 api_key=resolve_llm_token(config.llm) or "placeholder",CODE
LOWvulnclaw/mcp/registry.py44 execution_mode: str = "placeholder" # local/sdk/subprocess/sse/placeholderCODE
LOWvulnclaw/mcp/diagnostics.py29 execution_mode = state.execution_mode if state else "placeholder"CODE
LOWvulnclaw/mcp/diagnostics.py36 elif execution_mode == "placeholder":CODE
LOWvulnclaw/mcp/lifecycle.py329 self.registry.set_server_execution_mode(name, "sdk" if attached else "placeholder")CODE
LOWvulnclaw/mcp/lifecycle.py343 self.registry.set_server_execution_mode(name, "sse" if attached else "placeholder")CODE
LOWvulnclaw/mcp/lifecycle.py357 self.registry.set_server_execution_mode(name, "http" if attached else "placeholder")CODE
LOWvulnclaw/cli/main.py498 if srv_state.health_status in ("degraded", "unavailable") and srv_state.execution_mode in ("placeholder",):CODE
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMtests/kb/test_kb.py135 # Create a new store loading from the same dirCOMMENT
MEDIUMtests/agent/test_agent.py613 # Create a new store instance pointing to the same dirCOMMENT
MEDIUMvulnclaw/agent/team.py238 # Create a minimal error result so the wave can continueCOMMENT
AI Structural Patterns10 hits · 9 pts
SeverityFileLineSnippetContext
LOWvulnclaw/task_service.py401CODE
LOWvulnclaw/orchestrator.py40CODE
LOWvulnclaw/config/finding_similarity.py149CODE
LOWvulnclaw/agent/core.py644CODE
LOWvulnclaw/agent/subagent/service.py82CODE
LOWvulnclaw/cli/tui.py342CODE
LOWvulnclaw/report/filter.py156CODE
LOWvulnclaw/report/filter.py230CODE
LOWvulnclaw/report/filter.py244CODE
LOWvulnclaw/report/filter.py266CODE
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHvulnclaw/codescan/rules.py165 # --- AI-generated code smells ---COMMENT
Over-Commented Block6 hits · 6 pts
SeverityFileLineSnippetContext
LOWtui/src/windows_clipboard.rs1//! System clipboard access without third-party crates or subprocesses.COMMENT
LOWtui/src/app.rs281 pub base_url: String,COMMENT
LOWtests/tui/events.rs21COMMENT
LOWvulnclaw/agent/exec_gate.py281 # ── auto_review: Codex-style command classification ───────────────COMMENT
LOW…lized/ctf-crypto/references/lattice-and-lwe-attacks.md81COMMENT
LOWscripts/vulnclaw-setup-wizard.sh181 if (( ${#SKIPPED[@]} )); thenCOMMENT
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHvulnclaw/agent/llm_client.py428Keep retrying retriable LLM calls until success, max retries, or manual interruption. Args: max_retries: MaSTRING
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMvulnclaw/skills/dispatcher.py77 # Full/deep recon — trigger osint-recon for comprehensive 4-dimension collectionCOMMENT
Verbosity Indicators2 hits · 2 pts
SeverityFileLineSnippetContext
LOW⚡vulnclaw/agent/builtin_tools.py2555 # Step 1: Get login page for initial CSRF and sessionCOMMENT
LOWvulnclaw/agent/builtin_tools.py2585 # Step 2: Try each passwordCOMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWvulnclaw/cli/main.py3559 # Check if user specified a pathCOMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWvulnclaw/task_service.py401async def execute_task(CODE