Menu-driven Proxmox VE toolkit — post-install, backup/restore and a live web dashboard for the homelab.
This report presents the forensic synthetic code analysis of MacRimi/ProxMenux, a TypeScript project with 2,917 GitHub stars. SynthScan v2.0 examined 340,083 lines of code across 780 source files, recording 3617 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 19.2 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 3617 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | install_proxmenux.sh | 3 | # ========================================================== | COMMENT |
| MEDIUM⚡ | install_proxmenux.sh | 5 | # ========================================================== | COMMENT |
| MEDIUM⚡ | install_proxmenux.sh | 13 | # ========================================================== | COMMENT |
| MEDIUM | install_proxmenux.sh | 40 | # ========================================================== | COMMENT |
| MEDIUM | install_proxmenux.sh | 268 | # ========================================================== | COMMENT |
| MEDIUM | install_proxmenux.sh | 292 | # ========================================================== | COMMENT |
| MEDIUM | install_proxmenux.sh | 446 | # ── AppImage runtime extraction ──────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux.sh | 893 | # ── Legacy gpu-guard hookscript auto-cleanup ────────────── | COMMENT |
| MEDIUM⚡ | install_proxmenux_beta.sh | 3 | # ========================================================== | COMMENT |
| MEDIUM⚡ | install_proxmenux_beta.sh | 5 | # ========================================================== | COMMENT |
| MEDIUM⚡ | install_proxmenux_beta.sh | 13 | # ========================================================== | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 32 | # ========================================================== | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 34 | # ── Configuration ────────────────────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 57 | # ── Colors ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 79 | # ── Spinner ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 147 | # ── Cleanup ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 155 | # ── Logo ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 226 | # ── Beta welcome message ─────────────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 266 | # ── Helpers ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 333 | # ── AppImage runtime extraction ──────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 379 | # ── Monitor install ──────────────────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 544 | # ── Main install ─────────────────────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 591 | # ── Step 1: Language selection ──────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 608 | # ── Step 2: Dependencies ────────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 656 | # ── Step 3: Clone develop branch ───────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 675 | # ── Step 4: Files ───────────────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 742 | # ── Step 5: Monitor ─────────────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 761 | # ── Stable transition notice ─────────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 776 | # ── Entry point ──────────────────────────────────────────── | COMMENT |
| MEDIUM | install_proxmenux_beta.sh | 804 | # ── Legacy gpu-guard hookscript auto-cleanup ────────────── | COMMENT |
| MEDIUM⚡ | CONTRIBUTING.md | 41 | # ========================================================== | COMMENT |
| MEDIUM⚡ | CONTRIBUTING.md | 43 | # ========================================================== | COMMENT |
| MEDIUM⚡ | CONTRIBUTING.md | 52 | # ========================================================== | COMMENT |
| MEDIUM⚡ | CONTRIBUTING.md | 59 | # ========================================================== | COMMENT |
| MEDIUM | CONTRIBUTING.md | 212 | # ── PHASE 2 — EXECUTION ─────────────────────────────────── | COMMENT |
| MEDIUM | web/messages/es/docs/about/contributing.json | 100 | "phase2Code": "# ── PHASE 2 — EXECUTION ─────────────────────────────\nshow_proxmenux_logo\nmsg_title \"$(translate | CODE |
| MEDIUM | web/messages/en/docs/about/contributing.json | 100 | "phase2Code": "# ── PHASE 2 — EXECUTION ─────────────────────────────\nshow_proxmenux_logo\nmsg_title \"$(translate | CODE |
| MEDIUM | …app/[locale]/docs/hardware/gpu-vm-passthrough/page.tsx | 448 | # ─── OPTIONAL — not required ────────────────────────────────────── | COMMENT |
| MEDIUM | …app/[locale]/docs/hardware/gpu-vm-passthrough/page.tsx | 453 | # ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/app/[locale]/docs/hardware/coral-tpu-lxc/page.tsx | 290 | # ─── OPTIONAL — fallback path ──────────────────────────────────── | COMMENT |
| MEDIUM | web/app/[locale]/docs/hardware/coral-tpu-lxc/page.tsx | 294 | # ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/02.GUIA_MODIFICACION_OFFLINE.md | 566 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | docs/02.GUIA_MODIFICACION_OFFLINE.md | 568 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/help_info_menu.sh | 2 | # ========================================================== | COMMENT |
| MEDIUM⚡ | scripts/help_info_menu.sh | 4 | # ========================================================== | COMMENT |
| MEDIUM⚡ | scripts/help_info_menu.sh | 10 | # ========================================================== | COMMENT |
| MEDIUM | scripts/help_info_menu.sh | 29 | # ========================================================== | COMMENT |
| MEDIUM | scripts/help_info_menu.sh | 42 | # =============================================================== | COMMENT |
| MEDIUM | scripts/help_info_menu.sh | 63 | # =============================================================== | COMMENT |
| MEDIUM | scripts/help_info_menu.sh | 65 | # =============================================================== | COMMENT |
| MEDIUM | scripts/help_info_menu.sh | 169 | # =============================================================== | COMMENT |
| MEDIUM | scripts/help_info_menu.sh | 171 | # =============================================================== | COMMENT |
| MEDIUM | scripts/help_info_menu.sh | 285 | # =============================================================== | COMMENT |
| MEDIUM | scripts/help_info_menu.sh | 287 | # =============================================================== | COMMENT |
| MEDIUM | scripts/help_info_menu.sh | 563 | # =============================================================== | COMMENT |
| MEDIUM | scripts/help_info_menu.sh | 565 | # =============================================================== | COMMENT |
| MEDIUM | scripts/help_info_menu.sh | 644 | # =============================================================== | COMMENT |
| MEDIUM | scripts/help_info_menu.sh | 646 | # =============================================================== | COMMENT |
| MEDIUM | scripts/help_info_menu.sh | 686 | # =============================================================== | COMMENT |
| MEDIUM | scripts/help_info_menu.sh | 688 | # =============================================================== | COMMENT |
| 1557 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/global/remove-banner-pve-v3.sh | 191 | except Exception as e: | CODE |
| LOW | .github/scripts/generate_helpers_cache_back.py | 69 | except Exception as e: | CODE |
| LOW | .github/scripts/generate_helpers_cache_back.py | 90 | except Exception: | CODE |
| MEDIUM | .github/scripts/generate_helpers_cache_back.py | 66 | def main() -> int: | CODE |
| LOW | .github/scripts/build_translation_cache.py | 66 | except Exception: | CODE |
| LOW | .github/scripts/build_translation_cache.py | 92 | except Exception as exc: | CODE |
| LOW | .github/scripts/build_translation_cache.py | 213 | except Exception: | CODE |
| LOW | .github/scripts/build_translation_cache.py | 361 | except Exception as exc: | CODE |
| LOW | .github/scripts/generate_helpers_cache.py | 129 | except Exception as e: | CODE |
| MEDIUM | .github/scripts/generate_helpers_cache.py | 125 | def main() -> int: | CODE |
| MEDIUM⚡ | AppImage/scripts/flask_terminal_routes.py | 357 | print(f"Error writing to PTY: {e}") | CODE |
| MEDIUM | AppImage/scripts/flask_terminal_routes.py | 206 | print(f"Error setting window size: {e}") | CODE |
| MEDIUM | AppImage/scripts/flask_terminal_routes.py | 224 | print(f"Error reading from PTY: {e}") | CODE |
| LOW⚡ | AppImage/scripts/flask_terminal_routes.py | 350 | except Exception: | CODE |
| LOW⚡ | AppImage/scripts/flask_terminal_routes.py | 364 | except Exception as e: | CODE |
| LOW⚡ | AppImage/scripts/flask_terminal_routes.py | 563 | except Exception as e: | CODE |
| LOW⚡ | AppImage/scripts/flask_terminal_routes.py | 568 | except Exception as e: | CODE |
| LOW⚡ | AppImage/scripts/flask_terminal_routes.py | 576 | except Exception as e: | CODE |
| LOW | AppImage/scripts/flask_terminal_routes.py | 99 | except Exception: | CODE |
| LOW | AppImage/scripts/flask_terminal_routes.py | 194 | except Exception as e: | CODE |
| LOW | AppImage/scripts/flask_terminal_routes.py | 205 | except Exception as e: | CODE |
| LOW | AppImage/scripts/flask_terminal_routes.py | 223 | except Exception as e: | CODE |
| LOW | AppImage/scripts/flask_terminal_routes.py | 238 | except Exception: | CODE |
| LOW | AppImage/scripts/flask_terminal_routes.py | 242 | except Exception: | CODE |
| LOW | AppImage/scripts/flask_terminal_routes.py | 318 | except Exception: | CODE |
| LOW | AppImage/scripts/flask_terminal_routes.py | 400 | except Exception: | CODE |
| LOW | AppImage/scripts/flask_terminal_routes.py | 404 | except Exception: | CODE |
| LOW | AppImage/scripts/flask_terminal_routes.py | 455 | except Exception as e: | CODE |
| LOW | AppImage/scripts/flask_terminal_routes.py | 537 | except Exception as e: | CODE |
| LOW | AppImage/scripts/flask_terminal_routes.py | 541 | except Exception as e: | CODE |
| LOW | AppImage/scripts/flask_terminal_routes.py | 630 | except Exception as e: | CODE |
| LOW | AppImage/scripts/notification_events.py | 178 | except Exception: | CODE |
| LOW | AppImage/scripts/notification_events.py | 189 | except Exception: | CODE |
| LOW | AppImage/scripts/notification_events.py | 247 | except Exception as e: | CODE |
| LOW | AppImage/scripts/notification_events.py | 327 | except Exception as e: | CODE |
| LOW | AppImage/scripts/notification_events.py | 459 | except Exception: | CODE |
| LOW⚡ | AppImage/scripts/notification_events.py | 642 | except Exception: | STRING |
| LOW⚡ | AppImage/scripts/notification_events.py | 652 | except Exception: | STRING |
| LOW⚡ | AppImage/scripts/notification_events.py | 655 | except Exception: | STRING |
| LOW⚡ | AppImage/scripts/notification_events.py | 663 | except Exception as e: | STRING |
| LOW⚡ | AppImage/scripts/notification_events.py | 3303 | except Exception: | STRING |
| LOW⚡ | AppImage/scripts/notification_events.py | 3313 | except Exception: | STRING |
| LOW⚡ | AppImage/scripts/notification_events.py | 3321 | except Exception: | STRING |
| LOW⚡ | AppImage/scripts/notification_events.py | 3401 | except Exception: | STRING |
| LOW | AppImage/scripts/notification_events.py | 581 | except Exception as e: | STRING |
| LOW | AppImage/scripts/notification_events.py | 607 | except Exception as e: | STRING |
| LOW | AppImage/scripts/notification_events.py | 693 | except Exception: | STRING |
| LOW | AppImage/scripts/notification_events.py | 955 | except Exception: | STRING |
| LOW | AppImage/scripts/notification_events.py | 1096 | except Exception: | STRING |
| LOW | AppImage/scripts/notification_events.py | 1370 | except Exception: | STRING |
| LOW | AppImage/scripts/notification_events.py | 1391 | except Exception: | STRING |
| LOW | AppImage/scripts/notification_events.py | 1429 | except Exception: | STRING |
| LOW | AppImage/scripts/notification_events.py | 1440 | except Exception as e: | STRING |
| LOW | AppImage/scripts/notification_events.py | 1876 | except Exception as e: | STRING |
| LOW | AppImage/scripts/notification_events.py | 1921 | except Exception: | STRING |
| LOW | AppImage/scripts/notification_events.py | 1987 | except Exception: | STRING |
| LOW | AppImage/scripts/notification_events.py | 2076 | except Exception as e: | STRING |
| LOW | AppImage/scripts/notification_events.py | 2138 | except Exception as e: | STRING |
| LOW | AppImage/scripts/notification_events.py | 2633 | except Exception as e: | STRING |
| LOW | AppImage/scripts/notification_events.py | 2660 | except Exception as e: | STRING |
| 791 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install_proxmenux.sh | 1 | #!/bin/bash | COMMENT |
| LOW | install_proxmenux.sh | 21 | # • whiptail (interactive terminal menus) | COMMENT |
| LOW | install_proxmenux.sh | 801 | cp "./version.txt" "$LOCAL_VERSION_FILE" | COMMENT |
| LOW | install_proxmenux.sh | 901 | fi | COMMENT |
| LOW | install_proxmenux_beta.sh | 1 | #!/bin/bash | COMMENT |
| LOW | install_proxmenux_beta.sh | 21 | # | COMMENT |
| LOW | install_proxmenux_beta.sh | 321 | COMMENT | |
| LOW | install_proxmenux_beta.sh | 701 | cp "./install_proxmenux_beta.sh" "$BASE_DIR/install_proxmenux_beta.sh" 2>/dev/null || true | COMMENT |
| LOW | install_proxmenux_beta.sh | 801 | # Load utils if available | COMMENT |
| LOW | CONTRIBUTING.md | 41 | # ========================================================== | COMMENT |
| LOW | web/next-env.d.ts | 1 | /// <reference types="next" /> | COMMENT |
| LOW | web/components/ui/doc-navigation.tsx | 101 | // sections (Post-Install, GPUs, Create VM, Disk Manager, …) have a | COMMENT |
| LOW | scripts/help_info_menu.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/utils.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/utils.sh | 21 | # - Loads language settings from a configuration file. | COMMENT |
| LOW | scripts/utils.sh | 241 | # $LANG_DIR/<dest>.json | COMMENT |
| LOW | scripts/emergency_repair.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/security/fail2ban_installer.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/security/fail2ban_installer.sh | 21 | # the reliable file backend instead of systemd journal (avoids | COMMENT |
| LOW | scripts/security/lynis_installer.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/security/lynis_installer.sh | 21 | # before invoking ./lynis (Lynis requires being run from its own | COMMENT |
| LOW | scripts/backup_restore/apply_pending_restore.sh | 241 | echo "Cluster recovery helper: $helper" | COMMENT |
| LOW | scripts/backup_restore/run_scheduled_backup.sh | 401 | # created without one (the wizard delegates trust to PVE's storage | COMMENT |
| LOW | scripts/backup_restore/backup_scheduler.sh | 441 | pbs) | COMMENT |
| LOW | scripts/backup_restore/backup_scheduler.sh | 541 | "${menu[@]}" 3>&1 1>&2 2>&3) || return 1 | COMMENT |
| LOW | scripts/backup_restore/apply_cluster_postboot.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/backup_restore/apply_cluster_postboot.sh | 61 | else | COMMENT |
| LOW | scripts/backup_restore/apply_cluster_postboot.sh | 421 | # - update-initramfs -u -k all → so /etc/modules /etc/modprobe.d | COMMENT |
| LOW | scripts/backup_restore/apply_cluster_postboot.sh | 481 | # .deb files, DKMS source trees, etc. For each component the | COMMENT |
| LOW | scripts/backup_restore/backup_host.sh | 141 | # shellcheck disable=SC2086 # intentional word-split: HB_PBS_KEYFILE_OPT="--keyfile /path" | COMMENT |
| LOW | scripts/backup_restore/backup_host.sh | 1041 | # If we're restoring on a fresh host (or one where the keyfile | COMMENT |
| LOW | scripts/backup_restore/backup_host.sh | 1181 | COMMENT | |
| LOW | scripts/backup_restore/backup_host.sh | 2061 | COMMENT | |
| LOW | scripts/backup_restore/backup_host.sh | 2161 | # Until each installer ships --auto-uninstall we can only | COMMENT |
| LOW | scripts/backup_restore/backup_host.sh | 2381 | return 1 | COMMENT |
| LOW | scripts/backup_restore/backup_host.sh | 2761 | # The drift summary is merged into the single confirmation | COMMENT |
| LOW | scripts/backup_restore/backup_host.sh | 2801 | # ── Cross-version safe-restore filter ──────────────────── | COMMENT |
| LOW | scripts/backup_restore/backup_host.sh | 2841 | fi | COMMENT |
| LOW | scripts/backup_restore/backup_host.sh | 2901 | # from the operator — the staging config has already been | COMMENT |
| LOW | scripts/backup_restore/backup_host.sh | 3281 | local -a selected_paths=() | COMMENT |
| LOW | scripts/backup_restore/backup_host.sh | 3621 | # | COMMENT |
| LOW | scripts/backup_restore/backup_host.sh | 3641 | # The filter runs three passes: | COMMENT |
| LOW | scripts/backup_restore/backup_host.sh | 3881 | _rs_prompt_zfs_opt_in "$staging_root" | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 181 | esac | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 641 | # * zpool.guids → pool name + GUID. Same pool name on a fresh | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 941 | # passphrase → produces `pbs-key.recovery.enc`. | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 981 | # host wants its PBS keyfile protected against loss. Three values: | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 1021 | # ========================================================== | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 1081 | mkdir -p "$HB_STATE_DIR" 2>/dev/null || true | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 1101 | # and told to make their own offsite copy — losing it means | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 1161 | # | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 1741 | COMMENT | |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 1841 | ;; | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 2021 | --title "$(hb_translate "IMPORTANT — Save this passphrase")" \ | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 2061 | # privileged account. This matches the manual setup we already do | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 2641 | # Enumerate USB block-device partitions on this host. Output format | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 3161 | COMMENT | |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 3261 | # Never speaks — pv is purely an UX improvement, asking the operator to | COMMENT |
| LOW | scripts/backup_restore/lib_host_backup_common.sh | 3281 | # live host. Covers the "motherboard swap" scenario: same NIC | COMMENT |
| 229 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/scripts/generate_helpers_cache.py | 125 | CODE | |
| LOW | AppImage/scripts/flask_terminal_routes.py | 135 | CODE | |
| LOW | AppImage/scripts/flask_terminal_routes.py | 208 | CODE | |
| LOW | AppImage/scripts/flask_terminal_routes.py | 228 | CODE | |
| LOW | AppImage/scripts/flask_terminal_routes.py | 391 | CODE | |
| LOW | AppImage/scripts/flask_terminal_routes.py | 489 | CODE | |
| LOW | AppImage/scripts/flask_terminal_routes.py | 548 | CODE | |
| LOW | AppImage/scripts/mount_monitor.py | 57 | CODE | |
| LOW | AppImage/scripts/mount_monitor.py | 251 | CODE | |
| LOW | AppImage/scripts/mount_monitor.py | 278 | CODE | |
| LOW | AppImage/scripts/mount_monitor.py | 296 | CODE | |
| LOW | AppImage/scripts/mount_monitor.py | 538 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 351 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 416 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 765 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 828 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 1034 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 1176 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 1192 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 1394 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 1494 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 1628 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 1813 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 1880 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 1967 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 1997 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 2052 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 2081 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 2141 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 2332 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 2362 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 2646 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 3172 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 3282 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 101 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 285 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 406 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 488 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 541 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 652 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 806 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 850 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 911 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 1112 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 1883 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 1925 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 1986 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 2070 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 2251 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 2382 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 2639 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 2723 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 2739 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 2769 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 2975 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 3380 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 3794 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 4379 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 4513 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 4676 | CODE | |
| 213 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install_proxmenux.sh | 288 | # Set trap to ensure cleanup on exit | COMMENT |
| LOW | web/app/[locale]/docs/settings/change-language/page.tsx | 105 | <pre className="rounded-md bg-gray-100 p-4 overflow-x-auto text-xs font-mono text-gray-800 leading-relaxed border | CODE |
| LOW | web/app/[locale]/docs/post-install/optional/page.tsx | 267 | # Set Fastfetch to run at login | COMMENT |
| LOW | scripts/shutdown-notify.sh | 20 | # Check if this is a real system shutdown/reboot or just a service stop | COMMENT |
| LOW | scripts/emergency_repair.sh | 168 | # Check if NetworkManager is running (shouldn't be on Proxmox) | COMMENT |
| LOW | scripts/emergency_repair.sh | 509 | # Check if interface exists physically | COMMENT |
| LOW | scripts/emergency_repair.sh | 517 | # Check if it's a bridge or bond (these are virtual, so it's normal they exist) | COMMENT |
| LOW⚡ | scripts/oci/oci_manager.sh | 69 | # Check if version >= 9.1 | COMMENT |
| LOW⚡ | scripts/oci/oci_manager.sh | 122 | # Check if already installed | COMMENT |
| LOW | scripts/storage/disk-passthrough_ct.sh | 509 | # Check if already the right FS — otherwise need partition + format | COMMENT |
| LOW⚡ | scripts/gpu_tpu/amd_gpu_tools.sh | 57 | # Check if amdgpu_top is installed | COMMENT |
| LOW | scripts/gpu_tpu/amd_gpu_tools.sh | 195 | # Check if already installed | COMMENT |
| LOW | scripts/gpu_tpu/nvidia_installer.sh | 500 | # Check if unload succeeded | COMMENT |
| LOW⚡ | scripts/gpu_tpu/intel_gpu_tools.sh | 60 | # Check if intel-gpu-tools is installed | COMMENT |
| LOW | scripts/gpu_tpu/intel_gpu_tools.sh | 136 | # Check if already installed | COMMENT |
| LOW | scripts/vm/zimaos.sh | 794 | # Check if there are any images in the directory | COMMENT |
| LOW | scripts/vm/zimaos.sh | 852 | # Check if file already exists | COMMENT |
| LOW | scripts/vm/zimaos.sh | 1077 | # Check if UEFI (OVMF) is being used =================== | COMMENT |
| LOW | scripts/vm/synology.sh | 794 | # Check if there are any images in the directory | COMMENT |
| LOW | scripts/vm/synology.sh | 1041 | # Check if UEFI (OVMF) is being used =================== | COMMENT |
| LOW | scripts/menus/network_menu.sh | 227 | # Check if NetworkManager is running (shouldn't be on Proxmox) | COMMENT |
| LOW | scripts/menus/network_menu.sh | 577 | # Check if interface exists physically | COMMENT |
| LOW | scripts/menus/network_menu.sh | 585 | # Check if it's a bridge or bond (these are virtual, so it's normal they exist) | COMMENT |
| LOW | scripts/global/remove-banner-pve-v3.sh | 103 | # Check if already patched - look for our marker | COMMENT |
| LOW | scripts/global/remove-banner-pve-v3.sh | 119 | # Set trap to restore on error | COMMENT |
| LOW | scripts/global/remove-banner-pve-v3.sh | 161 | # Check if this line ends with "}," which is the function closure | COMMENT |
| LOW | scripts/global/remove-banner-pve-v3.sh | 237 | # Check if already patched | COMMENT |
| LOW | scripts/global/remove-banner-pve-v3.sh | 245 | # Set trap to restore on error | COMMENT |
| LOW | scripts/post_install/customizable_post_install.sh | 1384 | # Check if zfs-auto-snapshot is already installed | COMMENT |
| LOW | scripts/post_install/customizable_post_install.sh | 1877 | # Check if the custom message already exists | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 723 | # Check if 'others' already have r+x (minimum to traverse and read) | COMMENT |
| LOW | scripts/share/lxc-mount-manager_minimal.sh | 326 | # Check if path is already used as a mount point in this CT | COMMENT |
| LOW | scripts/share/lxc-mount-manager_minimal.sh | 376 | # Check if this host path is already mounted in this CT | COMMENT |
| LOW | scripts/share/nfs_client.sh | 525 | # Check if currently mounted | COMMENT |
| LOW | scripts/share/nfs_client.sh | 607 | # Check if NFS client is installed | COMMENT |
| LOW⚡ | AppImage/scripts/flask_terminal_routes.py | 360 | # Check if process is still alive | COMMENT |
| LOW | AppImage/scripts/notification_events.py | 939 | # Check if USB via sysfs | STRING |
| LOW | AppImage/scripts/notification_events.py | 2192 | # Check if task failed or completed with warnings | STRING |
| LOW | AppImage/scripts/notification_events.py | 2630 | # Check if startup period ended and we have aggregated VMs to report | STRING |
| LOW | AppImage/scripts/notification_events.py | 2739 | # Check if user dismissed this - clears DB cooldown | STRING |
| LOW | AppImage/scripts/flask_server.py | 423 | # Check if privileged or unprivileged | COMMENT |
| LOW | AppImage/scripts/flask_server.py | 1229 | # Check if this specific notification type is enabled. | COMMENT |
| LOW⚡ | AppImage/scripts/flask_server.py | 4848 | # Check if it's a bond — sysfs first (name-agnostic), then the | STRING |
| LOW⚡ | AppImage/scripts/flask_server.py | 4853 | # Check if it's a bridge (but not virbr which we skip above) | STRING |
| LOW⚡ | AppImage/scripts/flask_server.py | 4857 | # Check if it's a VLAN (contains a dot) | STRING |
| LOW⚡ | AppImage/scripts/flask_server.py | 4861 | # Check if interface has a real device symlink in /sys/class/net | STRING |
| LOW | AppImage/scripts/flask_server.py | 2888 | # Check if this is a pool name (pools have no leading whitespace) | STRING |
| LOW | AppImage/scripts/flask_server.py | 3037 | # Check if this disk is used by the system | STRING |
| LOW | AppImage/scripts/flask_server.py | 4984 | # Check if member is a bond first | STRING |
| LOW | AppImage/scripts/flask_server.py | 5009 | # Check if member is a physical interface. The device | STRING |
| LOW | AppImage/scripts/flask_server.py | 6784 | # Check if we have devices array | STRING |
| LOW | AppImage/scripts/flask_server.py | 7190 | # Check if this interface corresponds to the PCI slot | STRING |
| LOW | AppImage/scripts/flask_server.py | 7509 | # Check if this is a GPU sensor | STRING |
| LOW | AppImage/scripts/flask_server.py | 7951 | # Check if this GPU is already in the list (from nvidia-smi) | STRING |
| LOW | AppImage/scripts/flask_server.py | 9005 | # Check if tools are available | STRING |
| LOW | AppImage/scripts/flask_server.py | 9059 | # Check if test is in progress | STRING |
| LOW | AppImage/scripts/flask_server.py | 9865 | # Check if device supports self-test by looking at OACS field | STRING |
| LOW | AppImage/scripts/flask_server.py | 10533 | # Check if RRD file is empty or corrupted | STRING |
| LOW | AppImage/scripts/flask_server.py | 11423 | # Check if storage is PBS (Proxmox Backup Server) | STRING |
| LOW | AppImage/scripts/flask_notification_routes.py | 1276 | # Check if our blocks actually exist before doing anything | STRING |
| 62 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/app/[locale]/changelog/page.tsx | 38 | function readLatestChangelogVersion(locale: string): { version: string; date: string } | null { | CODE |
| LOW | web/app/[locale]/changelog/page.tsx | 167 | function wrapCodeBlocksWithCopyable(content: string) { | CODE |
| LOW | …ocale]/docs/settings/show-version-information/page.tsx | 29 | export default async function ShowVersionInformationPage({ | CODE |
| LOW | web/app/[locale]/docs/backup-restore/page.tsx | 49 | export default async function BackupRestoreOverviewPage({ | CODE |
| LOW | web/app/[locale]/docs/about/code-of-conduct/page.tsx | 56 | function wrapCodeBlocksWithCopyable(content: string) { | CODE |
| LOW | …app/[locale]/docs/post-install/virtualization/page.tsx | 22 | export default async function PostInstallVirtualizationPage({ | CODE |
| LOW | …/app/[locale]/docs/post-install/customization/page.tsx | 20 | export default async function PostInstallCustomizationPage({ | CODE |
| LOW | …app/[locale]/docs/post-install/basic-settings/page.tsx | 33 | export default async function PostInstallBasicSettingsPage({ | CODE |
| LOW | web/app/[locale]/docs/post-install/uninstall/page.tsx | 30 | export default async function UninstallOptimizationsPage({ | CODE |
| LOW | web/app/[locale]/docs/post-install/monitoring/page.tsx | 21 | export default async function PostInstallMonitoringPage({ | CODE |
| LOW | web/app/[locale]/docs/post-install/performance/page.tsx | 21 | export default async function PostInstallPerformancePage({ | CODE |
| LOW | web/components/ui/chart.tsx | 320 | function getPayloadConfigFromPayload( | CODE |
| LOW | .github/scripts/generate_helpers_cache_back.py | 36 | def guess_os_from_script_path(script_path: str) -> str | None: | CODE |
| LOW | AppImage/components/disk-temperature-detail-modal.tsx | 78 | export function DiskTemperatureDetailModal({ | CODE |
| LOW | AppImage/components/host-backup.tsx | 5943 | function ConfigureDestinationWizard({ | CODE |
| LOW | AppImage/components/storage-overview.tsx | 2350 | async function fetchTempHistoryForReport(diskName: string): Promise<DiskTempHistoryPayload | undefined> { | CODE |
| LOW | AppImage/scripts/flask_terminal_routes.py | 119 | def issue_terminal_ticket_route(): | CODE |
| LOW | AppImage/scripts/mount_monitor.py | 508 | def _check_reachable_from_host(host_pid: str, ct_target: str, | CODE |
| LOW | AppImage/scripts/notification_events.py | 65 | def get_and_clear_startup_vms(self) -> list: | CODE |
| LOW | AppImage/scripts/notification_events.py | 259 | def _record_smartd_observation_impl(title: str, message: str): | CODE |
| LOW⚡ | AppImage/scripts/notification_events.py | 3406 | def _check_post_install_updates(self): | STRING |
| LOW | AppImage/scripts/notification_events.py | 610 | def _get_disk_io_cooldown_from_db(self, device: str) -> Optional[float]: | STRING |
| LOW | AppImage/scripts/notification_events.py | 1394 | def _record_disk_io_observation(self, resolved: str, msg: str): | STRING |
| LOW | AppImage/scripts/notification_events.py | 1443 | def _record_smartd_observation(self, title: str, message: str): | STRING |
| LOW | AppImage/scripts/notification_events.py | 3039 | def _check_startup_aggregation(self): | STRING |
| LOW | AppImage/scripts/notification_events.py | 3479 | def _check_managed_installs_updates(self): | STRING |
| LOW | AppImage/scripts/notification_events.py | 3642 | def _build_managed_install_event(self, item: dict) -> tuple[str, dict]: | STRING |
| LOW | AppImage/scripts/notification_events.py | 3754 | def _check_ai_model_availability(self): | STRING |
| LOW⚡ | AppImage/scripts/flask_server.py | 626 | def _cleanup_old_temperature_data(): | CODE |
| LOW⚡ | AppImage/scripts/flask_server.py | 637 | def get_temperature_sparkline(minutes=60): | CODE |
| LOW⚡ | AppImage/scripts/flask_server.py | 900 | def _cleanup_old_latency_data(): | CODE |
| LOW⚡ | AppImage/scripts/flask_server.py | 1752 | def _interface_class_from_usb_device(dev_path): | CODE |
| LOW⚡ | AppImage/scripts/flask_server.py | 1883 | def _coral_kernel_modules_loaded(): | CODE |
| LOW⚡ | AppImage/scripts/flask_server.py | 1908 | def _coral_edgetpu_runtime_version(): | CODE |
| LOW⚡ | AppImage/scripts/flask_server.py | 2368 | def extract_vmid_from_interface(interface_name): | CODE |
| LOW | AppImage/scripts/flask_server.py | 406 | def parse_lxc_hardware_config(vmid, node): | CODE |
| LOW | AppImage/scripts/flask_server.py | 723 | def _temperature_collector_loop(): | CODE |
| LOW | AppImage/scripts/flask_server.py | 1011 | def _capture_health_journal_context(categories: list, reason: str = '') -> str: | CODE |
| LOW | AppImage/scripts/flask_server.py | 1481 | def get_cached_pvesh_cluster_resources_vm(): | CODE |
| LOW | AppImage/scripts/flask_server.py | 1532 | def get_cached_pvesh_storage_list(): | CODE |
| LOW | AppImage/scripts/flask_server.py | 1560 | def get_cached_sensors_output(): | CODE |
| LOW | AppImage/scripts/flask_server.py | 1925 | def _coral_pcie_name_from_lspci(slot): | CODE |
| LOW | AppImage/scripts/flask_server.py | 2251 | def get_intel_gpu_processes_from_text(): | CODE |
| LOW⚡ | AppImage/scripts/flask_server.py | 5748 | def identify_temperature_sensor(sensor_name, adapter, chip_name=None): | STRING |
| LOW⚡ | AppImage/scripts/flask_server.py | 11793 | def api_managed_installs_refresh(): | STRING |
| LOW⚡ | AppImage/scripts/flask_server.py | 11812 | def api_lxc_updates_detection_get(): | STRING |
| LOW⚡ | AppImage/scripts/flask_server.py | 11825 | def api_lxc_updates_detection_set(): | STRING |
| LOW | AppImage/scripts/flask_server.py | 4379 | def _get_proxmox_storage_uncached(): | STRING |
| LOW | AppImage/scripts/flask_server.py | 4676 | def _compute_per_nic_rates_live(net_io_per_nic): | STRING |
| LOW | AppImage/scripts/flask_server.py | 5366 | def _get_lxc_update_status_map() -> dict: | STRING |
| LOW | AppImage/scripts/flask_server.py | 7150 | def get_network_hardware_info(pci_slot): | STRING |
| LOW | AppImage/scripts/flask_server.py | 7330 | def _sriov_find_guest_consumer(bdf): | STRING |
| LOW | AppImage/scripts/flask_server.py | 7576 | def _get_hardware_info_uncached(): | STRING |
| LOW | AppImage/scripts/flask_server.py | 8718 | def api_disk_temperature_history(disk_name): | STRING |
| LOW | AppImage/scripts/flask_server.py | 9729 | def api_smart_history_download(disk_name, filename): | STRING |
| LOW | AppImage/scripts/flask_server.py | 10074 | def api_smart_schedules_create(): | STRING |
| LOW | AppImage/scripts/flask_server.py | 10121 | def api_smart_schedules_delete(schedule_id): | STRING |
| LOW | AppImage/scripts/flask_server.py | 10145 | def api_smart_schedules_toggle(): | STRING |
| LOW | AppImage/scripts/flask_server.py | 10349 | def api_network_interface_metrics(interface_name): | STRING |
| LOW | AppImage/scripts/flask_server.py | 11179 | def api_notifications_download(): | STRING |
| 151 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | scripts/emergency_repair.sh | 643 | # Step 4: Apply changes | COMMENT |
| LOW⚡ | scripts/emergency_repair.sh | 652 | # Step 5: Verification | COMMENT |
| LOW | scripts/emergency_repair.sh | 353 | # Step 2: Show current configuration | COMMENT |
| LOW | scripts/emergency_repair.sh | 367 | # Step 3: Identify specific changes needed | COMMENT |
| LOW | scripts/emergency_repair.sh | 400 | # Step 4: Apply changes with verification | COMMENT |
| LOW | scripts/emergency_repair.sh | 429 | # Step 5: Verification | COMMENT |
| LOW | scripts/emergency_repair.sh | 591 | # Step 2: Identify interfaces to remove | COMMENT |
| LOW | scripts/emergency_repair.sh | 615 | # Step 3: Show what will be removed | COMMENT |
| LOW | scripts/emergency_repair.sh | 802 | # Step 1: Update package lists | COMMENT |
| LOW | scripts/emergency_repair.sh | 816 | # Step 2: Reinstall core Proxmox packages | COMMENT |
| LOW | scripts/emergency_repair.sh | 832 | # Step 3: Regenerate certificates and restart services | COMMENT |
| LOW⚡ | scripts/utilities/import_vm_ova_ovf.sh | 641 | # Step 1: pick the OVA/OVF file (dialog) | COMMENT |
| LOW⚡ | scripts/utilities/import_vm_ova_ovf.sh | 644 | # Step 2: extract + parse (terminal output) | COMMENT |
| LOW⚡ | scripts/utilities/import_vm_ova_ovf.sh | 673 | # Step 3: configure the new VM (dialogs) | COMMENT |
| LOW⚡ | scripts/utilities/import_vm_ova_ovf.sh | 676 | # Step 4: confirm (dialog) | COMMENT |
| LOW⚡ | scripts/utilities/import_vm_ova_ovf.sh | 679 | # Step 5: do the import (terminal output only) | COMMENT |
| LOW⚡ | scripts/menus/network_menu.sh | 712 | # Step 4: Apply changes | COMMENT |
| LOW⚡ | scripts/menus/network_menu.sh | 721 | # Step 5: Verification | COMMENT |
| LOW | scripts/menus/network_menu.sh | 415 | # Step 2: Show current configuration | COMMENT |
| LOW | scripts/menus/network_menu.sh | 429 | # Step 3: Identify specific changes needed | COMMENT |
| LOW | scripts/menus/network_menu.sh | 462 | # Step 4: Apply changes with verification | COMMENT |
| LOW | scripts/menus/network_menu.sh | 491 | # Step 5: Verification | COMMENT |
| LOW | scripts/menus/network_menu.sh | 660 | # Step 2: Identify interfaces to remove | COMMENT |
| LOW | scripts/menus/network_menu.sh | 684 | # Step 3: Show what will be removed | COMMENT |
| LOW⚡ | scripts/share/disk_host.sh | 758 | # Step 1: Select disk | COMMENT |
| LOW⚡ | scripts/share/disk_host.sh | 761 | # Step 2: Inspect and choose action | COMMENT |
| LOW⚡ | scripts/share/disk_host.sh | 764 | # Step 3: Filesystem selection (only if formatting) | COMMENT |
| LOW | scripts/share/disk_host.sh | 782 | # Step 4: Configure storage options | COMMENT |
| LOW | scripts/share/disk_host.sh | 803 | # Step 5: Format/mount | COMMENT |
| LOW | scripts/share/disk_host.sh | 831 | # Step 6: Register in Proxmox (only if the user opted in) | COMMENT |
| LOW | scripts/share/disk_host.sh | 1018 | # Step 1: Remove from Proxmox | COMMENT |
| LOW | scripts/share/disk_host.sh | 1029 | # Step 2: Unmount if mounted (dir-backed storages only) | COMMENT |
| LOW | scripts/share/disk_host.sh | 1043 | # Step 3: Remove /etc/fstab entry | COMMENT |
| LOW | scripts/share/disk_host.sh | 1063 | # Step 4: Reboot prompt | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 801 | # Step 1: Select container | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 806 | # Step 2: Select host directory | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 811 | # Step 3: Select container mount point | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 816 | # Step 4: Get container type info (for display only) | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 829 | # Step 5: Active fix for network storage (before confirmation, while we know container type) | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 835 | # Step 6: Confirmation | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 863 | # Step 7: Add bind mount | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 871 | # Step 8: Host permission check for local dirs (only if not already handled above for CIFS/NFS) | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 876 | # Step 9: Summary | COMMENT |
| LOW | scripts/share/lxc-mount-manager_minimal.sh | 889 | # Step 10: Activate the mount and verify it's WRITABLE from inside | COMMENT |
| LOW⚡ | scripts/share/iscsi_host.sh | 279 | # Step 1: Enter portal | COMMENT |
| LOW⚡ | scripts/share/iscsi_host.sh | 282 | # Step 2: Discover targets | COMMENT |
| LOW⚡ | scripts/share/iscsi_host.sh | 285 | # Step 3: Select target | COMMENT |
| LOW⚡ | scripts/share/iscsi_host.sh | 293 | # Step 4: Configure storage | COMMENT |
| LOW⚡ | scripts/share/iscsi_host.sh | 296 | # Step 5: Add to Proxmox | COMMENT |
| LOW⚡ | scripts/share/samba_client.sh | 732 | # Step 0: | COMMENT |
| LOW⚡ | scripts/share/samba_client.sh | 735 | # Step 1: | COMMENT |
| LOW⚡ | scripts/share/samba_client.sh | 738 | # Step 2: | COMMENT |
| LOW⚡ | scripts/share/samba_client.sh | 741 | # Step 3: | COMMENT |
| LOW | scripts/share/samba_client.sh | 752 | # Step 4: | COMMENT |
| LOW | scripts/share/samba_client.sh | 755 | # Step 5: | COMMENT |
| LOW⚡ | scripts/share/nfs_client.sh | 370 | # Step 0: Install NFS client first | COMMENT |
| LOW⚡ | scripts/share/nfs_client.sh | 373 | # Step 1: Select server | COMMENT |
| LOW⚡ | scripts/share/nfs_client.sh | 379 | # Step 2: Select export | COMMENT |
| LOW⚡ | scripts/share/nfs_client.sh | 392 | # Step 3: Select mount point | COMMENT |
| LOW⚡ | scripts/share/nfs_client.sh | 395 | # Step 4: Configure mount options | COMMENT |
| 20 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | scripts/emergency_repair.sh | 643 | # Step 4: Apply changes | COMMENT |
| LOW⚡ | scripts/emergency_repair.sh | 652 | # Step 5: Verification | COMMENT |
| LOW | scripts/emergency_repair.sh | 353 | # Step 2: Show current configuration | COMMENT |
| LOW | scripts/emergency_repair.sh | 367 | # Step 3: Identify specific changes needed | COMMENT |
| LOW | scripts/emergency_repair.sh | 400 | # Step 4: Apply changes with verification | COMMENT |
| LOW | scripts/emergency_repair.sh | 429 | # Step 5: Verification | COMMENT |
| LOW | scripts/emergency_repair.sh | 591 | # Step 2: Identify interfaces to remove | COMMENT |
| LOW | scripts/emergency_repair.sh | 615 | # Step 3: Show what will be removed | COMMENT |
| LOW | scripts/emergency_repair.sh | 802 | # Step 1: Update package lists | COMMENT |
| LOW | scripts/emergency_repair.sh | 816 | # Step 2: Reinstall core Proxmox packages | COMMENT |
| LOW | scripts/emergency_repair.sh | 832 | # Step 3: Regenerate certificates and restart services | COMMENT |
| LOW⚡ | scripts/lxc/lxc-unprivileged-to-privileged.sh | 15 | # WARNING: This reduces security. Use only when necessary. | COMMENT |
| LOW⚡ | scripts/utilities/import_vm_ova_ovf.sh | 641 | # Step 1: pick the OVA/OVF file (dialog) | COMMENT |
| LOW⚡ | scripts/utilities/import_vm_ova_ovf.sh | 644 | # Step 2: extract + parse (terminal output) | COMMENT |
| LOW⚡ | scripts/utilities/import_vm_ova_ovf.sh | 673 | # Step 3: configure the new VM (dialogs) | COMMENT |
| LOW⚡ | scripts/utilities/import_vm_ova_ovf.sh | 676 | # Step 4: confirm (dialog) | COMMENT |
| LOW⚡ | scripts/utilities/import_vm_ova_ovf.sh | 679 | # Step 5: do the import (terminal output only) | COMMENT |
| LOW⚡ | scripts/menus/network_menu.sh | 712 | # Step 4: Apply changes | COMMENT |
| LOW⚡ | scripts/menus/network_menu.sh | 721 | # Step 5: Verification | COMMENT |
| LOW | scripts/menus/network_menu.sh | 415 | # Step 2: Show current configuration | COMMENT |
| LOW | scripts/menus/network_menu.sh | 429 | # Step 3: Identify specific changes needed | COMMENT |
| LOW | scripts/menus/network_menu.sh | 462 | # Step 4: Apply changes with verification | COMMENT |
| LOW | scripts/menus/network_menu.sh | 491 | # Step 5: Verification | COMMENT |
| LOW | scripts/menus/network_menu.sh | 660 | # Step 2: Identify interfaces to remove | COMMENT |
| LOW | scripts/menus/network_menu.sh | 684 | # Step 3: Show what will be removed | COMMENT |
| LOW⚡ | scripts/share/disk_host.sh | 758 | # Step 1: Select disk | COMMENT |
| LOW⚡ | scripts/share/disk_host.sh | 761 | # Step 2: Inspect and choose action | COMMENT |
| LOW⚡ | scripts/share/disk_host.sh | 764 | # Step 3: Filesystem selection (only if formatting) | COMMENT |
| LOW | scripts/share/disk_host.sh | 782 | # Step 4: Configure storage options | COMMENT |
| LOW | scripts/share/disk_host.sh | 803 | # Step 5: Format/mount | COMMENT |
| LOW | scripts/share/disk_host.sh | 831 | # Step 6: Register in Proxmox (only if the user opted in) | COMMENT |
| LOW | scripts/share/disk_host.sh | 1018 | # Step 1: Remove from Proxmox | COMMENT |
| LOW | scripts/share/disk_host.sh | 1029 | # Step 2: Unmount if mounted (dir-backed storages only) | COMMENT |
| LOW | scripts/share/disk_host.sh | 1043 | # Step 3: Remove /etc/fstab entry | COMMENT |
| LOW | scripts/share/disk_host.sh | 1063 | # Step 4: Reboot prompt | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 801 | # Step 1: Select container | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 806 | # Step 2: Select host directory | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 811 | # Step 3: Select container mount point | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 816 | # Step 4: Get container type info (for display only) | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 829 | # Step 5: Active fix for network storage (before confirmation, while we know container type) | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 835 | # Step 6: Confirmation | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 863 | # Step 7: Add bind mount | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 871 | # Step 8: Host permission check for local dirs (only if not already handled above for CIFS/NFS) | COMMENT |
| LOW⚡ | scripts/share/lxc-mount-manager_minimal.sh | 876 | # Step 9: Summary | COMMENT |
| LOW | scripts/share/lxc-mount-manager_minimal.sh | 889 | # Step 10: Activate the mount and verify it's WRITABLE from inside | COMMENT |
| LOW⚡ | scripts/share/iscsi_host.sh | 279 | # Step 1: Enter portal | COMMENT |
| LOW⚡ | scripts/share/iscsi_host.sh | 282 | # Step 2: Discover targets | COMMENT |
| LOW⚡ | scripts/share/iscsi_host.sh | 285 | # Step 3: Select target | COMMENT |
| LOW⚡ | scripts/share/iscsi_host.sh | 293 | # Step 4: Configure storage | COMMENT |
| LOW⚡ | scripts/share/iscsi_host.sh | 296 | # Step 5: Add to Proxmox | COMMENT |
| LOW⚡ | scripts/share/nfs_client.sh | 370 | # Step 0: Install NFS client first | COMMENT |
| LOW⚡ | scripts/share/nfs_client.sh | 373 | # Step 1: Select server | COMMENT |
| LOW⚡ | scripts/share/nfs_client.sh | 379 | # Step 2: Select export | COMMENT |
| LOW⚡ | scripts/share/nfs_client.sh | 392 | # Step 3: Select mount point | COMMENT |
| LOW⚡ | scripts/share/nfs_client.sh | 395 | # Step 4: Configure mount options | COMMENT |
| LOW⚡ | scripts/share/nfs_host.sh | 490 | # Step 1: Select server | COMMENT |
| LOW⚡ | scripts/share/nfs_host.sh | 493 | # Step 2: Select export | COMMENT |
| LOW⚡ | scripts/share/nfs_host.sh | 496 | # Step 3: Validate export | COMMENT |
| LOW⚡ | scripts/share/nfs_host.sh | 505 | # Step 4: Pick mount method(s) — pvesm, fstab, or both | COMMENT |
| LOW | scripts/share/nfs_host.sh | 519 | # Step 6: Apply | COMMENT |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | web/messages/es/guides/nvidia-manual.json | 74 | "udevRulesCode": "# /etc/udev/rules.d/70-nvidia.rules\n# Create /dev/nvidia0, /dev/nvidia1 ... and /dev/nvidiactl wh | CODE |
| MEDIUM | web/messages/en/guides/nvidia-manual.json | 74 | "udevRulesCode": "# /etc/udev/rules.d/70-nvidia.rules\n# Create /dev/nvidia0, /dev/nvidia1 ... and /dev/nvidiactl wh | CODE |
| MEDIUM | scripts/security/fail2ban_installer.sh | 133 | # Create a drop-in so we don't break other Proxmox settings | COMMENT |
| MEDIUM⚡ | scripts/vm/zimaos.sh | 764 | # Create the loader selection menu for ZimaOS | COMMENT |
| MEDIUM⚡ | scripts/vm/zimaos.sh | 1066 | # Create the VM | COMMENT |
| MEDIUM | scripts/vm/zimaos.sh | 95 | # Define the header_info function at the beginning of the script | COMMENT |
| MEDIUM | scripts/vm/zimaos.sh | 802 | # Create an array of image options for whiptail | COMMENT |
| MEDIUM⚡ | scripts/vm/synology.sh | 749 | # Create the loader selection menu | COMMENT |
| MEDIUM⚡ | scripts/vm/synology.sh | 1030 | # Create the VM | COMMENT |
| MEDIUM | scripts/vm/synology.sh | 102 | # Define the header_info function at the beginning of the script | COMMENT |
| MEDIUM | scripts/vm/synology.sh | 802 | # Create an array of image options for whiptail | COMMENT |
| MEDIUM⚡ | scripts/global/remove-banner-pve-v3.sh | 78 | # Create the patch script that will be called by APT hook | COMMENT |
| MEDIUM | scripts/global/remove-banner-pve-v3.sh | 174 | # Create the replacement function (simple version that just calls orig_cmd) | COMMENT |
| MEDIUM | scripts/post_install/customizable_post_install.sh | 271 | # Create a temporary configuration | COMMENT |
| MEDIUM | scripts/post_install/customizable_post_install.sh | 1881 | # Create a backup of the original MOTD file | COMMENT |
| MEDIUM | scripts/post_install/uninstall-tools.sh | 275 | # This file is part of systemd. | COMMENT |
| MEDIUM | AppImage/scripts/security_manager.py | 1056 | # Create the auth logger service if not present | COMMENT |
| MEDIUM | AppImage/scripts/health_monitor.py | 2313 | # This function is no longer used in get_detailed_status, but kept for reference if needed. | COMMENT |
| MEDIUM | AppImage/scripts/oci_manager.py | 566 | # Create a safe filename from the image reference | COMMENT |
| MEDIUM | AppImage/scripts/test_real_events.sh | 404 | # Create a marker for cleanup | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | AppImage/scripts/ai_providers/__init__.py | 68 | Factory function to get provider instance. Args: name: Provider name (groq, openai, anthropic, gemini, | STRING |
| HIGH | AppImage/scripts/ai_providers/openai_provider.py | 162 | Generate a response using OpenAI's API or compatible endpoint. Args: system_prompt: System | STRING |
| HIGH | AppImage/scripts/ai_providers/ollama_provider.py | 32 | Generate a response using local Ollama server. Args: system_prompt: System instructions | STRING |
| HIGH | AppImage/scripts/ai_providers/openrouter_provider.py | 82 | Generate a response using OpenRouter's API. OpenRouter uses OpenAI-compatible format with additional | STRING |
| HIGH | AppImage/scripts/ai_providers/groq_provider.py | 80 | Generate a response using Groq's API. Args: system_prompt: System instructions | STRING |
| HIGH | AppImage/scripts/ai_providers/anthropic_provider.py | 45 | Generate a response using Anthropic's API. Note: Anthropic uses a different API format than OpenAI. | STRING |
| HIGH | AppImage/scripts/ai_providers/gemini_provider.py | 116 | Generate a response using Google's Gemini API. Note: Gemini uses a different API format. System instruc | STRING |
| HIGH | AppImage/scripts/ai_providers/base.py | 74 | Generate a response from the AI model. Args: system_prompt: System instructions for the mod | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | AppImage/scripts/flask_server.py | 2549 | .then(response => response || fetch(event.request)) | CODE |
| HIGH | AppImage/scripts/managed_installs.py | 1020 | cmd_age = "stat -c '%Y' /var/cache/apt/pkgcache.bin 2>/dev/null || echo 0" | CODE |
| HIGH | AppImage/scripts/managed_installs.py | 1033 | "|| stat -c '%Y' /etc/apk/world 2>/dev/null || echo 0" | CODE |
| HIGH | AppImage/scripts/oci_manager.py | 1568 | "apk update && apk upgrade --no-cache"], | CODE |
| HIGH | AppImage/scripts/proxmox_known_errors.py | 196 | "solution_detailed": "1. Check interface: ip link show <iface>\n2. Check cable connection\n3. Check switch port | CODE |
| HIGH | AppImage/scripts/notification_channels.py | 608 | # if the user previously saved an empty string or null, we'd end up | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | scripts/backup_restore/lib_host_backup_common.sh | 3899 | # Usage: | COMMENT |
| LOW⚡ | scripts/backup_restore/collectors/build_manifest.sh | 10 | # Usage: | COMMENT |
| LOW | scripts/backup_restore/restore/remap_network.sh | 18 | # Usage: | COMMENT |
| LOW | scripts/backup_restore/restore/compute_rollback_plan.sh | 27 | # Usage: | COMMENT |
| LOW | scripts/backup_restore/restore/reinstall_drivers.sh | 17 | # Usage: | COMMENT |
| LOW⚡ | scripts/backup_restore/restore/list_paths.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/backup_restore/restore/run_restore.sh | 19 | # Usage: | COMMENT |
| LOW⚡ | scripts/backup_restore/restore/validate_storage.sh | 10 | # Usage: | COMMENT |
| LOW | scripts/backup_restore/restore/parse_manifest.sh | 15 | # Usage: | COMMENT |
| LOW | scripts/backup_restore/restore/preflight_checks.sh | 16 | # Usage: | COMMENT |
| LOW⚡ | scripts/utilities/proxmenux_debug.sh | 34 | # Usage: | COMMENT |
| LOW⚡ | scripts/global/utils-install-functions.sh | 8 | # Usage: | COMMENT |
| LOW⚡ | AppImage/scripts/test_all_notifications.sh | 6 | # Usage: | COMMENT |
| LOW⚡ | AppImage/scripts/test_real_events.sh | 13 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | web/package-lock.json | 7657 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", | CODE |
| MEDIUM⚡ | scripts/utils.sh | 14 | # ProxMenux to facilitate Proxmox VE management. | COMMENT |
| MEDIUM⚡ | scripts/utils.sh | 23 | # These utilities ensure a streamlined and uniform user experience | COMMENT |
| MEDIUM⚡ | scripts/utilities/upgrade_pve8_to_pve9.sh | 14 | # Trixie + PVE 8 -> 9) with comprehensive safeguards, repository | COMMENT |
| MEDIUM | AppImage/scripts/notification_events.py | 3040 | """Check if startup period ended and emit comprehensive startup report. | STRING |
| MEDIUM | AppImage/scripts/notification_events.py | 3070 | # Collect comprehensive startup report | STRING |
| MEDIUM | AppImage/scripts/notification_events.py | 4226 | # prefix is robust and won't accidentally catch smartd or | STRING |
| MEDIUM⚡ | AppImage/scripts/flask_server.py | 4655 | # oldest-vs-newest sample. This is robust against bursty traffic | STRING |
| MEDIUM | AppImage/scripts/flask_server.py | 7577 | """Get comprehensive hardware information""" | STRING |
| LOW⚡ | AppImage/scripts/flask_server.py | 18706 | # that read this data simply return empty/cached until the | STRING |
| MEDIUM | AppImage/scripts/build_appimage.sh | 191 | # pipeline. curl -L --retry 3 is more robust and falls back to wget | COMMENT |
| LOW | AppImage/scripts/health_persistence.py | 2570 | # so just return None and let the serial-based consolidation | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/scripts/build_translation_cache.py | 15 | CODE | |
| LOW | AppImage/scripts/mount_monitor.py | 25 | CODE | |
| LOW | AppImage/scripts/notification_events.py | 25 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 52 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 57 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 60 | CODE | |
| LOW | AppImage/scripts/flask_server.py | 73 | CODE | |
| LOW | AppImage/scripts/post_install_versions.py | 23 | CODE | |
| LOW | AppImage/scripts/lxc_mount_points.py | 30 | CODE | |
| LOW | AppImage/scripts/lxc_mount_points.py | 34 | CODE | |
| LOW | AppImage/scripts/disk_temperature_history.py | 27 | CODE | |
| LOW | AppImage/scripts/managed_installs.py | 37 | CODE | |
| LOW | AppImage/scripts/health_monitor.py | 16 | CODE | |
| LOW | AppImage/scripts/health_monitor.py | 16 | CODE | |
| LOW | AppImage/scripts/health_monitor.py | 17 | CODE | |
| LOW | AppImage/scripts/test_disk_observation.py | 28 | CODE | |
| LOW | AppImage/scripts/notification_templates.py | 14 | CODE | |
| LOW | AppImage/scripts/notification_templates.py | 18 | CODE | |
| LOW | AppImage/scripts/notification_templates.py | 19 | CODE | |
| LOW | AppImage/scripts/ai_context_enrichment.py | 20 | CODE | |
| LOW | AppImage/scripts/ai_context_enrichment.py | 27 | CODE | |
| LOW | AppImage/scripts/health_thresholds.py | 34 | CODE | |
| LOW | AppImage/scripts/notification_manager.py | 41 | CODE | |
| LOW | AppImage/scripts/notification_manager.py | 41 | CODE | |
| LOW | AppImage/scripts/proxmox_storage_monitor.py | 12 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/components/testimonials.tsx | 4 | author: "Jane Doe", | CODE |
| LOW | oci/catalog.json | 89 | "placeholder": "tskey-auth-xxxxx", | CODE |
| LOW | oci/catalog.json | 100 | "placeholder": "proxmox-gateway", | CODE |
| LOW | json/helpers_cache_back.json | 6699 | "username": "admin@example.com", | CODE |
| LOW | json/helpers_cache2.json | 3137 | "username": "admin@example.com", | CODE |
| LOW | json/helpers_cache2.json | 3230 | "username": "admin@example.org", | CODE |
| LOW | scripts/oci/catalog.json | 89 | "placeholder": "tskey-auth-xxxxx", | CODE |
| LOW | scripts/oci/catalog.json | 100 | "placeholder": "proxmox-gateway", | CODE |
| LOW | AppImage/components/notification-settings.tsx | 1803 | placeholder="user@example.com" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | AppImage/components/security.tsx | 2340 | <p>{'Authorization: Bearer YOUR_TOKEN_HERE'}</p> | CODE |
| HIGH | AppImage/scripts/flask_notification_routes.py | 443 | "api_key": "your-api-key", // Not needed for ollama | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | AppImage/scripts/security_manager.py | 295 | CODE | |
| LOW | AppImage/scripts/security_manager.py | 404 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | AppImage/scripts/ai_providers/__init__.py | 99 | __all__ = [ | CODE |