openmediavault is the next generation network attached storage (NAS) solution based on Debian Linux. Thanks to the modular design of the framework it can be enhanced via plugins. openmediavault is primarily designed to be used in home environments or small home offices.
This report summarizes scanner evidence for openmediavault/openmediavault, a PHP project with 6,991 GitHub stars. SynthScan examined 135,029 lines of code across 1512 source files, recording 925 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 11.4 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 828 finding(s).
Are imports declared and package/API names verified? 34 finding(s).
Are wrappers, guards, and repeated structures necessary? 259 finding(s).
Which changes need focused human review? 925 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 925 distinct pattern matches across 14 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 |
|---|---|---|---|---|
| MEDIUM | buildenvadm.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | install.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | vagrant/debian/install.sh | 3 | # This file is part of openmediavault. | COMMENT |
| MEDIUM | vagrant/debian/patch.sh | 3 | # This file is part of openmediavault. | COMMENT |
| MEDIUM | …t/usr/share/openmediavault/mkrrdgraph/plugins.d/nut.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …diavault/confdb/migrations.d/conf.service.nut_5.1.0.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …are/openmediavault/confdb/create.d/conf.service.nut.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …openmediavault/confdb/create.d/conf.service.owntone.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …enmediavault/confdb/create.d/conf.system.apt.source.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …ault/confdb/migrations.d/conf.service.shairport_2.5.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …enmediavault/confdb/create.d/conf.service.shairport.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …/openmediavault/confdb/create.d/conf.service.podman.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …/usr/share/openmediavault/mkrrdgraph/plugins.d/disk.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …/openmediavault/confdb/create.d/conf.service.bcache.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …ult/confdb/migrations.d/conf.service.onedrive_7.1.0.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …ult/confdb/migrations.d/conf.service.onedrive_6.2.1.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …ult/confdb/migrations.d/conf.service.onedrive_6.0.1.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …ult/confdb/migrations.d/conf.service.onedrive_6.1.0.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …ult/confdb/migrations.d/conf.service.onedrive_6.2.9.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …penmediavault/confdb/create.d/conf.service.onedrive.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …re/openmediavault/confdb/create.d/conf.service.tftp.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …/confdb/migrations.d/conf.service.filebrowser_6.0.1.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …mediavault/confdb/create.d/conf.service.filebrowser.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …t/confdb/migrations.d/conf.service.photoprism_6.0.1.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …t/confdb/migrations.d/conf.service.photoprism_6.0.2.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …nmediavault/confdb/create.d/conf.service.photoprism.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …ediavault/confdb/create.d/conf.system.network.hosts.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …diavault/confdb/migrations.d/conf.service.k8s_8.1.0.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …diavault/confdb/migrations.d/conf.service.k8s_7.2.0.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …are/openmediavault/confdb/create.d/conf.service.k8s.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …ult/confdb/migrations.d/conf.service.clamav_0.3.0.1.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …iavault/confdb/migrations.d/conf.service.clamav_4.1.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …vault/confdb/migrations.d/conf.service.clamav_3.1.2.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …vault/confdb/migrations.d/conf.service.clamav_0.6.1.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …iavault/confdb/migrations.d/conf.service.clamav_3.3.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …vault/confdb/migrations.d/conf.service.clamav_3.2.3.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …ult/confdb/migrations.d/conf.service.clamav_0.4.0.1.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …vault/confdb/migrations.d/conf.service.clamav_7.0.0.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …ult/confdb/migrations.d/conf.service.clamav_0.3.0.2.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …/openmediavault/confdb/create.d/conf.service.clamav.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …re/openmediavault/confdb/create.d/conf.service.snmp.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …lt/confdb/migrations.d/conf.service.usbbackup_3.0.2.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …lt/confdb/migrations.d/conf.service.usbbackup_7.0.1.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …lt/confdb/migrations.d/conf.service.usbbackup_5.0.0.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …enmediavault/confdb/create.d/conf.service.usbbackup.sh | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …ib/python3/dist-packages/openmediavault/productinfo.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …lib/python3/dist-packages/openmediavault/mkrrdgraph.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …ython3/dist-packages/openmediavault/collectiontools.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …lt/usr/lib/python3/dist-packages/openmediavault/log.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …/usr/lib/python3/dist-packages/openmediavault/monit.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …sr/lib/python3/dist-packages/openmediavault/systemd.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …/lib/python3/dist-packages/openmediavault/sortutils.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …ib/python3/dist-packages/openmediavault/stringutils.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …r/lib/python3/dist-packages/openmediavault/__init__.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …/lib/python3/dist-packages/openmediavault/confdbadm.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …lt/usr/lib/python3/dist-packages/openmediavault/rpc.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …/usr/lib/python3/dist-packages/openmediavault/utils.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …r/lib/python3/dist-packages/openmediavault/settings.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …/lib/python3/dist-packages/openmediavault/procutils.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| MEDIUM | …lib/python3/dist-packages/openmediavault/exceptions.py | 3 | # This file is part of OpenMediaVault. | COMMENT |
| 180 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | buildenvadm.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | install.sh | 1 | #!/bin/sh | COMMENT |
| LOW | vagrant/debian/install.sh | 1 | #!/bin/sh | COMMENT |
| LOW | vagrant/debian/patch.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …t/usr/share/openmediavault/mkrrdgraph/plugins.d/nut.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …diavault/confdb/migrations.d/conf.service.nut_5.1.0.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …are/openmediavault/confdb/create.d/conf.service.nut.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …are/openmediavault/confdb/create.d/conf.service.nut.sh | 21 | COMMENT | |
| LOW | deb/php-pam/pam-2.2.5/php_pam.h | 21 | COMMENT | |
| LOW | deb/php-pam/pam-2.2.5/pam.c | 21 | #endif | COMMENT |
| LOW | …openmediavault/confdb/create.d/conf.service.owntone.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …openmediavault/confdb/create.d/conf.service.owntone.sh | 21 | COMMENT | |
| LOW | …enmediavault/confdb/create.d/conf.system.apt.source.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …enmediavault/confdb/create.d/conf.system.apt.source.sh | 21 | COMMENT | |
| LOW | …enmediavault/confdb/create.d/conf.system.apt.source.sh | 41 | # <components>xxx</components> | COMMENT |
| LOW | …ault/confdb/migrations.d/conf.service.shairport_2.5.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …enmediavault/confdb/create.d/conf.service.shairport.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …enmediavault/confdb/create.d/conf.service.shairport.sh | 21 | COMMENT | |
| LOW | …/openmediavault/confdb/create.d/conf.service.podman.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …/openmediavault/confdb/create.d/conf.service.podman.sh | 21 | COMMENT | |
| LOW | …/usr/share/openmediavault/mkrrdgraph/plugins.d/disk.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …/openmediavault/confdb/create.d/conf.service.bcache.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …ult/confdb/migrations.d/conf.service.onedrive_7.1.0.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …ult/confdb/migrations.d/conf.service.onedrive_6.2.1.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …ult/confdb/migrations.d/conf.service.onedrive_6.0.1.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …ult/confdb/migrations.d/conf.service.onedrive_6.1.0.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …ult/confdb/migrations.d/conf.service.onedrive_6.2.9.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …penmediavault/confdb/create.d/conf.service.onedrive.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …penmediavault/confdb/create.d/conf.service.onedrive.sh | 21 | COMMENT | |
| LOW | …re/openmediavault/confdb/create.d/conf.service.tftp.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …re/openmediavault/confdb/create.d/conf.service.tftp.sh | 21 | COMMENT | |
| LOW | …/confdb/migrations.d/conf.service.filebrowser_6.0.1.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …mediavault/confdb/create.d/conf.service.filebrowser.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …mediavault/confdb/create.d/conf.service.filebrowser.sh | 21 | COMMENT | |
| LOW | …t/confdb/migrations.d/conf.service.photoprism_6.0.1.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …t/confdb/migrations.d/conf.service.photoprism_6.0.2.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …nmediavault/confdb/create.d/conf.service.photoprism.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …nmediavault/confdb/create.d/conf.service.photoprism.sh | 21 | COMMENT | |
| LOW | …ediavault/confdb/create.d/conf.system.network.hosts.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …ediavault/confdb/create.d/conf.system.network.hosts.sh | 21 | COMMENT | |
| LOW | …diavault/confdb/migrations.d/conf.service.k8s_8.1.0.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …diavault/confdb/migrations.d/conf.service.k8s_7.2.0.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …are/openmediavault/confdb/create.d/conf.service.k8s.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …are/openmediavault/confdb/create.d/conf.service.k8s.sh | 21 | COMMENT | |
| LOW | …are/openmediavault/confdb/create.d/conf.service.k8s.sh | 41 | # <expose>0|1</expose> | COMMENT |
| LOW | …ult/confdb/migrations.d/conf.service.clamav_0.3.0.1.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …iavault/confdb/migrations.d/conf.service.clamav_4.1.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …vault/confdb/migrations.d/conf.service.clamav_3.1.2.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …vault/confdb/migrations.d/conf.service.clamav_0.6.1.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …iavault/confdb/migrations.d/conf.service.clamav_3.3.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …vault/confdb/migrations.d/conf.service.clamav_3.2.3.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …ult/confdb/migrations.d/conf.service.clamav_0.4.0.1.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …vault/confdb/migrations.d/conf.service.clamav_7.0.0.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …ult/confdb/migrations.d/conf.service.clamav_0.3.0.2.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …/openmediavault/confdb/create.d/conf.service.clamav.sh | 1 | #!/usr/bin/env dash | COMMENT |
| LOW | …/openmediavault/confdb/create.d/conf.service.clamav.sh | 21 | COMMENT | |
| LOW | …/openmediavault/confdb/create.d/conf.service.clamav.sh | 41 | # <scanelf>1</scanelf> | COMMENT |
| LOW | …/openmediavault/confdb/create.d/conf.service.clamav.sh | 61 | # <job> | COMMENT |
| LOW | …/openmediavault/confdb/create.d/conf.service.clamav.sh | 81 | # </jobs> | COMMENT |
| LOW | …re/openmediavault/confdb/create.d/conf.service.snmp.sh | 1 | #!/usr/bin/env dash | COMMENT |
| 292 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …tests/python/test_openmediavault_device_blockdevice.py | 70 | def test_canonical_device_file(self, _): | CODE |
| LOW | …tests/python/test_openmediavault_device_blockdevice.py | 81 | def test_device_name_canonical(self, _): | CODE |
| LOW | …tests/python/test_openmediavault_device_blockdevice.py | 98 | def test_has_udev_property_exists(self, mock_from_device_file): | CODE |
| LOW | …tests/python/test_openmediavault_device_blockdevice.py | 106 | def test_has_udev_property_not_exists(self, mock_from_device_file): | CODE |
| LOW | …tests/python/test_openmediavault_device_blockdevice.py | 124 | def test_get_udev_property_default(self, mock_from_device_file): | CODE |
| LOW | …tests/python/test_openmediavault_device_blockdevice.py | 243 | def test_sysfs_value_class_block(self): | CODE |
| LOW | …iavault/unittests/python/test_openmediavault_device.py | 55 | def test_is_device_file_by_uuid(self): | CODE |
| LOW | …iavault/unittests/python/test_openmediavault_device.py | 75 | def test_is_device_file_by_id(self): | CODE |
| LOW | …iavault/unittests/python/test_openmediavault_device.py | 94 | def test_is_device_file_by_label(self): | CODE |
| LOW | …iavault/unittests/python/test_openmediavault_device.py | 114 | def test_is_device_file_by_path(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 75 | def test_check_format_devicefile_sata(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 79 | def test_check_format_devicefile_sata_partition(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 83 | def test_check_format_devicefile_nvme(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 88 | def test_check_format_devicefile_nvme_partition(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 93 | def test_check_format_devicefile_mmc(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 98 | def test_check_format_devicefile_mmc_partition(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 103 | def test_check_format_devicefile_md_raid(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 107 | def test_check_format_devicefile_md_raid_subdir(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 111 | def test_check_format_devicefile_device_mapper(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 115 | def test_check_format_devicefile_lvm(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 120 | def test_check_format_devicefile_virtio(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 124 | def test_check_format_devicefile_loop(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 128 | def test_check_format_devicefile_by_id_ata(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 136 | def test_check_format_devicefile_by_uuid(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 144 | def test_check_format_devicefile_by_id_md_name(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 152 | def test_check_format_devicefile_by_id_md_uuid(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 160 | def test_check_format_devicefile_by_path(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 168 | def test_check_format_devicefile_fail_semicolon_injection(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 177 | def test_check_format_devicefile_fail_rce_poc(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 188 | def test_check_format_devicefile_fail_pipe_injection(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 198 | def test_check_format_devicefile_fail_and_injection(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 207 | def test_check_format_devicefile_fail_subshell_injection(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 216 | def test_check_format_devicefile_fail_backtick_injection(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 225 | def test_check_format_devicefile_fail_redirect_injection(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 234 | def test_check_format_devicefile_fail_newline_injection(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 243 | def test_check_format_devicefile_fail_variable_injection(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 252 | def test_check_format_devicefile_fail_no_dev_prefix(self): | CODE |
| LOW⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 261 | def test_check_format_devicefile_fail_wrong_path(self): | CODE |
| LOW | …ittests/python/test_openmediavault_datamodel_schema.py | 282 | def test_check_format_dirpath_fail(self): | CODE |
| LOW | …ittests/python/test_openmediavault_datamodel_schema.py | 291 | def test_check_format_sharename(self): | CODE |
| LOW | …ittests/python/test_openmediavault_datamodel_schema.py | 342 | def test_check_format_domainname(self): | CODE |
| LOW | …ittests/python/test_openmediavault_datamodel_schema.py | 364 | def test_check_format_sshpubkey_openssh(self): | CODE |
| LOW | …ittests/python/test_openmediavault_datamodel_schema.py | 369 | def test_check_format_sshpubkey_openssh_fail(self): | CODE |
| LOW | …ittests/python/test_openmediavault_datamodel_schema.py | 396 | def test_check_format_sshprivkey_rsa(self): | CODE |
| LOW | …ittests/python/test_openmediavault_datamodel_schema.py | 405 | def test_check_format_sshprivkey_rsa_fail(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_collections.py | 166 | def test_setdefault_without_default(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_collections.py | 171 | def test_setdefault_existing_key_unchanged(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_collections.py | 181 | def test_copy_top_level_is_independent(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_collections.py | 188 | def test_copy_nested_shares_reference(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_collections.py | 201 | def test_deepcopy_scalar_is_independent(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_collections.py | 208 | def test_deepcopy_nested_dict_is_independent(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_collections.py | 214 | def test_deepcopy_nested_list_is_independent(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_json_schema.py | 99 | def test_validate_maximum_fail(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_json_schema.py | 106 | def test_validate_minimum_fail(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_json_schema.py | 113 | def test_check_format_unknown_fail(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_json_schema.py | 130 | def test_check_format_hostname(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_json_schema.py | 134 | def test_check_format_hostname_fail(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_json_schema.py | 194 | def test_check_format_uri_no_path(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_json_schema.py | 200 | def test_check_format_uri_with_path_only(self): | CODE |
| LOW⚡ | …lt/unittests/python/test_openmediavault_json_schema.py | 206 | def test_check_format_uri_fail_empty(self): | CODE |
| 136 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …r/lib/python3/dist-packages/openmediavault/settings.py | 78 | except (IOError, FileNotFoundError): | CODE |
| HIGH | …ib/python3/dist-packages/openmediavault/json/schema.py | 567 | except SchemaValidationException: | CODE |
| HIGH | …ib/python3/dist-packages/openmediavault/json/schema.py | 537 | except SchemaValidationException: | CODE |
| HIGH | …python3/dist-packages/openmediavault/device/storage.py | 147 | except (IOError, FileNotFoundError): | CODE |
| HIGH | …python3/dist-packages/openmediavault/device/storage.py | 162 | except (IOError, FileNotFoundError): | CODE |
| HIGH | …python3/dist-packages/openmediavault/device/storage.py | 296 | except AttributeError: | CODE |
| HIGH | …hon3/dist-packages/openmediavault/device/plugins/md.py | 85 | except ValueError: | CODE |
| HIGH | …hon3/dist-packages/openmediavault/device/plugins/md.py | 137 | except ValueError: | CODE |
| HIGH | …hon3/dist-packages/openmediavault/device/plugins/sg.py | 67 | except (IOError, FileNotFoundError): | CODE |
| HIGH | …hon3/dist-packages/openmediavault/device/plugins/dm.py | 79 | except (IOError, FileNotFoundError): | CODE |
| HIGH | …hon3/dist-packages/openmediavault/device/plugins/dm.py | 94 | except (IOError, FileNotFoundError): | CODE |
| HIGH | …hon3/dist-packages/openmediavault/device/plugins/dm.py | 112 | except (IOError, FileNotFoundError): | CODE |
| HIGH | …hon3/dist-packages/openmediavault/device/plugins/sd.py | 174 | except (IOError, FileNotFoundError): | CODE |
| HIGH | …hon3/dist-packages/openmediavault/device/plugins/sd.py | 312 | except (IOError, FileNotFoundError): | CODE |
| HIGH | …hon3/dist-packages/openmediavault/device/plugins/sd.py | 255 | except (IOError, ValueError): | CODE |
| HIGH | …ib/python3/dist-packages/openmediavault/fs/__init__.py | 243 | except pyudev.DeviceNotFoundByFileError: | CODE |
| HIGH | …ib/python3/dist-packages/openmediavault/fs/__init__.py | 314 | except subprocess.CalledProcessError: | CODE |
| HIGH | …ib/python3/dist-packages/openmediavault/fs/__init__.py | 335 | except subprocess.CalledProcessError: | CODE |
| HIGH | deb/openmediavault/srv/salt/_grains/omv.py | 30 | except (IOError, FileNotFoundError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …b/python3/dist-packages/openmediavault/net/__init__.py | 21 | CODE | |
| LOW | …ython3/dist-packages/openmediavault/config/__init__.py | 21 | CODE | |
| LOW | …ython3/dist-packages/openmediavault/config/__init__.py | 22 | CODE | |
| LOW | …ython3/dist-packages/openmediavault/config/__init__.py | 23 | CODE | |
| LOW | …/python3/dist-packages/openmediavault/json/__init__.py | 21 | CODE | |
| LOW | …ython3/dist-packages/openmediavault/device/__init__.py | 21 | CODE | |
| LOW | …ython3/dist-packages/openmediavault/device/__init__.py | 22 | CODE | |
| LOW | …ython3/dist-packages/openmediavault/device/__init__.py | 22 | CODE | |
| LOW | …ython3/dist-packages/openmediavault/device/__init__.py | 23 | CODE | |
| LOW | …on3/dist-packages/openmediavault/device/plugins/mmc.py | 21 | CODE | |
| LOW | …hon3/dist-packages/openmediavault/device/plugins/md.py | 21 | CODE | |
| LOW | …hon3/dist-packages/openmediavault/device/plugins/hd.py | 21 | CODE | |
| LOW | …3/dist-packages/openmediavault/device/plugins/cdrom.py | 21 | CODE | |
| LOW | …hon3/dist-packages/openmediavault/device/plugins/sg.py | 21 | CODE | |
| LOW | …on3/dist-packages/openmediavault/device/plugins/rbd.py | 21 | CODE | |
| LOW | …on3/dist-packages/openmediavault/device/plugins/nvm.py | 21 | CODE | |
| LOW | …on3/dist-packages/openmediavault/device/plugins/xen.py | 21 | CODE | |
| LOW | …3/dist-packages/openmediavault/device/plugins/cciss.py | 21 | CODE | |
| LOW | …n3/dist-packages/openmediavault/device/plugins/loop.py | 21 | CODE | |
| LOW | …on3/dist-packages/openmediavault/device/plugins/fio.py | 21 | CODE | |
| LOW | …on3/dist-packages/openmediavault/device/plugins/i2o.py | 21 | CODE | |
| LOW | …/dist-packages/openmediavault/device/plugins/virtio.py | 21 | CODE | |
| LOW | …on3/dist-packages/openmediavault/datamodel/__init__.py | 21 | CODE | |
| LOW | …on3/dist-packages/openmediavault/datamodel/__init__.py | 22 | CODE | |
| LOW | …enmediavault/firstaid/modules.d/10configure_network.py | 25 | CODE | |
| LOW | …/unittests/python/test_openmediavault_config_object.py | 21 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …t/usr/share/openmediavault/mkrrdgraph/plugins.d/nut.py | 29 | CODE | |
| LOW | …lib/python3/dist-packages/openmediavault/mkrrdgraph.py | 62 | CODE | |
| LOW | …ython3/dist-packages/openmediavault/collectiontools.py | 129 | CODE | |
| LOW | …ython3/dist-packages/openmediavault/collectiontools.py | 172 | CODE | |
| LOW | …r/lib/python3/dist-packages/openmediavault/__init__.py | 38 | CODE | |
| LOW | …r/lib/python3/dist-packages/openmediavault/settings.py | 64 | CODE | |
| LOW | …ython3/dist-packages/openmediavault/config/database.py | 500 | CODE | |
| LOW | …ython3/dist-packages/openmediavault/config/database.py | 543 | CODE | |
| LOW | …ython3/dist-packages/openmediavault/config/database.py | 510 | CODE | |
| LOW | …thon3/dist-packages/openmediavault/config/datamodel.py | 202 | CODE | |
| LOW | …thon3/dist-packages/openmediavault/config/datamodel.py | 272 | CODE | |
| LOW | …ib/python3/dist-packages/openmediavault/json/schema.py | 90 | CODE | |
| LOW | …ib/python3/dist-packages/openmediavault/json/schema.py | 178 | CODE | |
| LOW | …ib/python3/dist-packages/openmediavault/json/schema.py | 395 | CODE | |
| LOW | …ib/python3/dist-packages/openmediavault/json/schema.py | 523 | CODE | |
| LOW | …ib/python3/dist-packages/openmediavault/json/schema.py | 110 | CODE | |
| LOW | …hon3/dist-packages/openmediavault/device/plugins/md.py | 69 | CODE | |
| LOW | …hon3/dist-packages/openmediavault/device/plugins/sd.py | 216 | CODE | |
| LOW | …thon3/dist-packages/openmediavault/datamodel/schema.py | 31 | CODE | |
| LOW | …sr/share/openmediavault/confdbadm/commands.d/delete.py | 37 | CODE | |
| LOW | …enmediavault/firstaid/modules.d/10configure_network.py | 39 | CODE | |
| LOW | …penmediavault/firstaid/modules.d/20configure_webgui.py | 34 | CODE | |
| LOW | …penmediavault/firstaid/modules.d/50fix_rrd_database.py | 41 | CODE | |
| LOW | deb/openmediavault/srv/salt/_modules/omv_utils.py | 403 | CODE | |
| LOW | deb/openmediavault/srv/salt/_modules/omv_utils.py | 430 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/lib/python3/dist-packages/openmediavault/confdbadm.py | 163 | except Exception as e: | CODE |
| LOW | …ib/python3/dist-packages/openmediavault/json/schema.py | 427 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | …hon3/dist-packages/openmediavault/device/plugins/md.py | 157 | except Exception: | CODE |
| LOW | …hon3/dist-packages/openmediavault/device/plugins/dm.py | 221 | except Exception: | CODE |
| LOW⚡ | …hon3/dist-packages/openmediavault/device/plugins/sd.py | 232 | except Exception: | CODE |
| LOW | …sr/share/openmediavault/confdbadm/commands.d/delete.py | 75 | except Exception as e: | CODE |
| LOW⚡ | …sr/share/openmediavault/confdbadm/commands.d/create.py | 81 | except Exception as e: | CODE |
| LOW⚡ | …sr/share/openmediavault/confdbadm/commands.d/create.py | 93 | except Exception as e: | CODE |
| LOW | …r/share/openmediavault/confdbadm/commands.d/migrate.py | 110 | except Exception as e: | CODE |
| MEDIUM | …r/share/openmediavault/confdbadm/commands.d/migrate.py | 42 | def argparse_is_version(self, arg): | CODE |
| LOW | …enmediavault/firstaid/modules.d/10configure_network.py | 135 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | …enmediavault/firstaid/modules.d/10configure_network.py | 166 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | …enmediavault/firstaid/modules.d/10configure_network.py | 189 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | …enmediavault/firstaid/modules.d/10configure_network.py | 258 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | …enmediavault/firstaid/modules.d/10configure_network.py | 313 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | …enmediavault/firstaid/modules.d/10configure_network.py | 341 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | …share/openmediavault/firstaid/modules.d/60clean_apt.py | 60 | except Exception as e: | CODE |
| LOW | …/openmediavault/firstaid/modules.d/70submit_sysinfo.py | 45 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | …iavault/firstaid/modules.d/45fix_dirty_modules_file.py | 51 | except Exception: | CODE |
| LOW | …sr/share/openmediavault/confdb/populate.d/40netplan.sh | 44 | except Exception as e: | CODE |
| MEDIUM | …sr/share/openmediavault/confdb/populate.d/40netplan.sh | 33 | def load_netplan_yaml(file_path) -> Optional[Dict]: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ib/python3/dist-packages/openmediavault/productinfo.py | 21 | __all__ = ["ProductInfo"] | CODE |
| LOW | …lib/python3/dist-packages/openmediavault/mkrrdgraph.py | 21 | __all__ = ['IPlugin', 'load_collectd_config'] | CODE |
| LOW | …ython3/dist-packages/openmediavault/collectiontools.py | 21 | __all__ = ["flatten", "DotDict", "DotCollapsedDict"] | CODE |
| LOW | …lt/usr/lib/python3/dist-packages/openmediavault/log.py | 21 | __all__ = ["info", "warning", "error", "debug"] | CODE |
| LOW | …/usr/lib/python3/dist-packages/openmediavault/monit.py | 21 | __all__ = ['Monit'] | CODE |
| LOW | …sr/lib/python3/dist-packages/openmediavault/systemd.py | 21 | __all__ = ["SystemdException", "Properties", "Job", "Manager", "Unit"] | CODE |
| LOW | …ib/python3/dist-packages/openmediavault/stringutils.py | 21 | __all__ = [ | CODE |
| LOW | …r/lib/python3/dist-packages/openmediavault/__init__.py | 21 | __all__ = ["bool", "getenv", "setenv"] | CODE |
| LOW | …/lib/python3/dist-packages/openmediavault/confdbadm.py | 21 | __all__ = ["ICommand"] | CODE |
| LOW | …/usr/lib/python3/dist-packages/openmediavault/utils.py | 21 | __all__ = ["to_bool"] | CODE |
| LOW | …r/lib/python3/dist-packages/openmediavault/settings.py | 21 | __all__ = ["Environment", "EnvironmentVariable"] | CODE |
| LOW | …/lib/python3/dist-packages/openmediavault/procutils.py | 33 | __all__ = ["Popen", "call", "check_call", "check_output"] | CODE |
| LOW | …lib/python3/dist-packages/openmediavault/exceptions.py | 21 | __all__ = ["AssertException"] | CODE |
| LOW | …r/lib/python3/dist-packages/openmediavault/firstaid.py | 21 | __all__ = ["IModule"] | CODE |
| LOW | …/python3/dist-packages/openmediavault/config/object.py | 21 | __all__ = ["Object"] | CODE |
| LOW | …ython3/dist-packages/openmediavault/config/database.py | 21 | __all__ = [ | CODE |
| LOW | …thon3/dist-packages/openmediavault/config/datamodel.py | 21 | __all__ = ["Datamodel"] | CODE |
| LOW | …ib/python3/dist-packages/openmediavault/json/schema.py | 21 | __all__ = [ | CODE |
| LOW | …n3/dist-packages/openmediavault/datamodel/datamodel.py | 21 | __all__ = ["Datamodel"] | CODE |
| LOW | …thon3/dist-packages/openmediavault/datamodel/schema.py | 21 | __all__ = ["Schema"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ib/python3/dist-packages/openmediavault/stringutils.py | 104 | # Check if it is an UUID v4. | COMMENT |
| LOW | …ib/python3/dist-packages/openmediavault/stringutils.py | 107 | # Check if it is a NTFS, FAT or ISO9660 filesystem identifier. | COMMENT |
| LOW | …ib/python3/dist-packages/openmediavault/json/schema.py | 149 | # Check if the node has the requested key/value pair. | COMMENT |
| LOW | …ib/python3/dist-packages/openmediavault/json/schema.py | 514 | # Check if the 'required' attribute is set. | COMMENT |
| LOW | …python3/dist-packages/openmediavault/device/storage.py | 298 | # Check if a plugin implements the `StorageDevice` class | COMMENT |
| LOW⚡ | …hon3/dist-packages/openmediavault/device/plugins/sd.py | 242 | # Check if the port is hot-plug capable (PORT_CMD_HPCP = BIT(18) = 0x40000). | COMMENT |
| LOW⚡ | …hon3/dist-packages/openmediavault/device/plugins/sd.py | 245 | # Check if the port is an external SATA port (PORT_CMD_ESP = BIT(21) = 0x200000). | COMMENT |
| LOW | …/openmediavault/firstaid/modules.d/70submit_sysinfo.py | 40 | # Check if postfix is running. | COMMENT |
| LOW | deb/openmediavault/srv/salt/_grains/omv.py | 24 | # Check if the system is a RPi device. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …hon3/dist-packages/openmediavault/device/plugins/md.py | 0 | get the slave devices of this device. :return: a list of device files. :rtype: list[str] | STRING |
| HIGH | …hon3/dist-packages/openmediavault/device/plugins/dm.py | 0 | get the slave devices of this device. :return: a list of device files. :rtype: list[str] | STRING |
| HIGH | …/dist-packages/openmediavault/device/plugins/bcache.py | 0 | get the slave devices of this device. :return: a list of device files. :rtype: list[str] | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | …ittests/python/test_openmediavault_datamodel_schema.py | 203 | "/dev/sda && rm -rf /", {"format": "devicefile"}, "field1" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …lt/unittests/python/test_openmediavault_json_schema.py | 128 | schema._check_format("test@test.com", {"format": "email"}, "field2") | CODE |
| LOW | …ault/unittests/php/test_openmediavault_json_schema.php | 345 | $schema->validate("test@test.com"); | CODE |
| LOW | …rkbench/src/app/shared/forms/custom-validators.spec.ts | 34 | emailControl.setValue('foo@bar.com'); | CODE |
| LOW | …rkbench/src/app/shared/forms/custom-validators.spec.ts | 40 | emailControl.setValue('foo@bar.com'); | CODE |
| LOW | …rkbench/src/app/shared/forms/custom-validators.spec.ts | 132 | formControl.setValue('foo@bar.com'); | CODE |
| LOW | …rkbench/src/app/shared/models/datatable-column.type.ts | 135 | | 'placeholder' | CODE |
| LOW | …p/shared/components/datatable/datatable.component.html | 276 | <ng-template [ngSwitchCase]="'placeholder'"> | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ult/usr/share/openmediavault/docs/AUTH_PLUGIN_GUIDE.md | 105 | ### Step 1: Create a Plugin RPC Service | COMMENT |
| LOW | …ult/usr/share/openmediavault/docs/AUTH_PLUGIN_GUIDE.md | 235 | ### Step 2: Create Challenge UI Component | COMMENT |
| LOW | …ult/usr/share/openmediavault/docs/AUTH_PLUGIN_GUIDE.md | 286 | ### Step 3: Register Authentication Route | COMMENT |
| LOW | …ult/usr/share/openmediavault/docs/AUTH_PLUGIN_GUIDE.md | 355 | # Step 1: Login (store the session cookie in a cookie jar). | COMMENT |
| LOW | …ult/usr/share/openmediavault/docs/AUTH_PLUGIN_GUIDE.md | 375 | # Step 2: Complete challenge. The session cookie identifies the pending login. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …hon3/dist-packages/openmediavault/device/plugins/dm.py | 169 | # Because of that we simply use device files that look like | COMMENT |