The World's First Virtual Terminal for AI Agents
This report summarizes scanner evidence for strukto-ai/mirage, a TypeScript project with 3,756 GitHub stars. SynthScan examined 2,175,698 lines of code across 10542 source files, recording 28741 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 17.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.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 25045 finding(s).
Are imports declared and package/API names verified? 2177 finding(s).
Are wrappers, guards, and repeated structures necessary? 17850 finding(s).
Which changes need focused human review? 28741 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 28741 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 | python/tests/test_types_fingerprint.py | 18 | def test_file_stat_has_fingerprint_field(): | CODE |
| LOW | python/tests/test_types_fingerprint.py | 28 | def test_file_stat_fingerprint_defaults_none(): | CODE |
| LOW | python/tests/test_lua_parity.py | 28 | def test_every_lua_script_exists_in_both_languages(): | CODE |
| LOW | python/tests/test_lua_parity.py | 40 | def test_lua_basenames_are_unique_within_each_tree(): | CODE |
| LOW | python/tests/test_lua_parity.py | 52 | def test_each_lua_pair_is_byte_identical(): | CODE |
| LOW | python/tests/test_filestat_split.py | 10 | def test_content_is_rejected_on_a_non_file_kind(kind): | CODE |
| LOW | python/tests/test_tests_mirror_sources.py | 85 | def test_tests_declare_no_packages(): | CODE |
| LOW | python/tests/test_tests_mirror_sources.py | 103 | def test_every_test_directory_mirrors_a_source_package(): | CODE |
| LOW | python/tests/test_tests_mirror_sources.py | 117 | def test_no_stale_directory_exemption(): | CODE |
| LOW | python/tests/test_tests_mirror_sources.py | 130 | def test_module_mirror_coverage_holds_the_baseline(): | CODE |
| LOW | python/tests/test_nested_functions_are_closures.py | 90 | def test_nested_functions_capture_enclosing_state(): | CODE |
| LOW⚡ | python/tests/test_path_prefix_boundary.py | 60 | def test_mount_prefix_round_trips(mount, child): | CODE |
| LOW⚡ | python/tests/test_path_prefix_boundary.py | 68 | def test_a_child_is_under_its_mount(mount, child): | CODE |
| LOW⚡ | python/tests/test_path_prefix_boundary.py | 75 | def test_a_lookalike_sibling_is_not_under_the_mount(mount, child): | CODE |
| LOW⚡ | python/tests/test_path_prefix_boundary.py | 83 | def test_event_helpers_lift_onto_the_mount(mount, child): | CODE |
| LOW | python/tests/test_path_prefix_boundary.py | 111 | def test_evictions_that_drop_a_listing_reach_the_real_key(mount, child, kind): | CODE |
| LOW | python/tests/test_path_prefix_boundary.py | 133 | def test_a_write_drops_the_parent_listing_at_the_real_key(mount, child): | CODE |
| LOW | python/tests/test_path_prefix_boundary.py | 148 | def test_a_subtree_eviction_reaches_nested_listings(mount, child): | CODE |
| LOW | python/tests/test_path_prefix_boundary.py | 160 | def test_the_hub_frames_a_lookalike_child_correctly(mount, child): | CODE |
| LOW | python/tests/test_commit_sha_parity.py | 56 | def test_python_and_typescript_commit_sha_give_the_same_answer(sample): | CODE |
| LOW | python/tests/test_init.py | 39 | def test_authoring_surface_is_stable(): | CODE |
| LOW⚡ | python/tests/test_types.py | 50 | def test_aggr_none_inputs_is_none(): | CODE |
| LOW⚡ | python/tests/test_types.py | 55 | def test_aggr_keeps_single_limit(): | CODE |
| LOW⚡ | python/tests/test_types.py | 62 | def test_aggr_takes_smallest_positive_timeout(): | CODE |
| LOW⚡ | python/tests/test_types.py | 70 | def test_aggr_nonpositive_timeout_is_unbounded(): | CODE |
| LOW⚡ | python/tests/test_types.py | 77 | def test_aggr_takes_smallest_caps(): | CODE |
| LOW⚡ | python/tests/test_types.py | 85 | def test_aggr_error_beats_truncate(): | CODE |
| LOW⚡ | python/tests/test_types.py | 92 | def test_aggr_all_truncate_stays_truncate(): | CODE |
| LOW⚡ | python/tests/test_types.py | 99 | def test_every_field_declares_an_aggr_rule(): | CODE |
| LOW⚡ | python/tests/test_types.py | 106 | def test_pathspec_requires_vfs_path(): | CODE |
| LOW⚡ | python/tests/test_types.py | 111 | def test_pathspec_raw_path_kept_when_given(): | CODE |
| LOW⚡ | python/tests/test_types.py | 121 | def test_pathspec_raw_path_defaults_to_virtual(): | CODE |
| LOW⚡ | python/tests/test_types.py | 126 | def test_word_text_passes_strings_through(): | CODE |
| LOW⚡ | python/tests/test_types.py | 130 | def test_word_text_renders_paths_as_typed(): | CODE |
| LOW⚡ | python/tests/test_types.py | 140 | def test_pathspec_dir_trims_vfs_path(): | CODE |
| LOW⚡ | python/tests/test_types.py | 223 | def test_pathspec_from_str_path_defaults_to_root_mounted(): | CODE |
| LOW⚡ | python/tests/test_types.py | 229 | def test_pathspec_from_str_path_explicit_vfs_path(): | CODE |
| LOW⚡ | python/tests/test_types.py | 234 | def test_parse_mount_mode_words_and_aliases(): | CODE |
| LOW⚡ | python/tests/test_types.py | 242 | def test_parse_mount_mode_rejects_bit_style_forms(): | CODE |
| LOW | python/tests/test_types.py | 153 | def test_pathspec_dir_at_mount_root(): | CODE |
| LOW | python/tests/test_types.py | 202 | def test_pathspec_from_str_path_resolves_user_spelling( | CODE |
| LOW | python/tests/test_types.py | 254 | def test_read_spec_defaults_to_bounded_at_the_index_ttl(): | CODE |
| LOW | python/tests/test_types.py | 260 | def test_read_spec_carries_a_bound_under_fresh_too(): | CODE |
| LOW | python/tests/test_types.py | 271 | def test_cache_facts_is_frozen(): | CODE |
| LOW | python/tests/test_types.py | 301 | def test_derived_paths_preserve_or_reset_the_base_walk( | CODE |
| LOW | python/tests/test_types.py | 313 | def test_parent_retains_spelled_ancestors(): | CODE |
| LOW⚡ | python/tests/vfs/test_registry.py | 92 | def test_unknown_vfs_raises_keyerror(): | CODE |
| LOW⚡ | python/tests/vfs/test_registry.py | 97 | def test_registry_module_import_is_free_of_vfs_deps(): | CODE |
| LOW⚡ | python/tests/vfs/test_registry.py | 106 | def test_build_hf_buckets_vfs(): | CODE |
| LOW⚡ | python/tests/vfs/test_registry.py | 160 | def test_register_vfs_class_and_config(clean_registry): | CODE |
| LOW⚡ | python/tests/vfs/test_registry.py | 167 | def test_register_vfs_kwargs_config(clean_registry): | CODE |
| LOW⚡ | python/tests/vfs/test_registry.py | 174 | def test_register_vfs_config_cls_attribute(clean_registry): | CODE |
| LOW⚡ | python/tests/vfs/test_registry.py | 180 | def test_register_vfs_rejects_builtin_shadow(clean_registry): | CODE |
| LOW⚡ | python/tests/vfs/test_registry.py | 185 | def test_register_vfs_spec_string(clean_registry): | CODE |
| LOW⚡ | python/tests/vfs/test_registry.py | 191 | def test_colon_reference_builds_without_a_registry(clean_registry): | CODE |
| LOW⚡ | python/tests/vfs/test_registry.py | 201 | def test_colon_reference_uses_the_config_cls_attribute(clean_registry): | CODE |
| LOW⚡ | python/tests/vfs/test_registry.py | 208 | def test_colon_reference_does_not_shadow_a_builtin_name(clean_registry): | CODE |
| LOW⚡ | python/tests/vfs/test_registry.py | 213 | def test_colon_reference_to_a_missing_attribute_raises(clean_registry): | CODE |
| LOW⚡ | python/tests/vfs/test_registry.py | 218 | def test_colon_reference_refuses_a_class_that_is_not_a_vfs(clean_registry): | CODE |
| LOW⚡ | python/tests/vfs/test_registry.py | 228 | def test_colon_reference_refuses_a_vfs_with_no_name(clean_registry): | CODE |
| 16216 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ruff.toml | 1 | # The repository's width since before Ruff formatted it. Ruff's default of 88 | COMMENT |
| 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 | licenses/dependency_exceptions.toml | 1 | # Shipped dependencies whose license scripts/check_dependency_licenses.py | COMMENT |
| LOW | python/pyproject.toml | 281 | # | 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_lua_parity.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/test_tests_mirror_sources.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/test_nested_functions_are_closures.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/test_commit_sha_parity.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/test_init.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/vfs/test_registry.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_state_round_trip.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_no_blocking_http.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_plugins.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_inventory.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_capacity.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_command_args.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_s3_alias.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_ram_store.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_listing_version.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_freshness.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_secrets.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_backend_name.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_read_range_roster.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_read_revalidatable.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_base.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_call.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/test_testing.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/langfuse/test_find.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/s3/test_s3_stat_dir.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/s3/test_s3_stream.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/s3/test_s3_stats.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/s3/test_s3.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/discord/test_discord.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/discord/test_functions.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/aliyun/test_aliyun.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/bin/test_bin.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/redis/test_cat.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/redis/test_redis.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/redis/test_tail.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/redis/test_ls.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/redis/test_redis_provider.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/redis/test_store.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/redis/test_head.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/redis/test_functions.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/redis/test_glob.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/redis/test_redis_store.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/hf_models/test_hf_models.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/ceph/test_ceph.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/backblaze/test_backblaze.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/onedrive/test_read_fresh.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/hf_spaces/test_hf_spaces.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/digitalocean/test_digitalocean.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/linear/test_linear.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/gcal/test_event_entry.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| LOW | python/tests/vfs/gcal/test_gcal.py | 1 | # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= | COMMENT |
| 8036 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/tests/vfs/onedrive/test_read_fresh.py | 38 | CP = "cp /m/a.txt /r/x && cat /r/x" | CODE |
| HIGH⚡ | …thon/tests/vfs/tidb_filesystem/test_tidb_filesystem.py | 69 | assert await _run(ws, "mkdir /fs/d && echo hi > /fs/d/a.txt") == ( | CODE |
| HIGH⚡ | …thon/tests/vfs/tidb_filesystem/test_tidb_filesystem.py | 96 | ws, "cp /fs/a.txt /fs/b.txt && echo two > /fs/b.txt && cat /fs/a.txt" | CODE |
| HIGH | …thon/tests/vfs/tidb_filesystem/test_tidb_filesystem.py | 144 | "seq 1 50000 > /fs/big.txt && tail -n 1 /fs/big.txt && wc -c /fs/big.txt", | CODE |
| HIGH⚡ | python/tests/vfs/github/test_listing_ttl.py | 245 | ("/gh", "cd /gh && find . -name c.txt", "./docs/c.txt"), | CODE |
| HIGH⚡ | python/tests/vfs/github/test_listing_ttl.py | 247 | ("/gh", "cd /gh && du -a", "./docs/c.txt"), | CODE |
| HIGH⚡ | python/tests/vfs/github/test_listing_ttl.py | 252 | ("/gh", "cd /gh/docs && du -a", "./c.txt"), | CODE |
| HIGH | python/tests/vfs/sharepoint/test_read_fresh.py | 68 | pytest.param(True, "cp {v} /r/x && cat /r/x", id="scoped-bytes"), | CODE |
| HIGH⚡ | python/tests/vfs/disk/test_local.py | 131 | await ws.shell("echo hi > /data/f.txt && chmod 640 /data/f.txt") | CODE |
| HIGH | python/tests/vfs/dev/test_dev.py | 49 | 'consume() { ls /dev/fd >/dev/null; hold; cat "$1"; }; ' | CODE |
| HIGH | python/tests/vfs/dev/test_dev.py | 116 | 'consume() { echo "$1"; rm "$1" 2>/dev/null || echo kept; ' | CODE |
| HIGH⚡ | python/tests/core/render/test_json.py | 53 | '"meta":{"n":1,"ok":true,"none":null},"empty":{}}' | CODE |
| HIGH | python/tests/core/render/test_json.py | 99 | value_text({"a": 1.0, "b": [True, None]}) == '{"a":1,"b":[true,null]}' | CODE |
| HIGH⚡ | python/tests/core/airtable/test_events.py | 116 | fake.push(_records()) | CODE |
| HIGH⚡ | python/tests/core/airtable/test_events.py | 120 | fake.push(_records()) | CODE |
| HIGH⚡ | python/tests/core/airtable/test_events.py | 121 | fake.push(_records()) | CODE |
| HIGH⚡ | python/tests/core/airtable/test_events.py | 122 | fake.push({"changedTablesById": {"tblF": {"changedViewsById": {"v": {}}}}}) | CODE |
| HIGH⚡ | python/tests/core/airtable/test_events.py | 186 | fake.push(_records()) | CODE |
| HIGH⚡ | python/tests/core/airtable/test_events.py | 187 | fake.push(_records()) | CODE |
| HIGH⚡ | python/tests/core/airtable/test_events.py | 191 | fake.push({"error": True, "code": "INVALID_HOOK"}) | CODE |
| HIGH⚡ | python/tests/core/airtable/test_events.py | 203 | fake.push(_records(), hook_id="achNew") | CODE |
| HIGH⚡ | python/tests/core/airtable/test_events.py | 214 | fake.push(_records()) | CODE |
| HIGH⚡ | python/tests/core/airtable/test_events.py | 215 | fake.push(_records()) | CODE |
| HIGH⚡ | python/tests/core/airtable/test_events.py | 219 | fake.push(_records(), hook_id="achNew") | CODE |
| HIGH⚡ | python/tests/core/airtable/test_events.py | 220 | fake.push(_records(), hook_id="achNew") | CODE |
| HIGH⚡ | python/tests/core/airtable/test_events.py | 261 | fake.push(_records()) | CODE |
| HIGH⚡ | python/tests/core/airtable/test_events.py | 270 | fake.push( | CODE |
| HIGH | python/tests/core/airtable/test_events.py | 136 | fake.push( | CODE |
| HIGH | python/tests/core/airtable/test_events.py | 156 | fake.push( | CODE |
| HIGH | python/tests/core/airtable/test_events.py | 168 | fake.push({"destroyedTableIds": ["tblF"]}) | CODE |
| HIGH | python/tests/core/airtable/test_events.py | 169 | fake.push(_records("tblN")) | CODE |
| HIGH | python/tests/core/airtable/test_events.py | 244 | fake.push(_records()) | CODE |
| HIGH | python/tests/core/airtable/test_events.py | 245 | fake.push(_records("tblOther")) | CODE |
| HIGH | python/tests/core/airtable/test_events.py | 281 | fake.push(_records()) | CODE |
| HIGH | python/tests/core/ssh/test_stream.py | 55 | " && echo && exec tail -n 2 -f <&3 3<&-" | CODE |
| HIGH⚡ | python/tests/core/ssh/test_stream.py | 79 | " && echo && exec tail -n 3 -f <&3 3<&-" | CODE |
| HIGH⚡ | python/tests/core/lancedb/test_search.py | 105 | # separator a leading space reaches into, a boolean or null, a digit. | COMMENT |
| HIGH⚡ | python/tests/core/ram/test_pwrite.py | 80 | await pwrite(RAMAccessor(store), null, b"x", 64 << 20) | CODE |
| HIGH⚡ | python/tests/core/ram/test_write.py | 326 | await write(RAMAccessor(store), null, _blocks(256)) | CODE |
| HIGH⚡ | python/tests/cache/index/test_redis.py | 85 | '"fingerprint":"/a.txt","revision":null,"type":"file","content":null,' | CODE |
| HIGH⚡ | python/tests/cache/index/test_redis.py | 86 | '"mode":null,"uid":null,"gid":null,"atime":null,"ctime":null,' | CODE |
| HIGH⚡ | python/tests/cache/index/test_redis.py | 87 | '"birthtime":null,"dev":null,"extra":{}}' | CODE |
| HIGH⚡ | python/tests/cache/index/test_config.py | 33 | '"fingerprint":"v1","revision":null,"type":"file","content":"text",' | CODE |
| HIGH⚡ | python/tests/cache/index/test_config.py | 34 | '"mode":null,"uid":null,"gid":null,"atime":null,"ctime":null,' | CODE |
| HIGH⚡ | python/tests/cache/index/test_config.py | 35 | '"birthtime":null,"dev":null,"extra":{}}' | CODE |
| HIGH⚡ | python/tests/shell/test_quoting_coverage.py | 515 | ('x=abc; [[ $x == "a*"* ]] && echo hit || echo miss', b"miss\n"), | CODE |
| HIGH⚡ | python/tests/shell/test_quoting_coverage.py | 516 | ("x='a*c'; [[ $x == \"a*\"* ]] && echo hit || echo miss", b"hit\n"), | CODE |
| HIGH⚡ | python/tests/shell/test_quoting_coverage.py | 517 | ('x=aXb; [[ $x == "a"*"b" ]] && echo hit || echo miss', b"hit\n"), | CODE |
| HIGH⚡ | python/tests/shell/test_quoting_coverage.py | 518 | ('x=ab; [[ $x == "a*" ]] && echo hit || echo miss', b"miss\n"), | CODE |
| HIGH⚡ | python/tests/shell/test_quoting_coverage.py | 519 | ("x=ab; [[ $x == a* ]] && echo hit || echo miss", b"hit\n"), | CODE |
| HIGH⚡ | python/tests/shell/test_quoting_coverage.py | 520 | ('x=ab; [[ $x != "a*" ]] && echo hit || echo miss', b"hit\n"), | CODE |
| HIGH⚡ | python/tests/shell/test_quoting_coverage.py | 522 | "x=$'a\\tb'; [[ $x == $'a\\tb' ]] && echo hit || echo miss", | CODE |
| HIGH⚡ | python/tests/shell/test_quoting_coverage.py | 525 | ("[[ abc < abd ]] && echo hit || echo miss", b"hit\n"), | CODE |
| HIGH | python/tests/shell/test_node_kind.py | 29 | 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_set_e.py | 66 | out = shell.mirage("set -e; true && false; echo unreached") | CODE |
| HIGH⚡ | python/tests/shell/test_set_e.py | 71 | out = shell.mirage("set -e; false || false; echo unreached") | CODE |
| HIGH⚡ | python/tests/shell/test_arith.py | 68 | assert evaluate_arith("3 && 4", {}).value == 1 | CODE |
| HIGH⚡ | python/tests/shell/test_arith.py | 145 | ("0 && 1/0", 0), | CODE |
| 1052 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/tests/vfs/test_state_round_trip.py | 27 | # ── RAM ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | python/tests/vfs/test_state_round_trip.py | 54 | # ── Disk ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | python/tests/vfs/test_state_round_trip.py | 89 | # ── Redis ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | python/tests/vfs/test_state_round_trip.py | 129 | # ── S3 ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | python/tests/vfs/test_state_round_trip.py | 177 | # ── all remote/token VFS: cred redaction matrix ────────────────── | COMMENT |
| MEDIUM | python/tests/vfs/test_state_round_trip.py | 429 | # ── database-backed VFS, built through the registry ────────────── | COMMENT |
| MEDIUM⚡ | python/tests/core/object_store/test_copy.py | 70 | # ── the retraction record snapshot capture reads ───────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/core/object_store/test_rename.py | 79 | # ── the retraction records snapshot capture reads ──────────────────────── | COMMENT |
| MEDIUM | python/tests/core/object_store/test_write.py | 389 | # ── the backend token the put answered reaches the op record ───────────── | COMMENT |
| MEDIUM | python/tests/core/object_store/test_remove.py | 137 | # ── the retraction records snapshot capture reads ──────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 62 | # ── paths with spaces ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 89 | # ── paths with special chars ─────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 99 | # ── unicode in paths ─────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 116 | # ── env vars in paths ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 142 | # ── command substitution in args ────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 159 | # ── escaping ─────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 184 | # ── unquoted backslash escapes (POSIX §2.2.1) ────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 222 | # ── edge cases ───────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 683 | # ── quoted globs stay literal ────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_quoting_coverage.py | 768 | # ── quoting is per character, not per word ───────────────── | COMMENT |
| MEDIUM | python/tests/shell/test_quoting_coverage.py | 262 | # ── whitespace between expansions inside double quotes ───── | COMMENT |
| MEDIUM | python/tests/shell/test_quoting_coverage.py | 300 | # ── adjacent backtick substitutions ──────────────────────── | COMMENT |
| MEDIUM | python/tests/shell/test_quoting_coverage.py | 337 | # ── ANSI-C quoting $'...' and locale quoting $"..." ──────── | COMMENT |
| MEDIUM | python/tests/shell/test_quoting_coverage.py | 555 | # ── a bare $ is a literal word ───────────────────────────── | COMMENT |
| MEDIUM | python/tests/shell/test_quoting_coverage.py | 576 | # ── a quoted "$@" splices into the word around it ────────── | COMMENT |
| MEDIUM | python/tests/shell/test_quoting_coverage.py | 649 | # ── literal backslashes survive classification ───────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_helpers.py | 473 | # ── expansion nodes ────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_helpers.py | 501 | # ── edge cases ─────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_helpers.py | 531 | # ── quotes and escapes ────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_helpers.py | 590 | # ── multi-statement bodies ───────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/test_helpers.py | 653 | # ── redirect target types ────────────────────── | COMMENT |
| MEDIUM | python/tests/shell/test_helpers.py | 445 | # ── negated command ────────────────────────────── | COMMENT |
| MEDIUM | python/tests/shell/test_helpers.py | 455 | # ── heredoc ────────────────────────────────────── | COMMENT |
| MEDIUM | python/tests/shell/test_helpers.py | 783 | # ── python command parsing ───────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/shell/parse/test_parse.py | 324 | # ── heredoc operator lines the grammar cannot hold ─────────────────────── | 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 | 117 | # ═══════════════════════════════════════════════ | COMMENT |
| MEDIUM | python/tests/workspace/test_provider_integration.py | 119 | # ═══════════════════════════════════════════════ | COMMENT |
| MEDIUM | python/tests/workspace/test_provider_integration.py | 200 | # ═══════════════════════════════════════════════ | COMMENT |
| MEDIUM | python/tests/workspace/test_provider_integration.py | 202 | # ═══════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_mount_root_protection.py | 70 | # ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_mount_root_protection.py | 72 | # ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_mount_root_protection.py | 74 | # ── rm ───────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_mount_root_protection.py | 154 | # ── mv ───────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_mount_root_protection.py | 280 | # ── mkdir ────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_mount_root_protection.py | 314 | # ── touch ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_mount_root_protection.py | 336 | # ── ln ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_mount_root_protection.py | 376 | # ── nested mount as a target ────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_mount_root_protection.py | 409 | # ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_mount_root_protection.py | 411 | # ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_mount_root_protection.py | 568 | # ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_mount_root_protection.py | 572 | # ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | python/tests/workspace/test_mount_root_protection.py | 41 | # ── fixtures ────────────────────────────────────── | COMMENT |
| MEDIUM | python/tests/workspace/test_mount_root_protection.py | 552 | # ── ls / unchanged ──────────────────────────────── | COMMENT |
| MEDIUM | python/tests/workspace/test_symlinks.py | 924 | # ── POSIX pathname resolution ──────────────────────────────────────── | COMMENT |
| MEDIUM | python/tests/workspace/test_symlinks.py | 1455 | # ── ln: GNU operand grammar, backups, and the hard-link tier ────── | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_expand.py | 110 | # ── simple expansion $VAR ─────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_expand.py | 168 | # ── brace expansion ${VAR} ───────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_expand.py | 193 | # ── command substitution $(cmd) ───────────────── | COMMENT |
| 577 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/vfs/gcal/test_gcal.py | 24 | CODE | |
| LOW | python/tests/vfs/databricks_volume/conftest.py | 1 | CODE | |
| LOW | python/tests/vfs/airtable/conftest.py | 15 | CODE | |
| LOW | python/tests/core/linear/test_search.py | 24 | CODE | |
| LOW | python/tests/core/gcal/conftest.py | 19 | CODE | |
| LOW | python/tests/core/databricks_volume/conftest.py | 10 | CODE | |
| LOW | python/tests/core/airtable/conftest.py | 15 | CODE | |
| LOW | python/tests/core/github/conftest.py | 19 | CODE | |
| LOW | python/tests/core/hf_buckets/conftest.py | 21 | CODE | |
| LOW | python/tests/core/hf_buckets/conftest.py | 21 | CODE | |
| LOW | python/tests/core/hf_buckets/conftest.py | 21 | CODE | |
| LOW | python/tests/core/hf_buckets/conftest.py | 21 | CODE | |
| LOW | python/tests/core/trello/test_search.py | 24 | CODE | |
| LOW | python/tests/commands/cli/builtin/airtable/conftest.py | 26 | CODE | |
| LOW | python/tests/commands/builtin/jq/conftest.py | 27 | CODE | |
| LOW | python/mirage/config.py | 83 | CODE | |
| LOW | python/mirage/__init__.py | 18 | CODE | |
| LOW | python/mirage/__init__.py | 26 | CODE | |
| LOW | python/mirage/__init__.py | 27 | CODE | |
| LOW | python/mirage/__init__.py | 28 | CODE | |
| LOW | python/mirage/__init__.py | 28 | CODE | |
| LOW | python/mirage/__init__.py | 28 | CODE | |
| LOW | python/mirage/__init__.py | 29 | CODE | |
| LOW | python/mirage/__init__.py | 30 | CODE | |
| LOW | python/mirage/__init__.py | 30 | CODE | |
| LOW | python/mirage/__init__.py | 30 | CODE | |
| LOW | python/mirage/__init__.py | 35 | CODE | |
| LOW | python/mirage/__init__.py | 35 | CODE | |
| LOW | python/mirage/__init__.py | 36 | CODE | |
| LOW | python/mirage/__init__.py | 37 | CODE | |
| LOW | python/mirage/__init__.py | 37 | CODE | |
| LOW | python/mirage/__init__.py | 37 | CODE | |
| LOW | python/mirage/__init__.py | 37 | CODE | |
| LOW | python/mirage/__init__.py | 43 | CODE | |
| LOW | python/mirage/__init__.py | 44 | CODE | |
| LOW | python/mirage/__init__.py | 45 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 46 | CODE | |
| LOW | python/mirage/__init__.py | 66 | CODE | |
| LOW | python/mirage/__init__.py | 66 | CODE | |
| LOW | python/mirage/__init__.py | 67 | CODE | |
| LOW | python/mirage/__init__.py | 68 | CODE | |
| LOW | python/mirage/__init__.py | 68 | CODE | |
| LOW | python/mirage/__init__.py | 69 | CODE | |
| 911 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/mirage/config.py | 131 | Replace ``${VAR}`` placeholders with values from ``env``. Args: value (Any): scalar, dict, or list to walk. | STRING |
| HIGH | python/mirage/config.py | 987 | A config with every mount and CLI pointer replaced by its secret. The async half of the YAML loader, and the reason | STRING |
| HIGH | python/mirage/vfs/registry.py | 365 | Construct a VFS instance by its registry name. Resolves VFS and config classes lazily via importlib, so importi | STRING |
| HIGH | python/mirage/vfs/gcal/event_entry.py | 101 | Recover (event_id, day) from an event filename. Splitting on the first ``__`` is safe because a Google event id is | STRING |
| HIGH | python/mirage/core/langfuse/client.py | 54 | Await a Langfuse fetch, translating a 404 into ENOENT. Every other status stays a LangfuseApiError: only "this reso | STRING |
| HIGH | python/mirage/core/langfuse/client.py | 171 | One trace: its root observation, the rest and its scores. Args: api (AsyncLangfuseAPI): the Langfuse API cl | STRING |
| HIGH | python/mirage/core/object_store/write.py | 79 | Put one object, translating a missing container to ENOENT. The driver primitives speak keys, so a store error for a | STRING |
| HIGH | python/mirage/core/jaeger/client.py | 103 | Call the Jaeger query API and return the decoded body. Args: accessor (JaegerAccessor): jaeger accessor. | STRING |
| HIGH | python/mirage/core/jaeger/client.py | 197 | Fetch one trace by id. Args: accessor (JaegerAccessor): jaeger accessor. trace_id (str): 16 or 32 h | STRING |
| HIGH | python/mirage/core/notion/client.py | 211 | Refuse a list response Notion marked incomplete. Args: page (dict[str, Any]): one list response. Retur | STRING |
| HIGH | python/mirage/core/notion/pages.py | 106 | Query one page of rows, cursor envelope intact. ``ntn datasources query`` is explicitly one page at a time: it | STRING |
| HIGH | python/mirage/core/github/placeholder.py | 25 | One placeholder's expansion from the install. Args: name (str): the placeholder word, without braces. | STRING |
| HIGH | python/mirage/core/github/placeholder.py | 48 | Expand gh's repository placeholders in an endpoint or field value. Real gh fills `{owner}`, `{repo}` and `{branch}` | STRING |
| HIGH | python/mirage/core/github/tree.py | 135 | Fetch one directory's tree (non-recursive), and whether GitHub cut it. Args: account (GitHubAccount): the t | STRING |
| HIGH | python/mirage/core/github/tree.py | 185 | Fetch a single directory's whole tree (non-recursive). Used as fallback when the recursive tree was truncated, wher | STRING |
| HIGH | python/mirage/core/github/client.py | 156 | One arbitrary API call, the shape `gh api` needs. A GET carries its fields in the query string and every other meth | STRING |
| HIGH | python/mirage/core/github/stat.py | 41 | Stat one path in the repository. A path answers with its row, as its folder's listing names it. The gate's chec | STRING |
| HIGH | python/mirage/core/github/repo.py | 172 | Split gh's repository argument. A URL (``https://HOST/OWNER/REPO``, ``git@HOST:OWNER/REPO.git``) or ``[HOST/]OW | STRING |
| HIGH | python/mirage/core/github/read.py | 44 | Read a file's blob and record the sha it was fetched by. The sha comes from the file's row, as its folder's listing | STRING |
| HIGH | python/mirage/core/hf_buckets/hub.py | 66 | The paths-info row of one bucket file, in one request. paths-info answers a missing path, a directory and a leading | STRING |
| HIGH | python/mirage/core/hf_hub/tree.py | 165 | The listing row for one mount-relative path, in one request. The row is folded by ``collect``, the same as a tree p | STRING |
| HIGH | python/mirage/core/hf_hub/tree.py | 265 | Follow the cursor from one page to the last, folding as it goes. Args: accessor (HfHubAccessor): the mount' | STRING |
| HIGH | python/mirage/core/hf_hub/tree.py | 312 | Every path under the mount's subtree, in one paged walk. ``recursive=true`` returns the whole subtree. Size, oid an | STRING |
| HIGH | python/mirage/core/hf_hub/client.py | 450 | Stream file content without holding it whole in memory. Routed through ``api_stream``, which retries opening the re | STRING |
| HIGH | python/mirage/core/hf_hub/commit.py | 222 | Apply one commit to the repository. Every addition is checked against the preupload endpoint first, and a file | STRING |
| HIGH | python/mirage/core/hf_hub/stat.py | 36 | Stat one path in the repository. A path answers with its row, as its folder's listing names it. The gate's chec | STRING |
| HIGH | python/mirage/core/email/client.py | 36 | Spell a value as an RFC 3501 quoted string. The two quoted-specials, ``"`` and ``\\``, are escaped with a backs | STRING |
| HIGH | python/mirage/cache/context.py | 232 | The conditions a move carries: the copy onto ``dst``, the source pin. Both versions come from one store lookup. | STRING |
| HIGH | python/mirage/shell/arith.py | 751 | Evaluate a bash arithmetic expression. bash's grammar over 64-bit wrapping integers, read and evaluated in one | STRING |
| HIGH | python/mirage/shell/parse/parse.py | 61 | What a line bash refuses yields: its diagnostic and status. Status 2 is a syntax error, 1 an array bash cannot read, | STRING |
| HIGH | python/mirage/shell/job_table/table.py | 933 | Signal a process another workspace runs, named by a prefix of its owner's id and the owner's PID: its owner stop | STRING |
| HIGH | python/mirage/secrets/env.py | 23 | Read the host process environment as one secret. Args: config (EnvConfig): carries nothing; the process env | STRING |
| HIGH | python/mirage/secrets/aws.py | 83 | Fetch one secret from AWS Secrets Manager. Args: config (AWSSMConfig): auth settings for the aioboto3 sessi | STRING |
| HIGH | python/mirage/secrets/onepassword.py | 37 | Split a 1Password secret reference into vault, item and field. Both of 1Password's own ref shapes are accepted, and | STRING |
| HIGH | python/mirage/secrets/onepassword.py | 168 | Fetch one secret from 1Password. A field reference is one ``resolve`` call and returns that field alone, keyed | STRING |
| HIGH | python/mirage/secrets/sources.py | 286 | A raw mount or CLI config with every pointer read from its source. The same `config_value` a source's own config go | STRING |
| HIGH | python/mirage/secrets/dotenv.py | 26 | Read one dotenv file as one secret. A key declared without a value (a bare ``NAME`` line) parses as None and is | STRING |
| HIGH | python/mirage/workspace/runner.py | 66 | Build a workspace on a loop of its own and pin it there. Constructing its mounts, importing their backends or r | STRING |
| HIGH | python/mirage/workspace/runner.py | 126 | Run ``coro`` on the workspace loop and await the result. Safe to call from any other event loop. The current lo | STRING |
| HIGH | python/mirage/workspace/nfs.py | 66 | Serve the workspace's files over NFS, mount them, and return the live mountpoint. Args: fil | STRING |
| HIGH | python/mirage/workspace/snapshot/api.py | 64 | Write all of the bytes to the target and count them. A target that takes fewer bytes than offered is written ag | STRING |
| HIGH | python/mirage/workspace/tools/tool_operations.py | 527 | Run one tool by name with its JSON input. The one entry every entry point shares: MCP, the HTTP routes, the CLI | STRING |
| HIGH | python/mirage/workspace/tools/file_version.py | 158 | Read a file the agent is about to rewrite. Args: path (str): Virtual path. Returns: | STRING |
| HIGH | python/mirage/workspace/workspace/workspace.py | 1046 | Add a VFS to a running workspace, mirroring TS ``addMount``. The runtime entry point runs the same read-policy | STRING |
| HIGH | python/mirage/workspace/mount/read_policy.py | 22 | Coerce a declared read-policy name into a ReadPolicy. Missing means bounded, everywhere: an absent ``read:`` in YAM | STRING |
| HIGH | python/mirage/workspace/mount/read_policy.py | 61 | Coerce a declared bound to a whole number of seconds. Every loader that reads a bound off a document runs this, so | STRING |
| HIGH | python/mirage/workspace/mount/read_policy.py | 98 | Coerce a declared read policy and bound into a ReadSpec. Coercion only: an unknown name is refused here, but whethe | STRING |
| HIGH | …thon/mirage/workspace/executor/builtins/unset/unset.py | 78 | Clear one array element, or a scalar addressed as ``base[0]``. Clearing an element keeps the indices of the element | STRING |
| HIGH | …on/mirage/workspace/executor/builtins/declare/local.py | 229 | Declare one ``NAME``, ``NAME=value`` or ``NAME+=value`` operand and mark it. A ``-n`` declaration writes the re | STRING |
| HIGH | …on/mirage/workspace/executor/builtins/declare/local.py | 364 | Aim a ``declare -n NAME=VALUE`` (or ``NAME+=VALUE``) reference once the name may take one. The reference is wha | STRING |
| HIGH | …on/mirage/workspace/executor/builtins/declare/local.py | 433 | Start a new bare ``local NAME`` unset, as bash 5.2 does. Only a name the frame did not shadow yet: a second ``local | STRING |
| HIGH | …/mirage/workspace/executor/builtins/declare/declare.py | 378 | Store a declaration's array literals through the session view, the first of bash's two passes over a declaration. | STRING |
| HIGH | …/mirage/workspace/executor/builtins/declare/declare.py | 1133 | Assign and mark one ``export`` / ``readonly`` word. A value of the other array kind is refused and the name is stil | STRING |
| HIGH | python/mirage/workspace/executor/builtins/dirs/dirs.py | 121 | Resolve a combined ``cd`` path, following symlinks per mode. Logical (``-L``, default) simplifies ``..`` textually | STRING |
| HIGH | …irage/workspace/executor/builtins/metadata/metadata.py | 113 | 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/workspace/session/elements.py | 111 | Assign one element (or a bare name resolved as element 0). The element mechanics are computed on a copy and the lan | STRING |
| HIGH | python/mirage/fuse/backend.py | 31 | Coerce a user-supplied backend name into a MountBackend. Missing means VFS, everywhere: an absent ``backend`` in YA | STRING |
| HIGH | python/mirage/runtime/files.py | 1008 | The target of the symlink at `path`. Args: path (str): guest-absolute path of the link. Re | STRING |
| HIGH | python/mirage/runtime/sandbox/base.py | 219 | Stop a run a lapsed workspace left in the box: every process its ``EXEC_ID`` tag marks gets ``signum``, then KIL | STRING |
| HIGH | python/mirage/server/multipart.py | 101 | A multipart body's part events, as the body arrives. A part begins once its headers end, before any of its data, an | STRING |
| 54 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/vfs/gcal/test_gcal.py | 26 | __all__ = ["gcal_api"] | CODE |
| LOW | python/tests/vfs/airtable/conftest.py | 17 | __all__ = ["airtable_api"] | CODE |
| LOW | python/tests/core/gcal/conftest.py | 21 | __all__ = ["gcal_api"] | CODE |
| LOW | python/tests/core/airtable/conftest.py | 17 | __all__ = ["airtable_api"] | CODE |
| LOW | python/tests/core/github/conftest.py | 21 | __all__ = ["github_config", "mock_github_api"] | CODE |
| LOW | python/tests/core/hf_buckets/conftest.py | 30 | __all__ = [ | CODE |
| LOW | python/tests/accessor/test_google_api.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/tests/workspace/test_find_unknown_predicate.py | 16 | async def _setup(ws: Workspace) -> None: | CODE |
| LOW⚡ | …/tests/workspace/executor/test_find_action_dispatch.py | 52 | async def _setup_html_files(ws: Workspace) -> None: | CODE |
| LOW | python/tests/io/test_gateway.py | 92 | async def _settled(ended: list[NetworkResultContext], count: int) -> None: | CODE |
| LOW | python/tests/commands/cli/builtin/airtable/conftest.py | 28 | __all__ = ["airtable_api", "airtable_ws"] | CODE |
| LOW | python/tests/e2e/gdrive_mock.py | 124 | def set_modified(self, path: str, stamp: str) -> None: | CODE |
| LOW | python/mirage/__init__.py | 222 | __all__ = [ | CODE |
| LOW | python/mirage/vfs/capacity.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/vfs/registry.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/mirage/vfs/__init__.py | 32 | __all__ = [ | CODE |
| LOW | python/mirage/vfs/langfuse/__init__.py | 23 | __all__ = ["LangfuseConfig", "LangfuseVFS"] | CODE |
| LOW | python/mirage/vfs/nextcloud/__init__.py | 23 | __all__ = ["NextcloudConfig", "NextcloudVFS"] | CODE |
| LOW | python/mirage/vfs/s3/__init__.py | 23 | __all__ = ["S3Config", "S3VFS"] | CODE |
| LOW | python/mirage/vfs/chroma/__init__.py | 9 | __all__ = ["ChromaConfig", "ChromaVFS"] | CODE |
| LOW | python/mirage/vfs/box/__init__.py | 23 | __all__ = ["BoxConfig", "BoxVFS"] | CODE |
| LOW | python/mirage/vfs/discord/__init__.py | 23 | __all__ = ["DiscordConfig", "DiscordVFS"] | CODE |
| LOW | python/mirage/vfs/aliyun/__init__.py | 18 | __all__ = ["AliyunConfig", "AliyunVFS"] | CODE |
| LOW | python/mirage/vfs/bin/__init__.py | 17 | __all__ = ["BinViewVFS"] | CODE |
| LOW | python/mirage/vfs/redis/store.py | 142 | async def set_file(self, path: str, data: bytes) -> None: | CODE |
| LOW | python/mirage/vfs/redis/store.py | 220 | async def set_modified(self, path: str, ts: str) -> None: | CODE |
| LOW | python/mirage/vfs/redis/store.py | 286 | async def set_attrs(self, path: str, fields: dict[str, str]) -> None: | CODE |
| LOW | python/mirage/vfs/redis/__init__.py | 23 | __all__ = ["RedisVFS", "RedisStore"] | CODE |
| LOW | python/mirage/vfs/hf_models/__init__.py | 23 | __all__ = ["HfModelsConfig", "HfModelsVFS"] | CODE |
| LOW | python/mirage/vfs/ceph/__init__.py | 18 | __all__ = ["CephConfig", "CephVFS"] | CODE |
| LOW | python/mirage/vfs/backblaze/__init__.py | 18 | __all__ = ["BackblazeConfig", "BackblazeVFS"] | CODE |
| LOW | python/mirage/vfs/jaeger/__init__.py | 23 | __all__ = ["JaegerConfig", "JaegerVFS"] | CODE |
| LOW | python/mirage/vfs/onedrive/__init__.py | 18 | __all__ = ["OneDriveVFS", "OneDriveConfig"] | CODE |
| LOW | python/mirage/vfs/hf_spaces/__init__.py | 23 | __all__ = ["HfSpacesConfig", "HfSpacesVFS"] | CODE |
| LOW | python/mirage/vfs/digitalocean/__init__.py | 18 | __all__ = ["DigitalOceanConfig", "DigitalOceanVFS"] | CODE |
| LOW | python/mirage/vfs/linear/__init__.py | 23 | __all__ = ["LinearConfig", "LinearVFS"] | CODE |
| LOW | python/mirage/vfs/gcal/__init__.py | 24 | __all__ = ["GCalConfig", "make_event_filename", "GCalVFS"] | CODE |
| LOW | python/mirage/vfs/wasabi/__init__.py | 18 | __all__ = ["WasabiConfig", "WasabiVFS"] | CODE |
| LOW | python/mirage/vfs/oci/__init__.py | 18 | __all__ = ["OCIConfig", "OCIVFS"] | CODE |
| LOW | python/mirage/vfs/gdrive/__init__.py | 23 | __all__ = ["GoogleDriveConfig", "GoogleDriveVFS"] | CODE |
| LOW | python/mirage/vfs/minio/__init__.py | 18 | __all__ = ["MinIOConfig", "MinIOVFS"] | CODE |
| LOW | python/mirage/vfs/databricks_volume/__init__.py | 25 | __all__ = ["DatabricksVolumeConfig", "DatabricksVolumeVFS"] | CODE |
| LOW | python/mirage/vfs/mongodb/__init__.py | 23 | __all__ = ["MongoDBConfig", "MongoDBVFS"] | CODE |
| LOW | python/mirage/vfs/notion/__init__.py | 23 | __all__ = ["NotionConfig", "NotionVFS"] | CODE |
| LOW | python/mirage/vfs/supabase/__init__.py | 18 | __all__ = ["SupabaseConfig", "SupabaseVFS"] | CODE |
| LOW | python/mirage/vfs/airtable/__init__.py | 23 | __all__ = ["AirtableConfig", "AirtableVFS"] | CODE |
| LOW | python/mirage/vfs/tidb_filesystem/__init__.py | 23 | __all__ = ["TiDBFilesystemConfig", "TiDBFilesystemVFS"] | CODE |
| LOW | python/mirage/vfs/qingstor/__init__.py | 18 | __all__ = ["QingStorConfig", "QingStorVFS"] | CODE |
| LOW | python/mirage/vfs/postgres/__init__.py | 23 | __all__ = ["PostgresConfig", "PostgresVFS"] | CODE |
| LOW | python/mirage/vfs/hf_datasets/__init__.py | 23 | __all__ = ["HfDatasetsConfig", "HfDatasetsVFS"] | CODE |
| LOW | python/mirage/vfs/ssh/__init__.py | 23 | __all__ = ["SSHConfig", "SSHVFS"] | CODE |
| LOW | python/mirage/vfs/github/__init__.py | 19 | __all__ = ["GitHubConfig", "GitHubVFS", "TreeEntry"] | CODE |
| LOW | python/mirage/vfs/gridfs/__init__.py | 23 | __all__ = ["GridFSConfig", "GridFSVFS"] | CODE |
| LOW | python/mirage/vfs/history/__init__.py | 17 | __all__ = ["HISTORY_PREFIX", "HistoryViewVFS"] | CODE |
| LOW | python/mirage/vfs/sharepoint/__init__.py | 4 | __all__ = ["SharePointVFS", "SharePointConfig"] | CODE |
| LOW | python/mirage/vfs/gsheets/__init__.py | 23 | __all__ = ["GSheetsConfig", "GSheetsVFS"] | CODE |
| LOW | python/mirage/vfs/scaleway/__init__.py | 18 | __all__ = ["ScalewayConfig", "ScalewayVFS"] | CODE |
| LOW | python/mirage/vfs/qdrant/__init__.py | 23 | __all__ = ["QdrantConfig", "QdrantVFS"] | CODE |
| LOW | python/mirage/vfs/hf_buckets/__init__.py | 23 | __all__ = ["HfBucketsConfig", "HfBucketsVFS"] | CODE |
| LOW | python/mirage/vfs/dropbox/__init__.py | 23 | __all__ = ["DropboxConfig", "DropboxVFS"] | CODE |
| 437 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/vfs/test_read_revalidatable.py | 780 | CODE | |
| LOW | python/tests/vfs/onedrive/test_read_fresh.py | 139 | CODE | |
| LOW | python/tests/vfs/github/test_listing_ttl.py | 542 | CODE | |
| LOW | python/tests/core/nextcloud/conftest.py | 146 | CODE | |
| LOW | python/tests/core/s3/test_client.py | 74 | CODE | |
| LOW | python/tests/core/box/test_stat.py | 150 | CODE | |
| LOW | python/tests/core/onedrive/test_stat.py | 186 | CODE | |
| LOW | python/tests/core/linear/test_queries.py | 18 | CODE | |
| LOW | python/tests/core/mongodb/test_stream.py | 503 | CODE | |
| LOW | python/tests/core/msgraph/test_drive.py | 498 | CODE | |
| LOW | python/tests/core/msgraph/test_drive.py | 514 | CODE | |
| LOW | python/tests/core/msgraph/test_paths.py | 74 | CODE | |
| LOW | python/tests/core/msgraph/test_paths.py | 323 | CODE | |
| LOW | python/tests/core/sharepoint/test_stat.py | 231 | CODE | |
| LOW | python/tests/core/dropbox/test_stat.py | 237 | CODE | |
| LOW | python/tests/core/dropbox/test_paths.py | 84 | CODE | |
| LOW | python/tests/core/dropbox/test_rename.py | 59 | CODE | |
| LOW | python/tests/core/dropbox/test_rename.py | 92 | CODE | |
| LOW | python/tests/core/dropbox/test_rmdir.py | 37 | CODE | |
| LOW | python/tests/core/generic/test_rewrite.py | 285 | CODE | |
| LOW | python/tests/cache/index/test_redis_client.py | 1403 | CODE | |
| LOW | python/tests/cache/index/test_redis_client.py | 1423 | CODE | |
| LOW | python/tests/cache/index/test_redis_client.py | 1427 | CODE | |
| LOW | python/tests/cache/index/test_warm.py | 198 | CODE | |
| LOW | python/tests/accessor/test_google_api.py | 148 | CODE | |
| LOW | python/tests/workspace/test_reconcile.py | 327 | CODE | |
| LOW | python/tests/workspace/test_ungated_attr_writes.py | 71 | CODE | |
| LOW | python/tests/workspace/test_files.py | 464 | CODE | |
| LOW | python/tests/workspace/test_session_link_reads.py | 98 | CODE | |
| LOW | python/tests/workspace/snapshot/test_state.py | 89 | CODE | |
| LOW | python/tests/workspace/snapshot/test_state.py | 1864 | CODE | |
| LOW | python/tests/workspace/dispatcher/test_dispatcher.py | 672 | CODE | |
| LOW | python/tests/workspace/dispatcher/test_dispatcher.py | 1401 | CODE | |
| LOW | python/tests/workspace/dispatcher/test_dispatcher.py | 3831 | CODE | |
| LOW | python/tests/workspace/dispatcher/test_dispatcher.py | 4018 | CODE | |
| LOW | python/tests/workspace/executor/test_redirect.py | 501 | CODE | |
| LOW | python/tests/server/test_rate_limit.py | 248 | CODE | |
| LOW | python/tests/utils/test_ids.py | 351 | CODE | |
| LOW | python/tests/utils/test_clock.py | 221 | CODE | |
| LOW | python/tests/cli/test_login.py | 71 | CODE | |
| LOW | python/tests/cli/test_login.py | 87 | CODE | |
| LOW | python/tests/commands/test_no_object_annotations.py | 64 | CODE | |
| LOW | python/tests/commands/test_no_dead_flag_params.py | 33 | CODE | |
| LOW | python/tests/commands/native/test_cross_mount.py | 71 | CODE | |
| LOW | python/tests/commands/cli/builtin/git/conftest.py | 85 | CODE | |
| LOW | python/tests/commands/builtin/test_multifile_guard.py | 114 | CODE | |
| LOW | python/tests/commands/builtin/general/test_date.py | 78 | CODE | |
| LOW | python/tests/commands/builtin/jq/conftest.py | 53 | CODE | |
| LOW | python/tests/e2e/test_cross_mount_matrix.py | 61 | CODE | |
| LOW | python/tests/e2e/test_snapshot_drift_live.py | 101 | CODE | |
| LOW | python/tests/e2e/mounts.py | 80 | CODE | |
| LOW | python/tests/sim/seam.py | 651 | CODE | |
| LOW | python/tests/sim/seam.py | 652 | CODE | |
| LOW | python/tests/sim/model.py | 114 | CODE | |
| LOW | python/tests/sim/test_lost_update.py | 193 | CODE | |
| LOW | python/mirage/config.py | 502 | CODE | |
| LOW | python/mirage/vfs/secrets.py | 59 | CODE | |
| LOW | python/mirage/vfs/disk/disk.py | 290 | CODE | |
| LOW | python/mirage/core/s3/driver.py | 603 | CODE | |
| LOW | python/mirage/core/s3/driver.py | 879 | CODE | |
| 421 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …packages/core/src/workspace/state_entry_points.test.ts | 2144 | print(json.dumps({'kind': 'deny', 'reason': reason})) | CODE |
| HIGH | …/packages/core/src/workspace/scripted_profiles.test.ts | 28 | return None | CODE |
| HIGH | …/packages/core/src/workspace/scripted_profiles.test.ts | 30 | print(json.dumps(answer())) | CODE |
| HIGH⚡ | …/packages/core/src/workspace/scripted_profiles.test.ts | 44 | return None | CODE |
| HIGH⚡ | …/packages/core/src/workspace/scripted_profiles.test.ts | 46 | print(json.dumps(answer())) | CODE |
| HIGH⚡ | …/packages/core/src/workspace/scripted_profiles.test.ts | 54 | print(json.dumps({ | CODE |
| HIGH | …/packages/core/src/workspace/scripted_profiles.test.ts | 378 | print(json.dumps({'kind': 'deny', 'reason': 'frozen by ' + ctx['profile']})) | CODE |
| HIGH | …/packages/core/src/workspace/scripted_profiles.test.ts | 383 | print(json.dumps({'kind': 'deny', 'reason': reason})) | CODE |
| HIGH | …/packages/core/src/workspace/scripted_profiles.test.ts | 452 | print(json.dumps({'kind': 'deny', 'reason': 'saw ' + body.strip()})) | CODE |
| HIGH | …/packages/core/src/workspace/scripted_profiles.test.ts | 491 | print(json.dumps({'kind': 'deny', 'reason': 'directory says no'})) | CODE |
| HIGH | …ipt/packages/core/src/workspace/workspace/fill.test.ts | 2217 | print(json.dumps({'kind': 'deny'})) | CODE |
| HIGH | …pt/packages/core/src/workspace/workspace/spawn.test.ts | 113 | print(subprocess.run(['printf', '%s', '$(literal)'], capture_output=True, text=True).stdout)` | CODE |
| HIGH | …pt/packages/core/src/workspace/workspace/spawn.test.ts | 190 | print('ok')` | CODE |
| HIGH | …pt/packages/core/src/workspace/workspace/spawn.test.ts | 263 | print('done')` | CODE |
| HIGH | …pt/packages/core/src/workspace/workspace/spawn.test.ts | 283 | print('denied', error.errno == errno.EAGAIN) | CODE |
| HIGH | …ages/core/src/runtime/python/pyodide/execution.test.ts | 583 | print('main identity works') | CODE |
| HIGH | …ages/core/src/runtime/python/pyodide/execution.test.ts | 726 | print(sys.flags.optimize, __debug__, sys.flags.safe_path, '' in sys.path) | CODE |
| HIGH | …ages/core/src/runtime/python/pyodide/execution.test.ts | 774 | print(optimize_helper.debug)`, | CODE |
| HIGH | …/packages/core/src/runtime/python/pyodide/seal.test.ts | 59 | print(F('return [typeof process, typeof require, typeof fetch, typeof WebSocket].join(",")')()) | CODE |
| HIGH⚡ | …/packages/core/src/runtime/python/pyodide/seal.test.ts | 216 | print(F('py', 'return typeof py.FS.filesystems.NODEFS + "," + typeof py._module.NODEFS')(pyodide_js)) | CODE |
| HIGH⚡ | …/packages/core/src/runtime/python/pyodide/seal.test.ts | 217 | print(refusal(lambda: pyodide_js.mountNodeFS('/host', ${JSON.stringify(dir)}))) | CODE |
| HIGH⚡ | …/packages/core/src/runtime/python/pyodide/seal.test.ts | 218 | print(refusal(lambda: pyodide_js._api.loadBinaryFile(${JSON.stringify(file)}))) | CODE |
| HIGH⚡ | …/packages/core/src/runtime/python/pyodide/seal.test.ts | 219 | print(refusal(lambda: pyodide_js._api.loadBinaryFile(${JSON.stringify(`file://${file}`)}))) | CODE |
| HIGH⚡ | …/packages/core/src/runtime/python/pyodide/seal.test.ts | 220 | print(refusal(lambda: pyodide_js._module.asyncLoad(${JSON.stringify(file)}))) | CODE |
| HIGH⚡ | …/packages/core/src/runtime/python/pyodide/seal.test.ts | 221 | print(refusal(lambda: F('fs', 'path', 'return fs.forceLoadFile({url: path})')(pyodide_js.FS, ${JSON.stringify(file)}))) | CODE |
| HIGH⚡ | …/packages/core/src/runtime/python/pyodide/seal.test.ts | 222 | print(refusal(lambda: pyodide_js._module.FS_createPreloadedFile('/', 'host', ${JSON.stringify(file)}, True, False))) | CODE |
| HIGH | …/packages/core/src/runtime/python/pyodide/seal.test.ts | 253 | print(base64.b64encode(buffer.getvalue()).decode()) | CODE |
| HIGH | …/packages/core/src/runtime/python/pyodide/seal.test.ts | 336 | print(restored.size, restored.getpixel((1, 2))) | CODE |
| HIGH | …/packages/core/src/runtime/python/pyodide/seal.test.ts | 337 | print(_imaging.__file__.endswith('.so')) | CODE |
| HIGH | …ages/core/src/runtime/python/pyodide/jsglobals.test.ts | 34 | print(",".join(flags)) | CODE |
| HIGH | typescript/packages/core/src/policy/script.test.ts | 851 | print(json.dumps(verdict)) | CODE |
| HIGH | integ/hosting/mounts.ts | 28 | print(identity + ':' + argv[1] + ':ram,s3,redis,slack') | CODE |
| HIGH | integ/wandb/schema.ts | 120 | print(parse(pyQueries[name]!)), | CODE |
| HIGH | integ/wandb/schema.ts | 121 | print(parse(query)), | CODE |
| HIGH | examples/typescript/vfs/s3/python_s3.ts | 47 | print(f"[{i}] {json.dumps(rec)[:120]}...") | CODE |
| HIGH | examples/typescript/vfs/redis/redis.ts | 30 | print(res.stdout) | CODE |
| HIGH⚡ | examples/typescript/vfs/redis/redis.ts | 82 | print(cpOut.stdout) | CODE |
| HIGH⚡ | examples/typescript/vfs/redis/redis.ts | 87 | print(mvOut.stdout) | CODE |
| HIGH⚡ | examples/typescript/vfs/redis/redis.ts | 92 | print(rmOut.stdout) | CODE |
| HIGH⚡ | examples/typescript/vfs/redis/redis.ts | 101 | print(uniqOut.stdout) | CODE |
| HIGH | examples/typescript/vfs/ram/ram.ts | 29 | print(res.stdout) | CODE |
| HIGH⚡ | examples/typescript/vfs/ram/ram.ts | 66 | print(cpOut.stdout) | CODE |
| HIGH⚡ | examples/typescript/vfs/ram/ram.ts | 71 | print(mvOut.stdout) | CODE |
| HIGH⚡ | examples/typescript/vfs/ram/ram.ts | 76 | print(rmOut.stdout) | CODE |
| HIGH⚡ | examples/typescript/vfs/ram/ram.ts | 85 | print(uniqOut.stdout) | CODE |
| HIGH | examples/typescript/vfs/ram/ram.ts | 109 | print(mvMeta.stdout) | CODE |
| HIGH⚡ | examples/typescript/runtime/pyodide/ram.ts | 32 | print(f'hello, {name}!') | CODE |
| HIGH⚡ | examples/typescript/runtime/pyodide/ram.ts | 33 | print(f'args: {sys.argv[1:]}') | CODE |
| HIGH⚡ | examples/typescript/runtime/pyodide/ram.ts | 34 | print(f'sum(1..10): {sum(range(1, 11))}') | CODE |
| HIGH | examples/typescript/runtime/pyodide/ram.ts | 74 | print(f'{user}: {n}') | CODE |
| HIGH | examples/typescript/runtime/pyodide/ram.ts | 87 | print('script was replaced!') | CODE |
| HIGH⚡ | examples/typescript/runtime/pyodide/script.ts | 28 | print(f"count: {len(records)}") | CODE |
| HIGH⚡ | examples/typescript/runtime/pyodide/script.ts | 29 | print(f"keys: {sorted({k for r in records for k in r})}") | CODE |
| HIGH⚡ | examples/typescript/runtime/pyodide/script.ts | 31 | print(f" - {json.dumps(r)}") | CODE |
| HIGH | examples/typescript/runtime/pyodide/vfs.ts | 89 | print('read:', f.read()) | CODE |
| HIGH | examples/typescript/runtime/pyodide/vfs.ts | 92 | print('wrote /ram/out.txt') | CODE |
| HIGH | examples/typescript/runtime/pyodide/vfs.ts | 105 | print('listdir:', os.listdir('/ram/synth/today')) | CODE |
| HIGH | examples/typescript/runtime/pyodide/vfs.ts | 106 | print('read:', open('/ram/synth/today/note.md').read()) | CODE |
| HIGH | examples/typescript/runtime/pyodide/vfs.ts | 120 | print('team:', team.get('name'), team.get('id')) | CODE |
| HIGH | examples/typescript/runtime/pyodide/vfs.ts | 133 | print('doc:', data.get('title') or list(data.keys())[:5]) | CODE |
| 9 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | python/tests/workspace/test_path_axis.py | 364 | except Exception as exc: | CODE |
| LOW | python/tests/runtime/python/host/test_file.py | 438 | except Exception as exc: | CODE |
| LOW | python/tests/runtime/wasm/test_slab.py | 49 | except Exception as exc: | CODE |
| LOW | python/tests/e2e/test_snapshot_drift_live.py | 84 | except Exception: | CODE |
| LOW | python/tests/e2e/test_snapshot_drift_live.py | 123 | except Exception: | CODE |
| MEDIUM | python/tests/e2e/test_snapshot_drift_live.py | 81 | def _versioning_enabled() -> bool: | CODE |
| LOW | python/tests/sim/seam.py | 532 | except Exception as exc: | CODE |
| LOW | python/tests/sim/world.py | 384 | except Exception as exc: | CODE |
| LOW | python/mirage/core/nextcloud/write.py | 80 | except Exception: | CODE |
| LOW | python/mirage/core/s3/checksum.py | 71 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/copy.py | 84 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/stream.py | 63 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/driver.py | 165 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/driver.py | 266 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/driver.py | 388 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/driver.py | 402 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/driver.py | 422 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/driver.py | 432 | except Exception: | CODE |
| LOW | python/mirage/core/s3/driver.py | 486 | except Exception: | CODE |
| LOW | python/mirage/core/s3/driver.py | 559 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/driver.py | 629 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/driver.py | 635 | except Exception: | CODE |
| LOW | python/mirage/core/s3/driver.py | 711 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/driver.py | 874 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/driver.py | 904 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/driver.py | 936 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/driver.py | 980 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/driver.py | 1050 | except Exception as exc: | CODE |
| LOW | python/mirage/core/s3/read.py | 100 | except Exception as exc: | CODE |
| LOW | python/mirage/core/chroma/tree.py | 30 | except Exception as exc: | CODE |
| LOW | python/mirage/core/box/client.py | 474 | except Exception: | CODE |
| LOW | python/mirage/core/object_store/write.py | 119 | except Exception as exc: | CODE |
| LOW | python/mirage/core/object_store/write.py | 166 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/write.py | 40 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/write.py | 46 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/write.py | 77 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/client.py | 70 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/rmdir.py | 37 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/rmdir.py | 45 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/rm.py | 64 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/stream.py | 44 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/mkdir.py | 42 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/stat.py | 56 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/stat.py | 72 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/unlink.py | 36 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/readdir.py | 45 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/readdir.py | 87 | except Exception as exc: | CODE |
| LOW | python/mirage/core/databricks_volume/read.py | 41 | except Exception as exc: | CODE |
| LOW | python/mirage/core/msgraph/drive.py | 406 | except Exception: | CODE |
| LOW | python/mirage/core/tidb_filesystem/exists.py | 28 | except Exception as exc: | CODE |
| LOW | python/mirage/core/tidb_filesystem/rename.py | 56 | except Exception as exc: | CODE |
| LOW | python/mirage/core/tidb_filesystem/client.py | 316 | except Exception as exc: | CODE |
| LOW | python/mirage/core/tidb_filesystem/rmdir.py | 28 | except Exception as exc: | CODE |
| LOW | python/mirage/core/tidb_filesystem/rm.py | 38 | except Exception as exc: | CODE |
| LOW | python/mirage/core/tidb_filesystem/stream.py | 43 | except Exception as exc: | CODE |
| LOW | python/mirage/core/tidb_filesystem/mkdir.py | 49 | except Exception as exc: | CODE |
| LOW | python/mirage/core/tidb_filesystem/stat.py | 71 | except Exception as exc: | CODE |
| LOW | python/mirage/core/tidb_filesystem/unlink.py | 30 | except Exception as exc: | CODE |
| LOW | python/mirage/core/tidb_filesystem/read.py | 70 | except Exception as exc: | CODE |
| LOW | python/mirage/core/ssh/write.py | 70 | except Exception: | CODE |
| 216 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/tests/core/gsheets/test_readdir.py | 0 | drive reporting a corpus it skipped means the listing is short. keeping it would pin the short listing until it expires, | STRING |
| HIGH | python/tests/core/gdocs/test_readdir.py | 0 | drive reporting a corpus it skipped means the listing is short. keeping it would pin the short listing until it expires, | STRING |
| HIGH | python/tests/core/gslides/test_readdir.py | 0 | drive reporting a corpus it skipped means the listing is short. keeping it would pin the short listing until it expires, | STRING |
| HIGH | python/tests/shell/job_table/test_redis.py | 0 | a runner that never finishes on its own. args: job (job): the job being run. | STRING |
| HIGH | python/tests/shell/job_table/test_table.py | 0 | a runner that never finishes on its own. args: job (job): the job being run. | STRING |
| HIGH | python/tests/workspace/executor/test_jobs.py | 0 | a runner that never finishes on its own. args: job (job): the job being run. | STRING |
| HIGH | python/tests/workspace/mount/test_mount.py | 0 | yields its bytes once, then waits until it is closed, once. | STRING |
| HIGH | python/tests/workspace/executor/command/test_cli.py | 0 | yields its bytes once, then waits until it is closed, once. | STRING |
| HIGH | …mands/builtin/generic/crossmount/stream/test_stream.py | 0 | yields its bytes once, then waits until it is closed, once. | STRING |
| HIGH | python/tests/runtime/sandbox/ssh/test_sdk.py | 0 | every name comes from the sdk, or every name is none; never a mix. | STRING |
| HIGH | python/tests/runtime/sandbox/daytona/test_sdk.py | 0 | every name comes from the sdk, or every name is none; never a mix. | STRING |
| HIGH | python/tests/runtime/sandbox/e2b/test_sdk.py | 0 | every name comes from the sdk, or every name is none; never a mix. | STRING |
| HIGH | python/tests/runtime/sandbox/ssh/test_sdk.py | 0 | ci installs every extra, so this is the only run of the except arm. | STRING |
| HIGH | python/tests/runtime/sandbox/daytona/test_sdk.py | 0 | ci installs every extra, so this is the only run of the except arm. | STRING |
| HIGH | python/tests/runtime/sandbox/e2b/test_sdk.py | 0 | ci installs every extra, so this is the only run of the except arm. | STRING |
| HIGH | python/tests/commands/cli/builtin/git/conftest.py | 0 | run one git line against the mounted repository. args: git_ws (workspace): workspace with the repository and cli. line ( | STRING |
| HIGH | python/tests/commands/cli/builtin/git/test_add.py | 0 | run one git line against the mounted repository. args: git_ws (workspace): workspace with the repository and cli. line ( | STRING |
| HIGH | python/tests/commands/cli/builtin/git/test_status.py | 0 | run one git line against the mounted repository. args: git_ws (workspace): workspace with the repository and cli. line ( | STRING |
| HIGH | python/mirage/vfs/box/box.py | 0 | whether this vfs answers ``name``; with no walk limit it reads every file rather than ask the service's search. args: na | STRING |
| HIGH | python/mirage/vfs/onedrive/onedrive.py | 0 | whether this vfs answers ``name``; with no walk limit it reads every file rather than ask the service's search. args: na | STRING |
| HIGH | python/mirage/vfs/gcal/gcal.py | 0 | whether this vfs answers ``name``; with no walk limit it reads every file rather than ask the service's search. args: na | STRING |
| HIGH | python/mirage/vfs/gdrive/gdrive.py | 0 | whether this vfs answers ``name``; with no walk limit it reads every file rather than ask the service's search. args: na | STRING |
| HIGH | python/mirage/vfs/github/github.py | 0 | whether this vfs answers ``name``; with no walk limit it reads every file rather than ask the service's search. args: na | STRING |
| HIGH | python/mirage/vfs/sharepoint/sharepoint.py | 0 | whether this vfs answers ``name``; with no walk limit it reads every file rather than ask the service's search. args: na | STRING |
| HIGH | python/mirage/vfs/gsheets/gsheets.py | 0 | whether this vfs answers ``name``; with no walk limit it reads every file rather than ask the service's search. args: na | STRING |
| HIGH | python/mirage/vfs/dropbox/dropbox.py | 0 | whether this vfs answers ``name``; with no walk limit it reads every file rather than ask the service's search. args: na | STRING |
| HIGH | python/mirage/vfs/slack/slack.py | 0 | whether this vfs answers ``name``; with no walk limit it reads every file rather than ask the service's search. args: na | STRING |
| HIGH | python/mirage/vfs/trello/trello.py | 0 | whether this vfs answers ``name``; with no walk limit it reads every file rather than ask the service's search. args: na | STRING |
| HIGH | python/mirage/vfs/gdocs/gdocs.py | 0 | whether this vfs answers ``name``; with no walk limit it reads every file rather than ask the service's search. args: na | STRING |
| HIGH | python/mirage/vfs/gslides/gslides.py | 0 | whether this vfs answers ``name``; with no walk limit it reads every file rather than ask the service's search. args: na | STRING |
| HIGH | python/mirage/vfs/gmail/gmail.py | 0 | whether this vfs answers ``name``; with no walk limit it reads every file rather than ask the service's search. args: na | STRING |
| HIGH | python/mirage/vfs/email/email.py | 0 | whether this vfs answers ``name``; with no walk limit it reads every file rather than ask the service's search. args: na | STRING |
| HIGH | python/mirage/vfs/gsheets/gsheets.py | 0 | render a presentation as the json its ``.gslide.json`` file holds. args: path (pathspec): the file. offset (int): the wi | STRING |
| HIGH | python/mirage/vfs/gdocs/gdocs.py | 0 | render a presentation as the json its ``.gslide.json`` file holds. args: path (pathspec): the file. offset (int): the wi | STRING |
| HIGH | python/mirage/vfs/gslides/gslides.py | 0 | render a presentation as the json its ``.gslide.json`` file holds. args: path (pathspec): the file. offset (int): the wi | STRING |
| HIGH | python/mirage/core/box/events.py | 0 | return the changes under ``root`` since ``checkpoint``. args: root (pathspec): event root. checkpoint (str | none): the | STRING |
| HIGH | python/mirage/core/gcal/events.py | 0 | return the changes under ``root`` since ``checkpoint``. args: root (pathspec): event root. checkpoint (str | none): the | STRING |
| HIGH | python/mirage/core/airtable/events.py | 0 | return the changes under ``root`` since ``checkpoint``. args: root (pathspec): event root. checkpoint (str | none): the | STRING |
| HIGH | python/mirage/core/dropbox/events.py | 0 | return the changes under ``root`` since ``checkpoint``. args: root (pathspec): event root. checkpoint (str | none): the | STRING |
| HIGH | python/mirage/core/gmail/events.py | 0 | return the changes under ``root`` since ``checkpoint``. args: root (pathspec): event root. checkpoint (str | none): the | STRING |
| HIGH | python/mirage/core/google/events.py | 0 | return the changes under ``root`` since ``checkpoint``. args: root (pathspec): event root. checkpoint (str | none): the | STRING |
| HIGH | python/mirage/core/gdrive/events.py | 0 | return the changes under ``root`` since ``checkpoint``. args: root (pathspec): event root. checkpoint (str | none): the | STRING |
| HIGH | python/mirage/core/msgraph/events.py | 0 | return the changes under ``root`` since ``checkpoint``. args: root (pathspec): event root. checkpoint (str | none): the | STRING |
| HIGH | python/mirage/runtime/files.py | 0 | read at an explicit offset without moving the position. args: offset (int): byte offset to read from. size (int): byte b | STRING |
| HIGH | python/mirage/runtime/handles/chunked.py | 0 | read at an explicit offset without moving the position. args: offset (int): byte offset to read from. size (int): byte b | STRING |
| HIGH | python/mirage/runtime/wasm/fs.py | 0 | read at an explicit offset without moving the position. args: offset (int): byte offset to read from. size (int): byte b | STRING |
| HIGH | python/mirage/commands/cli/builtin/git/add.py | 0 | read the raw awk flag kwargs into a frozen struct. args: fl (flagview): spec-validated view over the raw flag kwargs. | STRING |
| HIGH | python/mirage/commands/cli/builtin/git/mv.py | 0 | read the raw awk flag kwargs into a frozen struct. args: fl (flagview): spec-validated view over the raw flag kwargs. | STRING |
| HIGH | python/mirage/commands/cli/builtin/git/rm.py | 0 | read the raw awk flag kwargs into a frozen struct. args: fl (flagview): spec-validated view over the raw flag kwargs. | STRING |
| HIGH | python/mirage/commands/cli/builtin/git/switch.py | 0 | read the raw awk flag kwargs into a frozen struct. args: fl (flagview): spec-validated view over the raw flag kwargs. | STRING |
| HIGH | python/mirage/commands/cli/builtin/git/restore.py | 0 | read the raw awk flag kwargs into a frozen struct. args: fl (flagview): spec-validated view over the raw flag kwargs. | STRING |
| HIGH | python/mirage/commands/builtin/generic/awk.py | 0 | read the raw awk flag kwargs into a frozen struct. args: fl (flagview): spec-validated view over the raw flag kwargs. | STRING |
| HIGH | python/mirage/commands/builtin/generic/unexpand.py | 0 | run expand over resolved operands; mirrors expandgeneric. args: paths (list[pathspec]): glob-resolved operands, empty fo | STRING |
| HIGH | python/mirage/commands/builtin/generic/rev.py | 0 | run expand over resolved operands; mirrors expandgeneric. args: paths (list[pathspec]): glob-resolved operands, empty fo | STRING |
| HIGH | python/mirage/commands/builtin/generic/expand.py | 0 | run expand over resolved operands; mirrors expandgeneric. args: paths (list[pathspec]): glob-resolved operands, empty fo | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/tests/core/disk/test_errors.py | 63 | except FileNotFoundError: | CODE |
| HIGH | python/tests/workspace/test_command_timeout.py | 604 | except MirageAbortError: | CODE |
| HIGH | python/tests/utils/test_abort.py | 183 | except asyncio.CancelledError: | CODE |
| HIGH | python/tests/commands/native/conftest.py | 313 | except (FileExistsError, ValueError): | CODE |
| HIGH | python/tests/commands/native/test_cross_mount.py | 82 | except (FileExistsError, ValueError): | CODE |
| HIGH | python/tests/e2e/conftest.py | 251 | except (FileExistsError, ValueError): | CODE |
| HIGH | python/tests/e2e/test_snapshot_drift_live.py | 123 | except Exception: | CODE |
| HIGH | python/mirage/vfs/testing.py | 248 | except FileNotFoundError: | CODE |
| HIGH | python/mirage/vfs/testing.py | 257 | except FileNotFoundError: | CODE |
| HIGH | python/mirage/core/disk/write.py | 81 | except FileNotFoundError: | CODE |
| HIGH | python/mirage/workspace/documentation/documents.py | 173 | except FileNotFoundError: | CODE |
| HIGH | python/mirage/workspace/record/disk.py | 96 | except FileNotFoundError: | CODE |
| HIGH | python/mirage/workspace/record/disk.py | 117 | except FileNotFoundError: | CODE |
| HIGH | python/mirage/workspace/record/disk.py | 262 | except FileNotFoundError: | CODE |
| HIGH | python/mirage/workspace/workspace/explainer.py | 426 | except Explained: | CODE |
| HIGH | python/mirage/workspace/executor/builtins/links/ln.py | 712 | except CycleError: | CODE |
| HIGH | python/mirage/workspace/executor/builtins/links/ln.py | 837 | except (FileNotFoundError, NotADirectoryError): | CODE |
| HIGH | python/mirage/io/writer.py | 56 | except asyncio.CancelledError: | CODE |
| HIGH | python/mirage/cli/daemon.py | 146 | except ProcessLookupError: | CODE |
| HIGH | python/mirage/cli/daemon.py | 174 | except httpx.RequestError: | CODE |
| HIGH | python/mirage/cli/daemon.py | 188 | except ProcessLookupError: | CODE |
| HIGH | python/mirage/commands/cli/builtin/hf/download.py | 259 | except MISS_ERRORS: | CODE |
| HIGH | …ckages/core/src/runtime/python/pyodide/py/execution.py | 357 | except BrokenPipeError: | CODE |
| HIGH | integ/access/adapters.py | 1832 | except httpx.TimeoutException: | CODE |
| HIGH | integ/access/adapters.py | 2200 | except TimeoutError: | CODE |
| HIGH | integ/runtime/microsandbox/guest_ops.py | 146 | except FileNotFoundError: | CODE |
| HIGH | integ/runtime/microsandbox/live.py | 443 | except asyncio.CancelledError: | CODE |
| HIGH | integ/runtime/microsandbox/live.py | 602 | except asyncio.CancelledError: | CODE |
| HIGH | integ/events/run.py | 290 | except (asyncio.CancelledError, StopAsyncIteration): | CODE |
| HIGH | integ/wandb/sdk.py | 106 | except (ValueError, wandb.errors.CommError): | CODE |
| HIGH | examples/python/configuration/cross/cross_fuse.py | 169 | except EOFError: | CODE |
| HIGH | examples/python/vfs/s3/s3_fuse.py | 98 | except EOFError: | CODE |
| HIGH | examples/python/vfs/hf_models/hf_models_fuse.py | 55 | except EOFError: | CODE |
| HIGH | examples/python/vfs/hf_spaces/hf_spaces_fuse.py | 58 | except EOFError: | CODE |
| HIGH | examples/python/vfs/hf_datasets/hf_datasets_fuse.py | 59 | except EOFError: | CODE |
| HIGH | examples/python/vfs/hf_buckets/hf_buckets_fuse.py | 76 | except EOFError: | CODE |
| HIGH | examples/python/vfs/seaweedfs/seaweedfs_fuse.py | 91 | except EOFError: | CODE |
| HIGH | scripts/check_vfs_md_parity.py | 187 | except ValueError: | CODE |
| HIGH | scripts/check_cli_cold_start.py | 394 | except UnresolvedImport: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/commands/native/test_curl.py | 52 | CODE | |
| LOW | python/tests/commands/native/test_curl.py | 264 | CODE | |
| LOW | python/tests/commands/builtin/test_net.py | 80 | CODE | |
| LOW | python/tests/sim/world.py | 392 | CODE | |
| LOW | python/mirage/vfs/base.py | 203 | CODE | |
| LOW | python/mirage/core/google/client.py | 285 | CODE | |
| LOW | python/mirage/core/google/drive.py | 77 | CODE | |
| LOW | python/mirage/core/api/client.py | 583 | CODE | |
| LOW | python/mirage/core/email/search.py | 121 | CODE | |
| LOW | python/mirage/workspace/files.py | 119 | CODE | |
| LOW | python/mirage/workspace/expand/types.py | 70 | CODE | |
| LOW | python/mirage/workspace/workspace/execute.py | 462 | CODE | |
| LOW | python/mirage/workspace/workspace/workspace.py | 258 | CODE | |
| LOW | python/mirage/workspace/workspace/workspace.py | 1859 | CODE | |
| LOW | python/mirage/workspace/workspace/workspace.py | 1983 | CODE | |
| LOW | python/mirage/workspace/workspace/workspace.py | 2125 | CODE | |
| LOW | python/mirage/workspace/workspace/workspace.py | 2951 | CODE | |
| LOW | python/mirage/workspace/workspace/workspace.py | 2973 | CODE | |
| LOW | python/mirage/workspace/workspace/workspace.py | 2995 | CODE | |
| LOW | python/mirage/workspace/workspace/workspace.py | 3016 | CODE | |
| LOW | python/mirage/workspace/workspace/workspace.py | 3177 | CODE | |
| LOW | …thon/mirage/workspace/executor/find_action_dispatch.py | 443 | CODE | |
| LOW | python/mirage/workspace/executor/redirect.py | 503 | CODE | |
| LOW | python/mirage/workspace/executor/redirect.py | 577 | CODE | |
| LOW | python/mirage/workspace/executor/pipes.py | 407 | CODE | |
| LOW | python/mirage/workspace/node/execute_node.py | 918 | CODE | |
| LOW | python/mirage/workspace/node/explain.py | 446 | CODE | |
| LOW | python/mirage/workspace/node/command_dispatch.py | 717 | CODE | |
| LOW | python/mirage/io/types.py | 301 | CODE | |
| LOW | python/mirage/server/registry.py | 234 | CODE | |
| LOW | python/mirage/server/app.py | 287 | CODE | |
| LOW | python/mirage/cli/tools.py | 143 | CODE | |
| LOW | python/mirage/commands/spec/types.py | 159 | CODE | |
| LOW | python/mirage/commands/builtin/utils/http.py | 134 | CODE | |
| LOW | python/mirage/commands/builtin/utils/http.py | 222 | CODE | |
| LOW | python/mirage/commands/builtin/generic/tree.py | 291 | CODE | |
| LOW | python/mirage/commands/builtin/generic/gzip.py | 62 | CODE | |
| LOW | python/mirage/commands/builtin/generic/tail.py | 305 | CODE | |
| LOW | python/mirage/commands/builtin/generic/wc.py | 260 | CODE | |
| LOW | python/mirage/commands/builtin/generic/checksum.py | 538 | CODE | |
| LOW | python/mirage/commands/builtin/generic/decompress.py | 286 | CODE | |
| LOW | python/mirage/commands/builtin/generic/comm.py | 24 | CODE | |
| LOW | python/mirage/commands/builtin/generic/mktemp.py | 113 | CODE | |
| LOW | python/mirage/commands/builtin/generic/shuf.py | 337 | CODE | |
| LOW | python/mirage/commands/builtin/generic/ls.py | 934 | CODE | |
| LOW | python/mirage/commands/builtin/generic/ls.py | 1391 | CODE | |
| LOW | python/mirage/commands/builtin/generic/awk.py | 112 | CODE | |
| LOW | python/mirage/commands/builtin/generic/stat.py | 673 | CODE | |
| LOW | python/mirage/commands/builtin/generic/cmp.py | 92 | CODE | |
| LOW | python/mirage/commands/builtin/generic/find.py | 49 | CODE | |
| LOW | python/mirage/commands/builtin/generic/numfmt.py | 17 | CODE | |
| LOW | python/mirage/commands/builtin/generic/xxd.py | 293 | CODE | |
| LOW | …on/mirage/commands/builtin/generic/crossmount/route.py | 51 | CODE | |
| LOW | …age/commands/builtin/generic/crossmount/relay/relay.py | 47 | CODE | |
| LOW | …ckages/core/src/runtime/python/pyodide/py/execution.py | 152 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …amples/python/agents/openai_agents_api/redis_report.py | 81 | with client.beta.agents.sessions.events.stream(session.id) as stream: | CODE |
| CRITICAL | …amples/python/agents/openai_agents_api/redis_report.py | 82 | client.beta.agents.sessions.events.create( | CODE |
| CRITICAL | …es/typescript/agents/openai_agents_api/redis_report.ts | 79 | const stream = await client.beta.agents.sessions.events.stream(session.id) | CODE |
| CRITICAL | …es/typescript/agents/openai_agents_api/redis_report.ts | 80 | await client.beta.agents.sessions.events.create(session.id, { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/tests/vfs/test_listing_version.py | 208 | # A declarer gets a harness proving that its check and its fill agree, so | COMMENT |
| MEDIUM⚡ | python/tests/vfs/test_read_revalidatable.py | 1237 | # The write rows run each family's own harness through _fake, so a | COMMENT |
| MEDIUM⚡ | python/tests/vfs/test_read_revalidatable.py | 1238 | # writable family is covered exactly when it has a harness; the | COMMENT |
| MEDIUM⚡ | python/tests/workspace/test_execute_options.py | 472 | # ── agent harness pattern ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/tests/commands/cli/builtin/ntn/test_api.py | 226 | # The conformance harness closes stdin and every other line would | COMMENT |
| MEDIUM | python/tests/commands/cli/builtin/ntn/test_serde.py | 25 | # harness. | COMMENT |
| MEDIUM | python/tests/commands/builtin/test_expand_unexpand.py | 190 | # differential harness ran 1548 more combinations of these lists against | COMMENT |
| LOW⚡ | python/tests/commands/builtin/test_bc.py | 1321 | # then the 16 in the base it just set. | COMMENT |
| MEDIUM | integ/metadata.py | 18 | # scenarios the declarative harness cannot express: it can run commands and | COMMENT |
| MEDIUM | integ/metadata.py | 21 | # and namespace support in the harness, not another case file. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/tests/core/hf_hub/test_stream.py | 139 | CODE | |
| MEDIUM | python/tests/commands/builtin/generic/test_sed.py | 39 | CODE | |
| MEDIUM | python/tests/commands/builtin/generic/test_rg.py | 154 | CODE | |
| MEDIUM | python/tests/commands/builtin/generic/test_cut.py | 74 | CODE | |
| MEDIUM | python/tests/commands/builtin/generic/test_cut.py | 190 | CODE | |
| MEDIUM | python/tests/commands/builtin/generic/test_tail.py | 1162 | CODE | |
| MEDIUM | python/tests/commands/builtin/generic/test_tail.py | 1203 | CODE | |
| MEDIUM | python/tests/commands/builtin/generic/test_join.py | 240 | CODE | |
| MEDIUM | python/tests/commands/builtin/generic/test_tee.py | 320 | CODE | |
| MEDIUM | python/tests/commands/builtin/generic/test_checksum.py | 110 | CODE | |
| MEDIUM | python/tests/commands/builtin/generic/test_file.py | 52 | CODE | |
| MEDIUM | python/tests/commands/builtin/generic/test_file.py | 57 | CODE | |
| MEDIUM | python/tests/commands/builtin/generic/test_jq.py | 93 | CODE | |
| MEDIUM | python/tests/commands/builtin/generic/test_cmp.py | 137 | CODE | |
| MEDIUM | python/mirage/shell/descriptors.py | 82 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/core/google/test_drive.py | 47 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gdrive/conftest.py | 42 | manager._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gdrive/conftest.py | 55 | manager._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gdrive/test_checksum.py | 37 | manager._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gdrive/test_stat.py | 46 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gdrive/test_read.py | 56 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gdrive/test_readdir.py | 53 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gdocs/test_write.py | 32 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/core/gdocs/test_read.py | 42 | 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 | 40 | mgr._access_token = "fake-token" | CODE |
| LOW | python/tests/sim/world.py | 319 | token=SecretStr("fake-token"), | CODE |
| LOW⚡ | python/tests/sim/test_multi_backend.py | 720 | token=SecretStr("fake-token"), owner="test-owner", repo="test-repo" | CODE |
| LOW | python/mirage/core/slack/search.py | 254 | "placeholder", | CODE |
| LOW | typescript/packages/core/src/core/slack/search.ts | 243 | 'placeholder', | CODE |
| LOW | …ipt/packages/core/src/workspace/workspace/fill.test.ts | 288 | registerSecrets('fake-key', FakeConfig, fetch) | CODE |
| LOW | …ipt/packages/core/src/workspace/workspace/fill.test.ts | 289 | const ws = makeWs({ API: { from: 'fake-key', ref: 'r' } }) | CODE |
| LOW | typescript/packages/browser/tests/test-utils.ts | 528 | const token = options.token ?? 'fake-token' | CODE |
| LOW | …/packages/node/src/runtime/sandbox/ssh/runtime.test.ts | 171 | await writeFile(keyPath, 'fake-key') | CODE |
| LOW | …/packages/node/src/runtime/sandbox/ssh/runtime.test.ts | 183 | { type: 'publickey', username: userInfo().username, key: Buffer.from('fake-key') }, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/vfs/test_call.py | 86 | async def helper(self, path: PathSpec) -> None: | CODE |
| LOW⚡ | python/tests/commands/cli/builtin/git/test_combined.py | 86 | lines[4] = "function handleRequest(request, response) {\n" | CODE |
| LOW⚡ | python/tests/commands/cli/builtin/git/test_combined.py | 91 | "@@@ -12,7 -12,7 +12,7 @@@ function handleRequest(request, respons\n" | CODE |
| LOW | python/tests/e2e/test_find_pipe_while.py | 23 | "src/utils/helpers.py": b"def helper(): pass\n", | CODE |
| LOW | python/tests/sim/test_multi_backend.py | 474 | assert b"def helper():" in res.stdout | CODE |
| LOW | typescript/packages/core/src/core/langfuse/client.ts | 125 | 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 |
| LOW | …ges/core/src/commands/cli/builtin/git/combined.test.ts | 82 | lines[4] = 'function handleRequest(request, response) {\n' | CODE |
| LOW | …ges/core/src/commands/cli/builtin/git/combined.test.ts | 90 | '@@@ -12,7 -12,7 +12,7 @@@ function handleRequest(request, respons\n', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | rust/mirage-rs/src/nfs/nfs.rs | 300 | /// (FALSE), the server cannot set times as requested. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/test_integ.yml | 90 | # and runtime; workspace/abort owns only line orchestration. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | typescript/scripts/load-env.sh | 7 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/python/vfs/s3/s3.py | 187 | # Read file to populate cache (cat declares cache, wc materializes) | COMMENT |