The World's First Unified Virtual Filesystem For AI Agents
This report presents the forensic synthetic code analysis of strukto-ai/mirage, a TypeScript project with 3,318 GitHub stars. SynthScan v2.0 examined 529,192 lines of code across 5546 source files, recording 11485 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 29.7 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 11485 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/test_types_fingerprint.py | 18 | def test_file_stat_has_fingerprint_field(): | CODE |
| LOW | python/tests/test_types_fingerprint.py | 23 | def test_file_stat_fingerprint_defaults_none(): | CODE |
| LOW | python/tests/test_dry_run_types.py | 62 | def test_dry_run_result_serialization(): | CODE |
| LOW⚡ | python/tests/test_types.py | 35 | def test_aggr_none_inputs_is_none(): | CODE |
| LOW⚡ | python/tests/test_types.py | 40 | def test_aggr_keeps_single_safeguard(): | CODE |
| LOW⚡ | python/tests/test_types.py | 47 | def test_aggr_takes_smallest_positive_timeout(): | CODE |
| LOW⚡ | python/tests/test_types.py | 55 | def test_aggr_nonpositive_timeout_is_unbounded(): | CODE |
| LOW⚡ | python/tests/test_types.py | 62 | def test_aggr_takes_smallest_caps(): | CODE |
| LOW⚡ | python/tests/test_types.py | 70 | def test_aggr_error_beats_truncate(): | CODE |
| LOW⚡ | python/tests/test_types.py | 77 | def test_aggr_all_truncate_stays_truncate(): | CODE |
| LOW⚡ | python/tests/test_types.py | 84 | def test_every_field_declares_an_aggr_rule(): | CODE |
| LOW⚡ | python/tests/test_types.py | 91 | def test_pathspec_requires_resource_path(): | CODE |
| LOW⚡ | python/tests/test_types.py | 96 | def test_pathspec_raw_path_kept_when_given(): | CODE |
| LOW⚡ | python/tests/test_types.py | 104 | def test_pathspec_raw_path_defaults_to_virtual(): | CODE |
| LOW⚡ | python/tests/test_types.py | 111 | def test_word_text_passes_strings_through(): | CODE |
| LOW⚡ | python/tests/test_types.py | 115 | def test_word_text_renders_paths_as_typed(): | CODE |
| LOW⚡ | python/tests/test_types.py | 123 | def test_pathspec_dir_trims_resource_path(): | CODE |
| LOW⚡ | python/tests/test_types.py | 134 | def test_pathspec_dir_at_mount_root(): | CODE |
| LOW⚡ | python/tests/test_types.py | 141 | def test_pathspec_from_str_path_defaults_to_root_mounted(): | CODE |
| LOW⚡ | python/tests/test_types.py | 147 | def test_pathspec_from_str_path_explicit_resource_path(): | CODE |
| LOW⚡ | python/tests/test_types.py | 152 | def test_parse_mount_mode_words_and_aliases(): | CODE |
| LOW⚡ | python/tests/test_types.py | 160 | def test_parse_mount_mode_rejects_bit_style_forms(): | CODE |
| LOW⚡ | python/tests/provision/test_provision_types.py | 18 | def test_plan_result_defaults(): | CODE |
| LOW⚡ | python/tests/provision/test_provision_types.py | 25 | def test_plan_result_network_read_range(): | CODE |
| LOW⚡ | python/tests/provision/test_provision_types.py | 30 | def test_plan_result_network_read_exact(): | CODE |
| LOW | python/tests/provision/test_provision_types.py | 41 | def test_scaled_multiplies_cost(): | CODE |
| LOW⚡ | python/tests/provision/test_rollup.py | 35 | def test_rollup_pipe_unknown_cascades(): | CODE |
| LOW⚡ | python/tests/provision/test_rollup.py | 45 | def test_rollup_list_and_sums(): | CODE |
| LOW⚡ | python/tests/provision/test_rollup.py | 54 | def test_rollup_list_or_uses_range(): | CODE |
| LOW⚡ | python/tests/context/test_session_context.py | 44 | def test_no_session_is_unrestricted(): | CODE |
| LOW⚡ | python/tests/context/test_session_context.py | 51 | def test_unrestricted_session_keeps_mount_mode(): | CODE |
| LOW⚡ | python/tests/context/test_session_context.py | 60 | def test_missing_grant_denies_visibility(bound_session): | CODE |
| LOW⚡ | python/tests/context/test_session_context.py | 65 | def test_root_mount_is_governed(bound_session): | CODE |
| LOW⚡ | python/tests/context/test_session_context.py | 70 | def test_grant_narrows_mount_mode(bound_session): | CODE |
| LOW⚡ | python/tests/context/test_session_context.py | 75 | def test_grant_cannot_widen_mount_mode(bound_session): | CODE |
| LOW⚡ | python/tests/context/test_session_context.py | 80 | def test_prefix_normalization(bound_session): | CODE |
| LOW⚡ | python/tests/context/test_session_context.py | 86 | def test_missing_grant_defaults_effective_to_read(bound_session): | CODE |
| LOW⚡ | python/tests/core/test_timeutil.py | 20 | def test_to_iso_z_converts_utc_offset_to_z(): | CODE |
| LOW⚡ | python/tests/core/test_timeutil.py | 25 | def test_to_iso_z_normalizes_non_utc_to_z(): | CODE |
| LOW⚡ | python/tests/core/test_timeutil.py | 31 | def test_now_iso_uses_z_suffix(): | CODE |
| LOW⚡ | python/tests/core/test_timeutil.py | 37 | def test_epoch_to_iso_whole_second(): | CODE |
| LOW⚡ | python/tests/core/test_timeutil.py | 41 | def test_epoch_to_iso_truncates_sub_second(): | CODE |
| LOW | python/tests/core/langfuse/test_scope.py | 71 | def test_prompts_version_file(): | CODE |
| LOW | python/tests/core/langfuse/test_stat.py | 84 | async def test_stat_prompt_version_file(accessor, index): | CODE |
| LOW | python/tests/core/langfuse/test_stat.py | 116 | async def test_stat_dataset_runs_dir(accessor, index): | CODE |
| LOW | python/tests/core/langfuse/test_read.py | 112 | async def test_read_invalid_path_raises(accessor, index): | CODE |
| LOW | python/tests/core/langfuse/test_readdir.py | 144 | async def test_readdir_dataset_contents(accessor, index): | CODE |
| LOW | python/tests/core/langfuse/test_readdir.py | 155 | async def test_readdir_dotfile_raises(accessor, index): | CODE |
| LOW | python/tests/core/langfuse/test_readdir.py | 165 | async def test_readdir_dotfile_nested_raises(accessor, index): | CODE |
| LOW⚡ | python/tests/core/nextcloud/test_write_ops.py | 29 | async def test_create_writes_empty_file(make_acc): | CODE |
| LOW⚡ | python/tests/core/nextcloud/test_write_ops.py | 36 | async def test_mkdir_creates_collection(make_acc): | CODE |
| LOW⚡ | python/tests/core/nextcloud/test_write_ops.py | 43 | async def test_copy_duplicates_file(make_acc): | CODE |
| LOW | python/tests/core/nextcloud/test_write_ops.py | 61 | async def test_rm_r_removes_subtree(make_acc): | CODE |
| LOW | python/tests/core/nextcloud/test_write_ops.py | 74 | async def test_truncate_pads_and_shrinks(make_acc): | CODE |
| LOW | python/tests/core/nextcloud/test_du.py | 8 | async def test_du_sums_file_sizes_recursive(make_acc): | CODE |
| LOW | python/tests/core/nextcloud/test_du.py | 19 | async def test_du_all_returns_per_file_with_total(make_acc): | CODE |
| LOW⚡ | python/tests/core/nextcloud/test_du.py | 31 | async def test_du_missing_returns_zero(make_acc): | CODE |
| LOW⚡ | python/tests/core/nextcloud/test_du.py | 37 | async def test_du_of_file_returns_its_own_size(make_acc): | CODE |
| LOW⚡ | python/tests/core/nextcloud/test_du.py | 43 | async def test_du_all_of_file_is_empty(make_acc): | CODE |
| LOW | python/tests/core/nextcloud/test_find.py | 8 | async def test_find_root_returns_sorted_entries(make_acc): | CODE |
| 4388 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | licenses/license_template_py.txt | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | licenses/license_template_ts.txt | 1 | // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | licenses/update_license.js | 1 | // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/test_types_fingerprint.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/conftest.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/test_dry_run_types.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/test_filetype_enum.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/test_types.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/provision/test_provision_types.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/provision/__init__.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/provision/test_rollup.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/context/test_session_context.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/__init__.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/test_timeutil.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/langfuse/test_scope.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/langfuse/__init__.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/langfuse/test_stat.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/langfuse/test_read.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/langfuse/test_readdir.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/s3/test_stat_directory.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/s3/test_index_metadata.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/s3/__init__.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/s3/test_readdir_paths.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/s3/test_stat_fingerprint.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/chroma/test_find.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/chroma/test_stat.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/chroma/test_walk.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/chroma/test_glob.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/chroma/test_client.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/chroma/test_path.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/chroma/test_readdir.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_streams.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_guilds.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_members.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_entry.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_search.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_paginate.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_scope.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/__init__.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_channels.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_stat.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_read.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_client.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_readdir_date_layout.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_history.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_formatters.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/discord/test_readdir.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/github_ci/test_runs_cap.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/github_ci/__init__.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/github_ci/test_stat.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/redis/test_mkdir.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/redis/conftest.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/redis/test_set_attrs.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/redis/test_file_ops.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/redis/test_du.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/redis/__init__.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/redis/test_find.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/redis/test_stat.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/redis/test_glob.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/core/redis/test_create.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| 4798 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/tests/shell/test_node_kind.py | 28 | NodeKind.LIST: "true && false", | CODE |
| HIGH⚡ | python/tests/shell/test_set_e.py | 27 | out = shell.mirage("set -e; false || echo recovered; echo done") | CODE |
| HIGH⚡ | python/tests/shell/test_set_e.py | 32 | out = shell.mirage("set -e; false && echo skipped; echo done") | CODE |
| HIGH⚡ | python/tests/shell/test_arith.py | 64 | assert evaluate_arith("3 && 4", {})[0] == 1 | CODE |
| HIGH | python/tests/shell/test_parse.py | 72 | node = parse("cmd1 && cmd2").named_children[0] | CODE |
| HIGH | python/tests/shell/test_parse.py | 79 | node = parse("cmd1 || cmd2").named_children[0] | CODE |
| HIGH⚡ | python/tests/shell/test_parse.py | 118 | """tree-sitter parses 'a || echo x > file' with > on the list. | STRING |
| HIGH⚡ | python/tests/shell/test_parse.py | 124 | node = parse("a || echo x > /out.txt").named_children[0] | CODE |
| HIGH⚡ | python/tests/shell/test_parse.py | 132 | """tree-sitter hoists > from 'a && echo x > file'.""" | STRING |
| HIGH⚡ | python/tests/shell/test_parse.py | 133 | node = parse("a && echo x > /out.txt").named_children[0] | CODE |
| HIGH⚡ | python/tests/shell/test_parse.py | 267 | node = parse("cmd1 && cmd2 || cmd3").named_children[0] | CODE |
| HIGH⚡ | python/tests/shell/test_parse.py | 267 | node = parse("cmd1 && cmd2 || cmd3").named_children[0] | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 22 | assert shell.mirage("true && echo yes") == shell.native("true && echo yes") | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 26 | assert shell.mirage("false && echo yes") == shell.native( | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 27 | "false && echo yes") | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 31 | assert shell.mirage("true || echo fallback") == shell.native( | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 32 | "true || echo fallback") | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 36 | assert shell.mirage("false || echo fallback") == shell.native( | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 37 | "false || echo fallback") | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 41 | assert shell.mirage("true && echo a || echo b") == shell.native( | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 41 | assert shell.mirage("true && echo a || echo b") == shell.native( | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 42 | "true && echo a || echo b") | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 42 | "true && echo a || echo b") | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 46 | assert shell.mirage("false && echo a || echo b") == shell.native( | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 46 | assert shell.mirage("false && echo a || echo b") == shell.native( | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 47 | "false && echo a || echo b") | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 47 | "false && echo a || echo b") | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 64 | cmd = "true && true && echo all_true" | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 69 | cmd = "false || false || echo last_resort" | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 74 | cmd = "echo a; false && echo b; echo c" | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 85 | m = shell.mirage("grep hello /data/f.txt && echo found") | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 86 | n = shell.native("grep hello f.txt && echo found") | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 92 | m = shell.mirage("grep nope /data/f.txt || echo missing") | CODE |
| HIGH⚡ | python/tests/shell/test_operators.py | 93 | n = shell.native("grep nope f.txt || echo missing") | CODE |
| HIGH⚡ | python/tests/shell/test_barrier.py | 34 | cmd_m = "grep -q hello /data/f.txt && echo yes" | CODE |
| HIGH⚡ | python/tests/shell/test_barrier.py | 35 | cmd_n = "grep -q hello f.txt && echo yes" | CODE |
| HIGH⚡ | python/tests/shell/test_barrier.py | 41 | cmd_m = "grep -q missing /data/f.txt && echo yes" | CODE |
| HIGH⚡ | python/tests/shell/test_barrier.py | 42 | cmd_n = "grep -q missing f.txt && echo yes" | CODE |
| HIGH⚡ | python/tests/shell/test_barrier.py | 48 | cmd_m = "grep -q missing /data/f.txt || echo fallback" | CODE |
| HIGH⚡ | python/tests/shell/test_barrier.py | 49 | cmd_n = "grep -q missing f.txt || echo fallback" | CODE |
| HIGH⚡ | python/tests/shell/test_barrier.py | 77 | cmd = "echo a && echo b" | CODE |
| HIGH⚡ | python/tests/shell/test_barrier.py | 82 | cmd = "echo a || echo b" | CODE |
| HIGH⚡ | python/tests/shell/test_barrier.py | 87 | assert shell.mirage_exit("false && echo yes") == shell.native_exit( | CODE |
| HIGH⚡ | python/tests/shell/test_barrier.py | 88 | "false && echo yes") | CODE |
| HIGH⚡ | python/tests/shell/test_barrier.py | 92 | assert shell.mirage_exit("true || echo no") == shell.native_exit( | CODE |
| HIGH⚡ | python/tests/shell/test_barrier.py | 93 | "true || echo no") | CODE |
| HIGH⚡ | python/tests/shell/test_dev.py | 25 | cmd = "cat /data/nope.txt 2>/dev/null || echo recovered" | CODE |
| HIGH⚡ | python/tests/shell/test_dev.py | 30 | cmd = ("if cat /data/nope.txt 2>/dev/null; " | CODE |
| HIGH | python/tests/shell/test_dev.py | 45 | cmd = "if [ -f /dev/null ]; then echo exists; fi" | CODE |
| HIGH | python/tests/shell/test_helpers.py | 135 | left, op, right = get_list_parts(_first("echo a && echo b")) | CODE |
| HIGH | python/tests/shell/test_helpers.py | 140 | left, op, right = get_list_parts(_first("echo a || echo b")) | CODE |
| HIGH | python/tests/shell/test_call_stack.py | 26 | cs.push(["a", "b", "c"]) | CODE |
| HIGH⚡ | python/tests/shell/test_call_stack.py | 38 | cs.push(["a", "b", "c"]) | CODE |
| HIGH⚡ | python/tests/shell/test_call_stack.py | 46 | cs.push(["a", "b", "c", "d"]) | CODE |
| HIGH⚡ | python/tests/shell/test_call_stack.py | 53 | cs.push(["x", "y"]) | CODE |
| HIGH⚡ | python/tests/shell/test_call_stack.py | 76 | cs.push() | CODE |
| HIGH⚡ | python/tests/shell/test_call_stack.py | 85 | cs.push() | CODE |
| HIGH⚡ | python/tests/shell/test_call_stack.py | 87 | cs.push() | CODE |
| HIGH⚡ | python/tests/shell/test_call_stack.py | 96 | cs.push(["a"], function_name="greet") | CODE |
| HIGH⚡ | python/tests/shell/test_call_stack.py | 105 | cs.push([], function_name="f") | CODE |
| 346 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/tests/core/discord/test_scope.py | 62 | # ── root ────────────────────────────────────── | COMMENT |
| MEDIUM | python/tests/core/discord/test_scope.py | 78 | # ── guild ───────────────────────────────────── | COMMENT |
| MEDIUM | python/tests/core/discord/test_scope.py | 104 | # ── channel ─────────────────────────────────── | COMMENT |
| MEDIUM | python/tests/core/discord/test_scope.py | 117 | # ── date / messages / files ──────────────────── | COMMENT |
| MEDIUM | python/tests/core/discord/test_scope.py | 165 | # ── PathSpec ───────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/cache/file/test_io.py | 165 | # ── cache invalidation ────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/cache/file/test_io.py | 177 | # ── edge cases ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | python/tests/cache/file/test_io.py | 41 | # ── cache population via apply_io ──────────────────────────────────────── | COMMENT |
| MEDIUM | python/tests/cache/file/test_io.py | 93 | # ── backend fingerprint threading ─────────────────────────────────────── | COMMENT |
| MEDIUM | python/tests/cache/file/test_io.py | 195 | # ── background drain ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | python/tests/cache/file/test_io.py | 238 | # ── max_drain_bytes (cancellable cache drain) ─────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 60 | # ── paths with spaces ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 87 | # ── paths with special chars ─────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 97 | # ── unicode in paths ─────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 113 | # ── env vars in paths ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 139 | # ── command substitution in args ────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 156 | # ── escaping ─────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 181 | # ── unquoted backslash escapes (POSIX §2.2.1) ────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 219 | # ── edge cases ───────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_helpers.py | 330 | # ── negated command ────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_helpers.py | 340 | # ── heredoc ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_helpers.py | 363 | # ── expansion nodes ────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_helpers.py | 431 | # ── quotes and escapes ────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_helpers.py | 490 | # ── multi-statement bodies ───────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_helpers.py | 547 | # ── redirect target types ────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_helpers.py | 584 | # ── python command parsing ───────────────────── | COMMENT |
| MEDIUM | python/tests/shell/test_helpers.py | 352 | # ── process substitution ───────────────────────── | COMMENT |
| MEDIUM | python/tests/shell/test_helpers.py | 401 | # ── edge cases ─────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 53 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 55 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 86 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 88 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 122 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 124 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 154 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 156 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 191 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 193 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 242 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 244 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 297 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 299 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 324 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 326 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 335 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 337 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 353 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 355 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 412 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/tests/integration/test_shell_patterns.py | 414 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/tests/integration/test_shell_patterns.py | 270 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/tests/integration/test_shell_patterns.py | 272 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/tests/workspace/test_provider_integration.py | 39 | # ═══════════════════════════════════════════════ | COMMENT |
| MEDIUM | python/tests/workspace/test_provider_integration.py | 41 | # ═══════════════════════════════════════════════ | COMMENT |
| MEDIUM | python/tests/workspace/test_provider_integration.py | 115 | # ═══════════════════════════════════════════════ | COMMENT |
| MEDIUM | python/tests/workspace/test_provider_integration.py | 117 | # ═══════════════════════════════════════════════ | COMMENT |
| MEDIUM | python/tests/workspace/test_provider_integration.py | 196 | # ═══════════════════════════════════════════════ | COMMENT |
| MEDIUM | python/tests/workspace/test_provider_integration.py | 198 | # ═══════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_mount_root_protection.py | 63 | # ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_mount_root_protection.py | 65 | # ════════════════════════════════════════════════════════════════════ | COMMENT |
| 528 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/commands/builtin/github/conftest.py | 18 | CODE | |
| LOW | python/mirage/__init__.py | 16 | CODE | |
| LOW | python/mirage/__init__.py | 17 | CODE | |
| LOW | python/mirage/__init__.py | 18 | CODE | |
| LOW | python/mirage/__init__.py | 19 | CODE | |
| LOW | python/mirage/__init__.py | 19 | CODE | |
| LOW | python/mirage/__init__.py | 20 | CODE | |
| LOW | python/mirage/__init__.py | 20 | CODE | |
| LOW | python/mirage/__init__.py | 20 | CODE | |
| LOW | python/mirage/__init__.py | 21 | CODE | |
| LOW | python/mirage/__init__.py | 22 | CODE | |
| LOW | python/mirage/__init__.py | 23 | CODE | |
| LOW | python/mirage/provision/__init__.py | 15 | CODE | |
| LOW | python/mirage/provision/__init__.py | 15 | CODE | |
| LOW | python/mirage/provision/__init__.py | 15 | CODE | |
| LOW | python/mirage/provision/__init__.py | 15 | CODE | |
| LOW | python/mirage/provision/__init__.py | 15 | CODE | |
| LOW | python/mirage/provision/__init__.py | 15 | CODE | |
| LOW | python/mirage/provision/__init__.py | 15 | CODE | |
| LOW | python/mirage/context/session_context.py | 21 | CODE | |
| LOW | python/mirage/context/__init__.py | 15 | CODE | |
| LOW | python/mirage/context/__init__.py | 15 | CODE | |
| LOW | python/mirage/context/__init__.py | 15 | CODE | |
| LOW | python/mirage/context/__init__.py | 15 | CODE | |
| LOW | python/mirage/context/__init__.py | 15 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 15 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 16 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 17 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 17 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 18 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 19 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 20 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 21 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 22 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 23 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 24 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 25 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 26 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 27 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 27 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 28 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 29 | CODE | |
| LOW | python/mirage/core/s3/__init__.py | 30 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 15 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 16 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 17 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 18 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 18 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 19 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 20 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 21 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 22 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 23 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 24 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 25 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 26 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 27 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 28 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 29 | CODE | |
| LOW | python/mirage/core/redis/__init__.py | 30 | CODE | |
| 451 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | …s/core/src/workspace/executor/python/mirage_fs_shim.ts | 44 | return False | CODE |
| HIGH⚡ | …s/core/src/workspace/executor/python/mirage_fs_shim.ts | 47 | return True | CODE |
| HIGH⚡ | …s/core/src/workspace/executor/python/mirage_fs_shim.ts | 48 | return False | CODE |
| HIGH⚡ | …s/core/src/workspace/executor/python/mirage_fs_shim.ts | 53 | return True | CODE |
| HIGH⚡ | …s/core/src/workspace/executor/python/mirage_fs_shim.ts | 54 | return False | CODE |
| HIGH⚡ | …s/core/src/workspace/executor/python/mirage_fs_shim.ts | 113 | return None | CODE |
| HIGH⚡ | …s/core/src/workspace/executor/python/mirage_fs_shim.ts | 120 | return None | CODE |
| HIGH⚡ | …s/core/src/workspace/executor/python/mirage_fs_shim.ts | 125 | return True | CODE |
| HIGH⚡ | …s/core/src/workspace/executor/python/mirage_fs_shim.ts | 127 | return False | CODE |
| HIGH⚡ | …s/core/src/workspace/executor/python/mirage_fs_shim.ts | 129 | return False | CODE |
| HIGH | …s/core/src/workspace/executor/python/mirage_fs_shim.ts | 167 | return False | CODE |
| HIGH | …s/core/src/workspace/executor/python/mirage_fs_shim.ts | 173 | return True | CODE |
| HIGH | …s/core/src/workspace/executor/python/mirage_fs_shim.ts | 184 | return True | CODE |
| HIGH | …s/core/src/workspace/executor/python/mirage_fs_shim.ts | 188 | return None | CODE |
| HIGH | …packages/core/src/workspace/executor/python/wrapper.ts | 56 | elif _codeobj is not False: | CODE |
| HIGH | …packages/core/src/workspace/executor/python/wrapper.ts | 69 | elif isinstance(_code, bool): | CODE |
| HIGH | …packages/core/src/workspace/executor/python/wrapper.ts | 71 | elif isinstance(_code, int): | CODE |
| HIGH | …packages/core/src/workspace/executor/python/wrapper.ts | 124 | elif isinstance(_code, bool): | CODE |
| HIGH | …packages/core/src/workspace/executor/python/wrapper.ts | 126 | elif isinstance(_code, int): | CODE |
| HIGH⚡ | integ/runtime.ts | 43 | print('ram:', ram) | CODE |
| HIGH⚡ | integ/runtime.ts | 44 | print('s3:', s3) | CODE |
| HIGH⚡ | integ/runtime.ts | 45 | print('argv sum:', int(argv[1]) + int(argv[2])) | CODE |
| HIGH | examples/typescript/s3/s3_write.ts | 198 | print(res.stdout) | CODE |
| HIGH | examples/typescript/redis/redis.ts | 38 | print(res.stdout) | CODE |
| HIGH⚡ | examples/typescript/redis/redis.ts | 91 | print(cpOut.stdout) | CODE |
| HIGH⚡ | examples/typescript/redis/redis.ts | 96 | print(mvOut.stdout) | CODE |
| HIGH⚡ | examples/typescript/redis/redis.ts | 101 | print(rmOut.stdout) | CODE |
| HIGH⚡ | examples/typescript/redis/redis.ts | 110 | print(uniqOut.stdout) | CODE |
| HIGH⚡ | examples/typescript/pyodide/ram.ts | 32 | print(f'hello, {name}!') | CODE |
| HIGH⚡ | examples/typescript/pyodide/ram.ts | 33 | print(f'args: {sys.argv[1:]}') | CODE |
| HIGH⚡ | examples/typescript/pyodide/ram.ts | 34 | print(f'sum(1..10): {sum(range(1, 11))}') | CODE |
| HIGH | examples/typescript/pyodide/ram.ts | 74 | print(f'{user}: {n}') | CODE |
| HIGH | examples/typescript/pyodide/ram.ts | 87 | print('script was replaced!') | CODE |
| HIGH⚡ | examples/typescript/pyodide/script.ts | 28 | print(f"count: {len(records)}") | CODE |
| HIGH⚡ | examples/typescript/pyodide/script.ts | 29 | print(f"keys: {sorted({k for r in records for k in r})}") | CODE |
| HIGH⚡ | examples/typescript/pyodide/script.ts | 31 | print(f" - {json.dumps(r)}") | CODE |
| HIGH | examples/typescript/pyodide/vfs.ts | 84 | print('read:', f.read()) | CODE |
| HIGH | examples/typescript/pyodide/vfs.ts | 87 | print('wrote /ram/out.txt') | CODE |
| HIGH | examples/typescript/pyodide/vfs.ts | 100 | print('listdir:', os.listdir('/ram/synth/today')) | CODE |
| HIGH | examples/typescript/pyodide/vfs.ts | 101 | print('read:', open('/ram/synth/today/note.md').read()) | CODE |
| HIGH | examples/typescript/pyodide/vfs.ts | 115 | print('team:', team.get('name'), team.get('id')) | CODE |
| HIGH | examples/typescript/pyodide/vfs.ts | 128 | print('doc:', data.get('title') or list(data.keys())[:5]) | CODE |
| HIGH | examples/typescript/pyodide/vfs.ts | 139 | print('entries:', entries) | CODE |
| HIGH | examples/typescript/pyodide/vfs.ts | 145 | print(f'{p}:', data[:60]) | CODE |
| HIGH | examples/typescript/pyodide/vfs.ts | 159 | print('saved /ram/icon.png') | CODE |
| HIGH | examples/typescript/pyodide/vfs.ts | 180 | print(f'wrote {len(out)} teams to /ram/summary.json') | CODE |
| HIGH | examples/typescript/pyodide/basic.ts | 26 | print(res.stdout) | CODE |
| HIGH | examples/typescript/pyodide/basic.ts | 56 | print(stdinRes.stdout) | CODE |
| HIGH | examples/typescript/ram/ram.ts | 29 | print(res.stdout) | CODE |
| HIGH⚡ | examples/typescript/ram/ram.ts | 62 | print(cpOut.stdout) | CODE |
| HIGH⚡ | examples/typescript/ram/ram.ts | 67 | print(mvOut.stdout) | CODE |
| HIGH⚡ | examples/typescript/ram/ram.ts | 72 | print(rmOut.stdout) | CODE |
| HIGH⚡ | examples/typescript/ram/ram.ts | 81 | print(uniqOut.stdout) | CODE |
| HIGH | examples/typescript/ram/ram.ts | 105 | print(mvMeta.stdout) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/workspace/test_find_unknown_predicate.py | 16 | async def _setup(ws: Workspace) -> None: | CODE |
| LOW⚡ | python/tests/workspace/test_find_action_dispatch.py | 43 | async def _setup_html_files(ws: Workspace) -> None: | CODE |
| LOW | python/tests/commands/builtin/github/conftest.py | 20 | __all__ = ["github_config", "mock_github_api"] | CODE |
| LOW | python/mirage/__init__.py | 25 | __all__ = [ | CODE |
| LOW | python/mirage/provision/__init__.py | 19 | __all__ = [ | CODE |
| LOW | python/mirage/context/__init__.py | 21 | __all__ = [ | CODE |
| LOW | python/mirage/core/nextcloud/readdir.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/s3/__init__.py | 32 | __all__ = [ | CODE |
| LOW | python/mirage/core/s3/readdir.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/chroma/__init__.py | 1 | __all__ = [] | CODE |
| LOW | python/mirage/core/discord/stat.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/discord/readdir.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/github_ci/stat.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/redis/__init__.py | 34 | __all__ = [ | CODE |
| LOW | python/mirage/core/google/tree_ops.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/linear/__init__.py | 15 | __all__ = [] | CODE |
| LOW | python/mirage/core/linear/stat.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/gdrive/stat.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/gdrive/readdir.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/databricks_volume/readdir.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/ssh/readdir.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/github/stat.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/github/search.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/history/__init__.py | 21 | __all__ = [ | CODE |
| LOW | python/mirage/core/sharepoint/_client.py | 16 | __all__ = [ | CODE |
| LOW | python/mirage/core/gsheets/_client.py | 22 | __all__ = [ | CODE |
| LOW | python/mirage/core/gsheets/read.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/qdrant/query.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/hf_buckets/readdir.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/disk/__init__.py | 32 | __all__ = [ | CODE |
| LOW | python/mirage/core/slack/stat.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/slack/readdir.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/slack/readdir.py | 395 | __all__ = ["readdir", "is_dir_name", "VIRTUAL_ROOTS", "SlackScope"] | CODE |
| LOW | python/mirage/core/trello/__init__.py | 15 | __all__ = [] | CODE |
| LOW | python/mirage/core/trello/stat.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/jq/__init__.py | 21 | __all__ = [ | CODE |
| LOW | python/mirage/core/gdocs/_client.py | 22 | __all__ = [ | CODE |
| LOW | python/mirage/core/gdocs/read.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/gslides/_client.py | 22 | __all__ = [ | CODE |
| LOW | python/mirage/core/gslides/read.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/dify/__init__.py | 1 | __all__ = [] | CODE |
| LOW | python/mirage/core/dify/_client.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/dify/search.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/gmail/stat.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/gmail/search.py | 131 | __all__ = [ | CODE |
| LOW | python/mirage/core/gmail/readdir.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/gmail/read.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/email/stat.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/core/ram/__init__.py | 33 | __all__ = [ | CODE |
| LOW | python/mirage/cache/__init__.py | 19 | __all__ = [ | CODE |
| LOW | python/mirage/cache/file/io.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/cache/file/__init__.py | 18 | __all__ = ["CacheEntry", "FileCacheMixin"] | CODE |
| LOW | python/mirage/cache/index/__init__.py | 22 | __all__ = [ | CODE |
| LOW | python/mirage/shell/call_stack.py | 68 | def set_positional(self, values: list[str]) -> None: | CODE |
| LOW | python/mirage/shell/call_stack.py | 71 | def set_local(self, name: str, value: str) -> None: | CODE |
| LOW | python/mirage/shell/__init__.py | 18 | __all__ = [ | CODE |
| LOW | python/mirage/accessor/mongodb.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/accessor/__init__.py | 20 | __all__ = [ | CODE |
| LOW | python/mirage/bridge/__init__.py | 18 | __all__ = ["run_async_from_sync", "run_in_thread"] | CODE |
| LOW | python/mirage/workspace/runner.py | 22 | logger = logging.getLogger(__name__) | CODE |
| 196 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/core/chroma/conftest.py | 21 | CODE | |
| LOW | python/tests/integration/test_cross_mount_matrix.py | 101 | CODE | |
| LOW | python/tests/integration/test_cross_mount_matrix.py | 127 | CODE | |
| LOW | python/tests/integration/test_snapshot_drift_live.py | 81 | CODE | |
| LOW | python/tests/commands/native/test_cross_mount.py | 67 | CODE | |
| LOW | python/tests/commands/builtin/test_multifile_guard.py | 89 | CODE | |
| LOW | python/mirage/core/nextcloud/find.py | 11 | CODE | |
| LOW | python/mirage/core/chroma/grep.py | 100 | CODE | |
| LOW | python/mirage/core/chroma/search.py | 54 | CODE | |
| LOW | python/mirage/core/redis/rename.py | 23 | CODE | |
| LOW | python/mirage/core/onedrive/stream.py | 29 | CODE | |
| LOW | python/mirage/core/onedrive/read.py | 35 | CODE | |
| LOW | python/mirage/core/google/date_glob.py | 24 | CODE | |
| LOW | python/mirage/core/linear/read.py | 31 | CODE | |
| LOW | python/mirage/core/gdrive/readdir.py | 45 | CODE | |
| LOW | python/mirage/core/sharepoint/stream.py | 16 | CODE | |
| LOW | python/mirage/core/sharepoint/read.py | 22 | CODE | |
| LOW | python/mirage/core/hf_buckets/find.py | 25 | CODE | |
| LOW | python/mirage/core/disk/find.py | 34 | CODE | |
| LOW | python/mirage/core/slack/scope.py | 42 | CODE | |
| LOW | python/mirage/core/dify/tree.py | 90 | CODE | |
| LOW | python/mirage/core/dify/tree.py | 141 | CODE | |
| LOW | python/mirage/core/dify/search.py | 119 | CODE | |
| LOW | python/mirage/core/gmail/messages.py | 136 | CODE | |
| LOW | python/mirage/core/gmail/readdir.py | 70 | CODE | |
| LOW | python/mirage/core/gmail/readdir.py | 143 | CODE | |
| LOW | python/mirage/core/email/_parse.py | 49 | CODE | |
| LOW | python/mirage/core/email/_client.py | 36 | CODE | |
| LOW | python/mirage/core/email/readdir.py | 53 | CODE | |
| LOW | python/mirage/core/ram/rename.py | 23 | CODE | |
| LOW | python/mirage/cache/file/io.py | 64 | CODE | |
| LOW | python/mirage/shell/helpers.py | 151 | CODE | |
| LOW | python/mirage/shell/helpers.py | 288 | CODE | |
| LOW | python/mirage/shell/helpers.py | 330 | CODE | |
| LOW | python/mirage/workspace/dispatcher.py | 55 | CODE | |
| LOW | python/mirage/workspace/workspace.py | 83 | CODE | |
| LOW | python/mirage/workspace/provision/command.py | 81 | CODE | |
| LOW | python/mirage/workspace/snapshot/manifest.py | 38 | CODE | |
| LOW | python/mirage/workspace/snapshot/manifest.py | 130 | CODE | |
| LOW | python/mirage/workspace/expand/globs.py | 99 | CODE | |
| LOW | python/mirage/workspace/expand/variable.py | 142 | CODE | |
| LOW | python/mirage/workspace/expand/redirects.py | 25 | CODE | |
| LOW | python/mirage/workspace/expand/parts.py | 109 | CODE | |
| LOW | python/mirage/workspace/expand/node.py | 41 | CODE | |
| LOW | python/mirage/workspace/executor/command.py | 74 | CODE | |
| LOW | python/mirage/workspace/executor/command.py | 269 | CODE | |
| LOW | python/mirage/workspace/executor/command.py | 402 | CODE | |
| LOW | …thon/mirage/workspace/executor/find_action_dispatch.py | 21 | CODE | |
| LOW | python/mirage/workspace/executor/redirect.py | 29 | CODE | |
| LOW | python/mirage/workspace/executor/control.py | 144 | CODE | |
| LOW | python/mirage/workspace/executor/control.py | 192 | CODE | |
| LOW | python/mirage/workspace/executor/control.py | 286 | CODE | |
| LOW | python/mirage/workspace/executor/control.py | 313 | CODE | |
| LOW | python/mirage/workspace/executor/pipes.py | 29 | CODE | |
| LOW | python/mirage/workspace/executor/fanout.py | 185 | CODE | |
| LOW | python/mirage/workspace/executor/builtins/vars.py | 108 | CODE | |
| LOW | python/mirage/workspace/executor/builtins/vars.py | 231 | CODE | |
| LOW | python/mirage/workspace/executor/builtins/metadata.py | 398 | CODE | |
| LOW | python/mirage/workspace/executor/builtins/shared.py | 128 | CODE | |
| LOW | python/mirage/workspace/executor/builtins/text.py | 36 | CODE | |
| 90 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/mirage/commands/builtin/s3/_provision.py | 0 | walk paths, return (path, size) pairs. self-heals via stat fallback. order of resolution per path: 1. index lookup -- fr | STRING |
| HIGH | python/mirage/commands/builtin/onedrive/_provision.py | 0 | walk paths, return (path, size) pairs. self-heals via stat fallback. order of resolution per path: 1. index lookup -- fr | STRING |
| HIGH | python/mirage/commands/builtin/sharepoint/_provision.py | 0 | walk paths, return (path, size) pairs. self-heals via stat fallback. order of resolution per path: 1. index lookup -- fr | STRING |
| HIGH | python/mirage/commands/builtin/s3/_provision.py | 0 | cost estimate for full file reads (cat, wc). sums index-known file sizes. if any path is unknown, marks precision unknow | STRING |
| HIGH | python/mirage/commands/builtin/onedrive/_provision.py | 0 | cost estimate for full file reads (cat, wc). sums index-known file sizes. if any path is unknown, marks precision unknow | STRING |
| HIGH | python/mirage/commands/builtin/sharepoint/_provision.py | 0 | cost estimate for full file reads (cat, wc). sums index-known file sizes. if any path is unknown, marks precision unknow | STRING |
| HIGH | python/mirage/commands/builtin/generic/zgrep.py | 0 | convert the raw flag bag into grepflags, the only string-keyed reads. args: fl (flagview): spec-validated view over the | STRING |
| HIGH | python/mirage/commands/builtin/generic/rg.py | 0 | convert the raw flag bag into grepflags, the only string-keyed reads. args: fl (flagview): spec-validated view over the | STRING |
| HIGH | python/mirage/commands/builtin/generic/grep.py | 0 | convert the raw flag bag into grepflags, the only string-keyed reads. args: fl (flagview): spec-validated view over the | STRING |
| HIGH | python/mirage/resource/aliyun/prompt.py | 0 | \ {prefix} remote seaweedfs bucket (s3-compatible gateway). important: this is a remote mount. prefer targeted reads ove | STRING |
| HIGH | python/mirage/resource/ceph/prompt.py | 0 | \ {prefix} remote seaweedfs bucket (s3-compatible gateway). important: this is a remote mount. prefer targeted reads ove | STRING |
| HIGH | python/mirage/resource/backblaze/prompt.py | 0 | \ {prefix} remote seaweedfs bucket (s3-compatible gateway). important: this is a remote mount. prefer targeted reads ove | STRING |
| HIGH | python/mirage/resource/digitalocean/prompt.py | 0 | \ {prefix} remote seaweedfs bucket (s3-compatible gateway). important: this is a remote mount. prefer targeted reads ove | STRING |
| HIGH | python/mirage/resource/wasabi/prompt.py | 0 | \ {prefix} remote seaweedfs bucket (s3-compatible gateway). important: this is a remote mount. prefer targeted reads ove | STRING |
| HIGH | python/mirage/resource/minio/prompt.py | 0 | \ {prefix} remote seaweedfs bucket (s3-compatible gateway). important: this is a remote mount. prefer targeted reads ove | STRING |
| HIGH | python/mirage/resource/qingstor/prompt.py | 0 | \ {prefix} remote seaweedfs bucket (s3-compatible gateway). important: this is a remote mount. prefer targeted reads ove | STRING |
| HIGH | python/mirage/resource/scaleway/prompt.py | 0 | \ {prefix} remote seaweedfs bucket (s3-compatible gateway). important: this is a remote mount. prefer targeted reads ove | STRING |
| HIGH | python/mirage/resource/tencent/prompt.py | 0 | \ {prefix} remote seaweedfs bucket (s3-compatible gateway). important: this is a remote mount. prefer targeted reads ove | STRING |
| HIGH | python/mirage/resource/seaweedfs/prompt.py | 0 | \ {prefix} remote seaweedfs bucket (s3-compatible gateway). important: this is a remote mount. prefer targeted reads ove | STRING |
| HIGH | python/mirage/resource/gsheets/sheet_entry.py | 0 | sanitize a document title for use in filenames. args: title (str): raw document title. returns: str: sanitized title, ma | STRING |
| HIGH | python/mirage/resource/gdocs/doc_entry.py | 0 | sanitize a document title for use in filenames. args: title (str): raw document title. returns: str: sanitized title, ma | STRING |
| HIGH | python/mirage/resource/gslides/slide_entry.py | 0 | sanitize a document title for use in filenames. args: title (str): raw document title. returns: str: sanitized title, ma | STRING |
| HIGH | python/mirage/resource/gsheets/sheet_entry.py | 0 | build a filename from title, doc id, and modified date. args: title (str): raw document title. doc_id (str): google slid | STRING |
| HIGH | python/mirage/resource/gdocs/doc_entry.py | 0 | build a filename from title, doc id, and modified date. args: title (str): raw document title. doc_id (str): google slid | STRING |
| HIGH | python/mirage/resource/gslides/slide_entry.py | 0 | build a filename from title, doc id, and modified date. args: title (str): raw document title. doc_id (str): google slid | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/integration/test_snapshot_drift_live.py | 64 | except Exception: | CODE |
| LOW | python/tests/integration/test_snapshot_drift_live.py | 103 | except Exception: | CODE |
| MEDIUM | python/tests/integration/test_snapshot_drift_live.py | 61 | def _versioning_enabled() -> bool: | CODE |
| LOW | python/mirage/core/s3/truncate.py | 31 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/stream.py | 61 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/stream.py | 110 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/stat.py | 109 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/read.py | 84 | except Exception as exc: | CODE |
| LOW | python/mirage/core/chroma/tree.py | 34 | except Exception as exc: | CODE |
| LOW | python/mirage/core/discord/stat.py | 48 | except Exception as exc: | CODE |
| LOW | python/mirage/core/github_ci/stat.py | 47 | except Exception as exc: | CODE |
| LOW | python/mirage/core/google/tree_ops.py | 65 | except Exception as exc: | CODE |
| LOW | python/mirage/core/linear/stat.py | 45 | except Exception as exc: | CODE |
| LOW | python/mirage/core/gdrive/stream.py | 60 | except Exception: | CODE |
| LOW | python/mirage/core/gdrive/stat.py | 51 | except Exception as exc: | CODE |
| LOW | python/mirage/core/gdrive/readdir.py | 133 | except Exception: | CODE |
| LOW | python/mirage/core/gdrive/read.py | 58 | except Exception: | CODE |
| LOW⚡ | python/mirage/core/databricks_volume/write.py | 49 | except Exception as exc: | CODE |
| LOW⚡ | python/mirage/core/databricks_volume/write.py | 55 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/write.py | 92 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/rmdir.py | 55 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/rmdir.py | 63 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/rm.py | 88 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/stream.py | 70 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/mkdir.py | 56 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/stat.py | 70 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/stat.py | 106 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/unlink.py | 50 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/readdir.py | 55 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/read.py | 103 | except Exception as exc: | CODE |
| LOW | python/mirage/core/filetype/hdf5.py | 37 | except Exception: | CODE |
| LOW | python/mirage/core/github/stat.py | 54 | except Exception as exc: | CODE |
| LOW | python/mirage/core/github/search.py | 84 | except Exception as exc: | CODE |
| LOW | python/mirage/core/gsheets/read.py | 82 | except Exception as exc: | CODE |
| LOW | python/mirage/core/slack/stat.py | 60 | except Exception as exc: | CODE |
| LOW | python/mirage/core/trello/stat.py | 48 | except Exception as exc: | CODE |
| LOW | python/mirage/core/gdocs/read.py | 54 | except Exception as exc: | CODE |
| LOW | python/mirage/core/gslides/read.py | 56 | except Exception as exc: | CODE |
| LOW | python/mirage/core/gmail/stat.py | 67 | except Exception as exc: | CODE |
| LOW | python/mirage/core/gmail/readdir.py | 197 | except Exception as e: | CODE |
| LOW | python/mirage/core/gmail/readdir.py | 242 | except Exception as e: | CODE |
| LOW | python/mirage/core/gmail/read.py | 48 | except Exception as exc: | CODE |
| LOW | python/mirage/core/email/stat.py | 62 | except Exception as exc: | CODE |
| LOW | python/mirage/core/email/readdir.py | 49 | except Exception: | CODE |
| LOW | python/mirage/cache/file/io.py | 132 | except Exception: | CODE |
| LOW | python/mirage/shell/job_table.py | 155 | except Exception as exc: | CODE |
| LOW | python/mirage/workspace/runner.py | 118 | except Exception: | CODE |
| LOW | python/mirage/workspace/workspace.py | 293 | except Exception: | CODE |
| LOW | python/mirage/workspace/workspace.py | 810 | except Exception as exc: | CODE |
| LOW | python/mirage/workspace/mount/registry.py | 320 | except Exception: | CODE |
| LOW | python/mirage/workspace/executor/fanout.py | 301 | except Exception: | CODE |
| LOW | python/mirage/workspace/node/program.py | 79 | except Exception as exc: | CODE |
| LOW | python/mirage/io/stream.py | 103 | except Exception as exc: | CODE |
| LOW | python/mirage/agents/openhands/workspace.py | 191 | except Exception as e: | CODE |
| LOW | python/mirage/agents/openhands/workspace.py | 219 | except Exception as e: | CODE |
| LOW | python/mirage/server/registry.py | 142 | except Exception: | CODE |
| LOW | python/mirage/server/routers/workspaces.py | 56 | except Exception: | CODE |
| LOW | python/mirage/commands/builtin/grep_helper.py | 546 | except Exception as exc: | CODE |
| LOW | python/mirage/commands/builtin/grep_helper.py | 572 | except Exception as exc: | CODE |
| LOW | python/mirage/commands/builtin/file_helper.py | 50 | except Exception: | CODE |
| 34 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/mirage/config.py | 74 | Replace ``${VAR}`` placeholders with values from ``env``. Args: value (Any): scalar, dict, or list to walk. | STRING |
| HIGH | python/mirage/shell/arith.py | 369 | Evaluate a bash arithmetic expression. Implements bash's arithmetic grammar over 64-bit wrapping integers: comm | STRING |
| HIGH | python/mirage/workspace/executor/builtins/dirs.py | 38 | Resolve a combined ``cd`` path, following symlinks per mode. Logical (``-L``, default) simplifies ``..`` textually | STRING |
| HIGH | python/mirage/workspace/executor/builtins/metadata.py | 107 | Resolve touch -t/-d into an ISO timestamp. The -t stamp is the POSIX ``[[CC]YY]MMDDhhmm[.ss]`` form; strptime d | STRING |
| HIGH | python/mirage/server/daemon_config.py | 68 | Read the ``[daemon]`` table from ``home/config.toml``. Args: home (Path): the ``.mirage`` base directory. T | STRING |
| HIGH | python/mirage/server/registry.py | 92 | Wrap ``workspace`` in a runner and register it. Args: workspace (Workspace): freshly-constructed wo | STRING |
| HIGH | python/mirage/server/registry.py | 114 | Stop the runner for ``workspace_id`` and drop it. Args: workspace_id (str): id to remove. | STRING |
| HIGH | python/mirage/server/auth/config.py | 142 | Resolve daemon auth configuration from environment and config. Per key the environment variable wins over the ``[da | STRING |
| HIGH | python/mirage/server/auth/jwt.py | 30 | Verify a JWT against ``cfg`` and return its claims on success. Performs signature verification, algorithm pinning, | STRING |
| HIGH | python/mirage/utils/path.py | 107 | Resolve symlink prefixes in ``path`` until stable. Repeatedly replaces the longest dict key that is a path-boundary | STRING |
| HIGH | python/mirage/cli/settings.py | 181 | Return the ``[daemon]`` table as written in the config file. Args: path (Path | None): config file. Default | STRING |
| HIGH | python/mirage/resource/registry.py | 168 | Construct a resource instance by its registry name. Resolves resource and config classes lazily via importlib, so | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/core/databricks_volume/conftest.py | 161 | CODE | |
| LOW | …s/resource/databricks_volume/test_databricks_volume.py | 165 | CODE | |
| LOW | python/mirage/core/nextcloud/find.py | 11 | CODE | |
| LOW | python/mirage/core/s3/find.py | 24 | CODE | |
| LOW | python/mirage/core/chroma/grep.py | 11 | CODE | |
| LOW | python/mirage/core/chroma/find.py | 12 | CODE | |
| LOW | python/mirage/core/redis/find.py | 24 | CODE | |
| LOW | python/mirage/core/onedrive/find.py | 47 | CODE | |
| LOW | python/mirage/core/notion/find.py | 46 | CODE | |
| LOW | python/mirage/core/ssh/find.py | 25 | CODE | |
| LOW | python/mirage/core/github/find.py | 23 | CODE | |
| LOW | python/mirage/core/history/find.py | 23 | CODE | |
| LOW | python/mirage/core/sharepoint/find.py | 37 | CODE | |
| LOW | python/mirage/core/hf_buckets/find.py | 25 | CODE | |
| LOW | python/mirage/core/disk/find.py | 34 | CODE | |
| LOW | python/mirage/core/disk/find.py | 154 | CODE | |
| LOW | python/mirage/core/dify/find.py | 12 | CODE | |
| LOW | python/mirage/core/email/search.py | 50 | CODE | |
| LOW | python/mirage/core/ram/find.py | 24 | CODE | |
| LOW | python/mirage/workspace/workspace.py | 83 | CODE | |
| LOW | python/mirage/workspace/workspace.py | 683 | CODE | |
| LOW | python/mirage/commands/builtin/find_helper.py | 156 | CODE | |
| LOW | …n/mirage/commands/builtin/generic_bind/builders/sed.py | 80 | CODE | |
| LOW | …mirage/commands/builtin/generic_bind/builders/unzip.py | 26 | CODE | |
| LOW | …n/mirage/commands/builtin/generic_bind/builders/tar.py | 26 | CODE | |
| LOW | …n/mirage/commands/builtin/generic_bind/builders/cat.py | 30 | CODE | |
| LOW | …/mirage/commands/builtin/generic_bind/builders/sort.py | 28 | CODE | |
| LOW | …on/mirage/commands/builtin/generic_bind/builders/ls.py | 25 | CODE | |
| LOW | …on/mirage/commands/builtin/generic_bind/builders/cp.py | 43 | CODE | |
| LOW | …/mirage/commands/builtin/generic_bind/builders/uniq.py | 28 | CODE | |
| LOW | …/mirage/commands/builtin/generic_bind/builders/diff.py | 24 | CODE | |
| LOW | …/mirage/commands/builtin/generic_bind/builders/find.py | 27 | CODE | |
| LOW | …n/mirage/commands/builtin/generic_bind/builders/xxd.py | 28 | CODE | |
| LOW | python/mirage/commands/builtin/chroma/find.py | 52 | CODE | |
| LOW | python/mirage/commands/builtin/github_ci/find.py | 47 | CODE | |
| LOW | python/mirage/commands/builtin/general/curl.py | 43 | CODE | |
| LOW | python/mirage/commands/builtin/general/python.py | 41 | CODE | |
| LOW | python/mirage/commands/builtin/general/wget.py | 27 | CODE | |
| LOW | python/mirage/commands/builtin/github/find.py | 47 | CODE | |
| LOW | python/mirage/commands/builtin/history/ls.py | 33 | CODE | |
| LOW | python/mirage/commands/builtin/history/find.py | 33 | CODE | |
| LOW | python/mirage/commands/builtin/history/history.py | 29 | CODE | |
| LOW | python/mirage/commands/builtin/generic/tar.py | 107 | CODE | |
| LOW | python/mirage/commands/builtin/generic/sort.py | 11 | CODE | |
| LOW | python/mirage/commands/builtin/generic/mv.py | 26 | CODE | |
| LOW | python/mirage/commands/builtin/generic/ls.py | 201 | CODE | |
| LOW | python/mirage/commands/builtin/generic/cp.py | 56 | CODE | |
| LOW | python/mirage/commands/builtin/generic/join.py | 116 | CODE | |
| LOW | python/mirage/commands/builtin/generic/uniq.py | 88 | CODE | |
| LOW | python/mirage/commands/builtin/generic/diff.py | 128 | CODE | |
| LOW | python/mirage/commands/builtin/generic/find.py | 19 | CODE | |
| LOW | python/mirage/commands/builtin/generic/find.py | 115 | CODE | |
| LOW | python/mirage/commands/builtin/generic/xxd.py | 109 | CODE | |
| LOW | python/mirage/commands/builtin/dify/find.py | 52 | CODE | |
| LOW | python/mirage/commands/builtin/email/grep.py | 103 | CODE | |
| LOW | python/mirage/commands/builtin/email/find.py | 60 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/core/discord/test_read.py | 52 | fake_data = b'{"id":"100","content":"hello"}\n' | CODE |
| LOW | python/tests/core/discord/test_read.py | 56 | return_value=fake_data, | CODE |
| LOW | python/tests/core/discord/test_read.py | 67 | assert result == fake_data | CODE |
| LOW | python/tests/core/google/test_drive.py | 38 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gdrive/test_stat.py | 40 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gdrive/test_read.py | 40 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gdrive/test_readdir.py | 40 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gdrive/test_stream.py | 40 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gdocs/test_update.py | 33 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gdocs/test_read.py | 38 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gmail/test_send.py | 33 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gmail/test_labels.py | 32 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gmail/test_messages.py | 35 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/commands/builtin/gdrive/test_sed.py | 42 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/commands/builtin/gdrive/test_read.py | 40 | mgr._access_token = "fake-token" | CODE |
| LOW | …thon/tests/commands/builtin/gmail/test_gws_commands.py | 36 | tm._access_token = "fake-token" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/tests/core/google/test_drive.py | 195 | CODE | |
| MEDIUM | python/tests/io/test_sync_bridge.py | 32 | CODE | |
| MEDIUM | python/mirage/io/stream.py | 166 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | python/tests/workspace/test_execute_options.py | 246 | # ── agent harness pattern ───────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/shell/test_parse.py | 209 | def test_function(): | CODE |
| LOW | python/tests/integration/test_find_pipe_while.py | 23 | "src/utils/helpers.py": b"def helper(): pass\n", | CODE |
| LOW | typescript/packages/core/src/core/langfuse/_client.ts | 109 | function getData(body: unknown): Record<string, unknown>[] { | CODE |
| LOW | …core/src/workspace/integration_find_pipe_while.test.ts | 22 | 'src/utils/helpers.py': 'def helper(): pass\n', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | examples/python/agents/pydantic_ai/slack_pdf_agent.py | 80 | # orchestration needed — unlike the OpenAI Agents SDK, where tool | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | typescript/scripts/load-env.sh | 7 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/python/s3/s3.py | 252 | # Read file to populate cache (cat declares cache, wc materializes) | COMMENT |