AI Slop Code RIsk Monitor

duplicati/duplicati

Store securely encrypted backups in the cloud!

10.5 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for duplicati/duplicati, a C# project with 15,079 GitHub stars. SynthScan examined 390,800 lines of code across 2054 source files, recording 3381 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 10.5 (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.

10.5
Adjusted Signal
10.5
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
15.1K
Stars
C#
Language
390.8K
Lines of Code
2.1K
Files
3.4K
Pattern Hits
2026-10-12
Scan Date
0.03
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 34.7/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 3238 finding(s).

Hallucinated Dependency & Supply Chain Risk 7.5/100 · LOW

Are imports declared and package/API names verified? 89 finding(s).

Agent Over-Engineering Ratio 1.9/100 · LOW

Are wrappers, guards, and repeated structures necessary? 63 finding(s).

PR Review Velocity Impact 40.3/100 · MEDIUM

Which changes need focused human review? 3381 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 58HIGH 2MEDIUM 57LOW 3264

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 3381 distinct pattern matches across 15 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.

Over-Commented Block3077 hits · 3047 pts
SeverityFileLineSnippetContext
LOWDuplicati/ShellExtension/ShellNotify.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/ShellExtension/ShellNotify.cs21COMMENT
LOWDuplicati/ShellExtension/FolderBackupStatus.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/ShellExtension/FolderBackupStatus.cs21COMMENT
LOWDuplicati/ShellExtension/FolderBackupStatus.cs41 /// </summary>COMMENT
LOWDuplicati/ShellExtension/DuplicatiClient.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/ShellExtension/DuplicatiClient.cs21COMMENT
LOWDuplicati/ShellExtension/IconOverlayHandler.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/ShellExtension/IconOverlayHandler.cs141 private static readonly Lazy<DuplicatiClient> Client = new(() => new DuplicatiClient());COMMENT
LOWDuplicati/UnitTest/Issue5987.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/LoginAttemptThrottleTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/SourceMaskingTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/TahoeUrlTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/HttpsConfigurationTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/Issue6200.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/Issue6296.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/UriUtilityTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/TestUtils.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/TestUtils.cs41 {COMMENT
LOWDuplicati/UnitTest/DataFolderSecurityTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/JsonWebHelperMultipartTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/ServerDatabaseLockingTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/ServerDatabaseLockingTests.cs121 /// request. It opens a transaction on the shared connection, which is exactly the stateCOMMENT
LOWDuplicati/UnitTest/ReportHelperOperationsTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/Issue2287.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/HCVaultSecretProviderResolveTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/BasicSetupHelper.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/BasicSetupHelper.cs61 /// The log file for manual examinationCOMMENT
LOWDuplicati/UnitTest/HasherTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/RestoreTestHandlerTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/RestoreTestHandlerTests.cs41 /// remote destination into a scratch folder and verified against the backup.COMMENT
LOWDuplicati/UnitTest/Issue6127.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/PreventEmptySourceTest.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/DrimePaginationTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/BackupExclusionAttributeTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/QueryStatisticsTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/Issue5845.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/LockingDeleteAndCompactTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/TimeZoneSettingTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/ConsistencyCheckQueriesTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/DropboxPathTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/DataFolderLocatorTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/Issue1410.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/Issue1723.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/MetadataContentInDatabaseTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/TarZstdCompressionTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/SpecialFileExclusionLogTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/Issue6254.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/Issue6205.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/QueueRunnerServiceShutdownTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/FailedOperationDatabaseTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/SVNCheckoutsTest.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/RestoreAllFilesTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/RestoreAllFilesTests.cs221 // contains both files. Each subsequent (newer) version restores only files whoseCOMMENT
LOWDuplicati/UnitTest/SchedulerTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/Issue4988.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/ArchiveAttributeTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/NativeNotifierTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/AutomaticIndexTests.cs1// Copyright (C) 2026, The Duplicati TeamCOMMENT
LOWDuplicati/UnitTest/AutomaticIndexTests.cs41 // The SQLite log hook is process wide, so another test running at the same time wouldCOMMENT
3017 more matches not shown…
Hallucination Indicators58 hits · 580 pts
SeverityFileLineSnippetContext
CRITICALDuplicati/UnitTest/MetadataContentInDatabaseTests.cs241 var enabled = Library.Main.Operation.Common.SourceProviderFactory.EnableMetadataStorageIfRequiredBySources(CODE
CRITICALDuplicati/UnitTest/MetadataContentInDatabaseTests.cs257 var enabled = Library.Main.Operation.Common.SourceProviderFactory.EnableMetadataStorageIfRequiredBySources(CODE
CRITICALDuplicati/UnitTest/MetadataContentInDatabaseTests.cs270 var enabled = Library.Main.Operation.Common.SourceProviderFactory.EnableMetadataStorageIfRequiredBySources(CODE
CRITICALDuplicati/UnitTest/SecretProviderSetSecretTests.cs374 await cleanupClient.V1.Secrets.KeyValue.V2.DeleteSecretAsync(createdSecretId, mountPoint: mount)CODE
CRITICALDuplicati/UnitTest/SecretProviderSetSecretTests.cs640 await cleanupClient.V1.Secrets.KeyValue.V2.WriteSecretAsync(CODE
CRITICALDuplicati/UnitTest/SecretProviderSetSecretTests.cs693 await cleanupClient.V1.Secrets.KeyValue.V2.DeleteSecretAsync(createdSecretId, mountPoint: mount)CODE
CRITICALDuplicati/UnitTest/DatabaseToolTests.cs1040 var key = Duplicati.Library.Encryption.EncryptedFieldHelper.KeyInstance.CreateKey("a good and long passwCODE
CRITICALDuplicati/UnitTest/DatabaseToolTests.cs1167 var key = Duplicati.Library.Encryption.EncryptedFieldHelper.KeyInstance.CreateKey("a good and long passwCODE
CRITICALDuplicati/UnitTest/DatabaseToolTests.cs1221 var fullDataFolder = Duplicati.Library.Common.IO.Util.AppendDirSeparator(Path.GetFullPath(tempDir));CODE
CRITICALDuplicati/UnitTest/ToolTests.cs898 => Library.Main.Operation.RemoteSynchronization.RemoteSynchronizationRunner.RunAsync(config, CancellationTokCODE
CRITICALDuplicati/UnitTest/BorderTests.cs160 using var _ = Duplicati.Library.Snapshots.Windows.WindowsShimLoader.NewSeBackupPrivilegeScope();CODE
CRITICALDuplicati/UnitTest/ServerApiIntegrationTests.cs96 Assert.That(importedBackupId, Is.Not.Empty.And.Not.EqualTo(backupId), "Import should register a distinctCODE
CRITICALDuplicati/UnitTest/ServerApiIntegrationTests.cs746 Assert.That(log, Is.Not.Null.And.Count.EqualTo(1), "A sync run should write one result entry to the log");CODE
CRITICALDuplicati/UnitTest/RecoveryToolTests.cs348 using (var db = await Library.Main.Database.Local.LocalDatabase.CreateLocalDatabaseAsync(options["dbpath"], CODE
CRITICALDuplicati/UnitTest/DirectListHandlerTests.cs363 Assert.That(extended.ParentMetadata.Keys, Is.EquivalentTo(new[] { Duplicati.Library.Common.IO.Util.AppenCODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs1624 using (var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath))CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs1636 using (var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath))CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs1654 using var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath);CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs1689 using var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath);CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs1709 using var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath);CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs1743 using var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath);CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs1784 using var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath);CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs1808 using var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath);CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs1873 using var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath);CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs1902 using var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath);CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs1935 using var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath);CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs1975 using var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath);CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs2011 using (var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath))CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs2033 using (var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath))CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs2051 using (new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath)) { }CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs2061 using (var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(m_dbPath))CODE
CRITICALDuplicati/UnitTest/SyncHandlerTests.cs2206 using var db = new Duplicati.Library.Main.Database.Sync.LocalSyncDatabase(syncDbPath);CODE
CRITICALDuplicati/UnitTest/IssueTests.cs1037 var originalFlags = Duplicati.Library.Common.IO.PosixFile.GetFileFlags(sourceFile, false, true);CODE
CRITICALDuplicati/UnitTest/IssueTests.cs1041 var originalAcl = Duplicati.Library.Common.IO.PosixFile.GetAcl(sourceFile, false, true);CODE
CRITICALDuplicati/UnitTest/IssueTests.cs1063 var restoredFlags = Duplicati.Library.Common.IO.PosixFile.GetFileFlags(restoredFile, false, true);CODE
CRITICALDuplicati/UnitTest/IssueTests.cs1068 var restoredAcl = Duplicati.Library.Common.IO.PosixFile.GetAcl(restoredFile, false, true);CODE
CRITICALDuplicati/UnitTest/RemoteSynchronizationHandlerTests.cs1523 Assert.AreEqual(0, await Duplicati.Library.Main.Operation.RemoteSynchronization.RemoteSynchronizationRunner.CODE
CRITICALDuplicati/Server/WebServerLoader.cs296 if (!string.IsNullOrWhiteSpace(userroot) && userroot.StartsWith(Duplicati.Library.Common.IO.Util.AppendDirSeCODE
CRITICALDuplicati/Server/Program.cs1037 commandlineOptions[LOG_LEVEL_OPTION] = Duplicati.Library.Logging.LogMessageType.Profiling.ToString();CODE
CRITICALDuplicati/Server/webroot/signin/jquery-2.0.3.min.js5};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.CODE
CRITICAL…cati/Server/webroot/ngax/scripts/libs/jquery-ui.min.js6(function(e,t){function i(t,i){var s,n,r,o=t.nodeName.toLowerCase();return"area"===o?(s=t.parentNode,n=s.name,t.href&&n&CODE
CRITICAL…plicati/Server/webroot/ngax/scripts/libs/jquery.min.js4void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(CODE
CRITICALDuplicati/Server/webroot/login/jquery-2.0.3.min.js5};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.CODE
CRITICAL…licati/Library/SecretProvider/HCVaultSecretProvider.cs212 await client.V1.Secrets.KeyValue.V2.ReadSecretAsync(path: secrets.First(), mountPoint: cfg.MountPoint).ConfigureCODE
CRITICAL…licati/Library/SecretProvider/HCVaultSecretProvider.cs234 var data = await _client.V1.Secrets.KeyValue.V2.ReadSecretAsync(secret, mountPoint: _mountPoint).ConfiguCODE
CRITICAL…licati/Library/SecretProvider/HCVaultSecretProvider.cs264 var response = await _client.V1.Secrets.KeyValue.V2.ReadSecretAsync(key, mountPoint: _mountPoint).ConfigCODE
CRITICAL…licati/Library/SecretProvider/HCVaultSecretProvider.cs314 await _client.V1.Secrets.KeyValue.V2.ReadSecretMetadataAsync(key, _mountPoint).ConfigureAwait(false);CODE
CRITICAL…licati/Library/SecretProvider/HCVaultSecretProvider.cs329 await _client.V1.Secrets.KeyValue.V2.WriteSecretAsync(key, payload, null, _mountPoint).ConfigureAwait(false);CODE
CRITICALDuplicati/Library/RestAPI/Runner.cs1624 Library.Main.Operation.Common.SourceProviderFactory.EnableMetadataStorageIfRequiredBySources(sources, optionCODE
CRITICAL…plicati/Library/RestAPI/Serializable/ServerSettings.cs47 this.IsDeprecated = Duplicati.Library.Backends.BackendModules.DeprecatedBackendModules.Contains(backend.CODE
CRITICAL…plicati/Library/RestAPI/Serializable/ServerSettings.cs48 this.IsUntested = Duplicati.Library.Backends.BackendModules.UntestedBackendModules.Contains(backend.ProtCODE
CRITICALDuplicati/Library/Main/ResultClasses.cs402 m_taskController = new Duplicati.Library.Main.Operation.Common.TaskControl();CODE
CRITICAL…Library/Main/Operation/RemoteSynchronizationHandler.cs410 var lastSyncTime = Duplicati.Library.Utility.Utility.EPOCH.AddSeconds((long)lastSync);CODE
CRITICAL…Library/Main/Operation/Common/SourceProviderFactory.cs244 var normalizedMountpoint = Duplicati.Library.Common.IO.Util.AppendDirSeparator(mountpoinCODE
CRITICALDuplicati/CommandLine/CLI/Commands.cs786 if ((new Duplicati.Library.Main.Options(options)).DisableOnBattery && (Duplicati.Library.Utility.PowCODE
CRITICALDuplicati/CommandLine/RecoveryTool/Download.cs76 var p = Duplicati.Library.Main.Volumes.VolumeBase.ParseFilename(file);CODE
CRITICALDuplicati/CommandLine/RecoveryTool/FileIndex.cs81 var p = Duplicati.Library.Main.Volumes.VolumeBase.ParseFilename(Path.GetFileName(file));CODE
CRITICAL…ogleWorkspace/RestoreProvider/RestoreProvider.Drive.cs194 var uploadRequest = driveService.Files.Update(new Google.Apis.Drive.v3.Data.File(), fileId, contentStream, mCODE
Decorative Section Separators48 hits · 129 pts
SeverityFileLineSnippetContext
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt31# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt40# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt50# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt285# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt295# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt304# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt401# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt409# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt416# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt423# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt532# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt542# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt552# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt562# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt572# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt582# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt592# =============================================================================COMMENT
MEDIUM⚡Duplicati/CommandLine/CLI/help.txt601# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt9# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt73# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt101# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt122# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt141# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt152# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt168# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt183# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt206# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt230# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt252# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt269# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt323# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt341# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt359# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt443# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt458# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt473# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt491# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt508# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt517# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt615# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt627# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt636# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt658# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt666# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt718# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt727# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt742# =============================================================================COMMENT
MEDIUMDuplicati/CommandLine/CLI/help.txt774# =============================================================================COMMENT
Verbosity Indicators59 hits · 113 pts
SeverityFileLineSnippetContext
LOW⚡Duplicati/UnitTest/Issue4988.cs54 // Step 1: Create an empty folderCOMMENT
LOW⚡Duplicati/UnitTest/Issue4988.cs58 // Step 2: Backup empty folderCOMMENT
LOW⚡Duplicati/UnitTest/Issue4988.cs63 // Step 3: Find the dblock createdCOMMENT
LOW⚡Duplicati/UnitTest/Issue4988.cs69 // Step 4: Modify the dblock zip archive to simulate corruptionCOMMENT
LOWDuplicati/UnitTest/Issue4988.cs123 // Step 9: List broken filesCOMMENT
LOWDuplicati/UnitTest/Issue4951.cs44 // Step 1: Create a directory and a fileCOMMENT
LOW⚡Duplicati/UnitTest/Issue4951.cs56 // Step 2: Initial backupCOMMENT
LOW⚡Duplicati/UnitTest/Issue4951.cs65 // Step 3: Rename file by changing caseCOMMENT
LOW⚡Duplicati/UnitTest/Issue4951.cs69 // Step 4: Backup againCOMMENT
LOWDuplicati/UnitTest/Issue6552.cs26 // Step 1: Create file A.txt and backupCOMMENT
LOW⚡Duplicati/UnitTest/Issue6552.cs45 // Step 2: Delete A.txt, create B.txt and backupCOMMENT
LOW⚡Duplicati/UnitTest/Issue6552.cs55 // Step 3: Delete the dblock file that the saved dindex referencesCOMMENT
LOWDuplicati/UnitTest/Issue6552.cs76 // Step 4: Recreate the databaseCOMMENT
LOWDuplicati/UnitTest/Issue6552.cs91 // Step 5: Check for invalid DeletedBlock referencesCOMMENT
LOW⚡…licati/UnitTest/CompactBlockVolumeIdConstraintTests.cs122 // Step 1: Backup with both filesCOMMENT
LOW⚡…licati/UnitTest/CompactBlockVolumeIdConstraintTests.cs126 // Step 2: Remove large file and backup (deletes old version, moves large blocks to DeletedBlock)COMMENT
LOW⚡…licati/UnitTest/CompactBlockVolumeIdConstraintTests.cs134 // Step 3: Add large file back and backup (moves large blocks back to Block)COMMENT
LOW…licati/UnitTest/CompactBlockVolumeIdConstraintTests.cs159 // Step 4: Compact - this triggers the bug in the unfixed codebase.COMMENT
LOWDuplicati/UnitTest/Issue6553.cs27 // Step 1: Create file A and backup (Backup 1)COMMENT
LOWDuplicati/UnitTest/Issue6553.cs42 // Step 2: Delete DB and Backup A again (Backup 2)COMMENT
LOW⚡Duplicati/UnitTest/Issue6553.cs55 // Step 3: Prepare for RecreateCOMMENT
LOW⚡Duplicati/UnitTest/Issue6553.cs62 // Step 4: Recreate the databaseCOMMENT
LOW⚡Duplicati/UnitTest/Issue6553.cs75 // Step 5: Verify that we have at least one version (Backup 2)COMMENT
LOW⚡Duplicati/UnitTest/Issue6553.cs84 // Step 6: Check for DeletedBlock entries pointing to Temporary volumesCOMMENT
LOW⚡…ati/UnitTest/SharedMetadataRemoveRemoteVolumesTests.cs95 // Step 1: Run a successful backup — this creates Fileset 0COMMENT
LOW⚡…ati/UnitTest/SharedMetadataRemoveRemoteVolumesTests.cs102 // Step 2: Add a new file with IDENTICAL metadata (same size, same timestamps)COMMENT
LOW…ati/UnitTest/SharedMetadataRemoveRemoteVolumesTests.cs180 // Step 3: Run a new backup. The PreBackupVerify step will:COMMENT
LOW⚡…ati/UnitTest/SharedMetadataRemoveRemoteVolumesTests.cs195 // Step 4: Verify the database is consistentCOMMENT
LOW⚡…ati/UnitTest/SharedMetadataRemoveRemoteVolumesTests.cs199 // Step 5: Verify we have the expected number of filesetsCOMMENT
LOW⚡Duplicati/UnitTest/Issue6688.cs76 // Step 2: Delete the local database to force recreateCOMMENT
LOW⚡Duplicati/UnitTest/Issue6688.cs79 // Step 3: Delete the dblock file (simulate corruption/missing file)COMMENT
LOW⚡Duplicati/UnitTest/Issue6688.cs86 // Step 4: Recreate the databaseCOMMENT
LOW⚡Duplicati/UnitTest/Issue6688.cs148 // Step 2: Modify file and backup again (Version 2)COMMENT
LOW⚡Duplicati/UnitTest/Issue6688.cs157 // Step 3: Delete the database and prepare for recreateCOMMENT
LOWDuplicati/UnitTest/Issue6688.cs57 // Step 1: Create a file with enough content to create blocks and perform initial backupCOMMENT
LOWDuplicati/UnitTest/Issue6688.cs103 // Step 5: Verify the database does not contain invalid referencesCOMMENT
LOWDuplicati/UnitTest/Issue6688.cs127 // Step 1: Create file A and backup (Version 1)COMMENT
LOWDuplicati/UnitTest/Issue6688.cs171 // Step 4: Recreate the databaseCOMMENT
LOWDuplicati/UnitTest/Issue6688.cs185 // Step 5: Verify the database does not contain invalid referencesCOMMENT
LOW⚡Duplicati/UnitTest/Issue6529.cs52 // Step 1: Do initial backup without --changed-filesCOMMENT
LOW⚡Duplicati/UnitTest/Issue6529.cs60 // Step 2: Modify one fileCOMMENT
LOW⚡Duplicati/UnitTest/Issue6529.cs63 // Step 3: Do backup with --changed-files pointing only to the modified fileCOMMENT
LOW⚡Duplicati/UnitTest/Issue6529.cs108 // Step 1: Do initial backupCOMMENT
LOW⚡Duplicati/UnitTest/Issue6529.cs115 // Step 2: Delete one fileCOMMENT
LOW⚡Duplicati/UnitTest/Issue6529.cs118 // Step 3: Do backup with --changed-files and --deleted-filesCOMMENT
LOWDuplicati/UnitTest/Issue6529.cs76 // Step 4: Do another backup (this should NOT fail with fileset mismatch)COMMENT
LOWDuplicati/UnitTest/Issue6529.cs87 // Step 5: Verify data integrity by doing a testCOMMENT
LOWDuplicati/UnitTest/Issue6529.cs131 // Step 4: Do another backup (this should NOT fail)COMMENT
LOWDuplicati/UnitTest/Issue6529.cs151 // Step 1: Initial backupCOMMENT
LOWDuplicati/UnitTest/Issue6529.cs176 // Step 5: Final backup without --changed-filesCOMMENT
LOW⚡Duplicati/UnitTest/DuplicatePathTests.cs207 // Step 1: Do initial backupCOMMENT
LOW⚡Duplicati/UnitTest/DuplicatePathTests.cs214 // Step 2: Modify one fileCOMMENT
LOW⚡Duplicati/UnitTest/DuplicatePathTests.cs217 // Step 3: Do backup with --changed-filesCOMMENT
LOWDuplicati/UnitTest/DuplicatePathTests.cs229 // Step 4: Verify no duplicates in databaseCOMMENT
LOWDuplicati/Library/Backend/DrimeCloud/DrimeBackend.cs1142 // Step 1: Create multipart uploadCOMMENT
LOWDuplicati/Library/Backend/DrimeCloud/DrimeBackend.cs1171 // Step 2: Calculate parts and sign URLsCOMMENT
LOWDuplicati/Library/Backend/DrimeCloud/DrimeBackend.cs1195 // Step 3: Upload each partCOMMENT
LOWDuplicati/Library/Backend/DrimeCloud/DrimeBackend.cs1241 // Step 4: Complete multipart uploadCOMMENT
LOWDuplicati/Library/Backend/DrimeCloud/DrimeBackend.cs1260 // Step 5: Register the file entryCOMMENT
Structural Annotation Overuse59 hits · 113 pts
SeverityFileLineSnippetContext
LOW⚡Duplicati/UnitTest/Issue4988.cs54 // Step 1: Create an empty folderCOMMENT
LOW⚡Duplicati/UnitTest/Issue4988.cs58 // Step 2: Backup empty folderCOMMENT
LOW⚡Duplicati/UnitTest/Issue4988.cs63 // Step 3: Find the dblock createdCOMMENT
LOW⚡Duplicati/UnitTest/Issue4988.cs69 // Step 4: Modify the dblock zip archive to simulate corruptionCOMMENT
LOWDuplicati/UnitTest/Issue4988.cs123 // Step 9: List broken filesCOMMENT
LOWDuplicati/UnitTest/Issue4951.cs44 // Step 1: Create a directory and a fileCOMMENT
LOW⚡Duplicati/UnitTest/Issue4951.cs56 // Step 2: Initial backupCOMMENT
LOW⚡Duplicati/UnitTest/Issue4951.cs65 // Step 3: Rename file by changing caseCOMMENT
LOW⚡Duplicati/UnitTest/Issue4951.cs69 // Step 4: Backup againCOMMENT
LOWDuplicati/UnitTest/Issue6552.cs26 // Step 1: Create file A.txt and backupCOMMENT
LOW⚡Duplicati/UnitTest/Issue6552.cs45 // Step 2: Delete A.txt, create B.txt and backupCOMMENT
LOW⚡Duplicati/UnitTest/Issue6552.cs55 // Step 3: Delete the dblock file that the saved dindex referencesCOMMENT
LOWDuplicati/UnitTest/Issue6552.cs76 // Step 4: Recreate the databaseCOMMENT
LOWDuplicati/UnitTest/Issue6552.cs91 // Step 5: Check for invalid DeletedBlock referencesCOMMENT
LOW⚡…licati/UnitTest/CompactBlockVolumeIdConstraintTests.cs122 // Step 1: Backup with both filesCOMMENT
LOW⚡…licati/UnitTest/CompactBlockVolumeIdConstraintTests.cs126 // Step 2: Remove large file and backup (deletes old version, moves large blocks to DeletedBlock)COMMENT
LOW⚡…licati/UnitTest/CompactBlockVolumeIdConstraintTests.cs134 // Step 3: Add large file back and backup (moves large blocks back to Block)COMMENT
LOW…licati/UnitTest/CompactBlockVolumeIdConstraintTests.cs159 // Step 4: Compact - this triggers the bug in the unfixed codebase.COMMENT
LOWDuplicati/UnitTest/Issue6553.cs27 // Step 1: Create file A and backup (Backup 1)COMMENT
LOWDuplicati/UnitTest/Issue6553.cs42 // Step 2: Delete DB and Backup A again (Backup 2)COMMENT
LOW⚡Duplicati/UnitTest/Issue6553.cs55 // Step 3: Prepare for RecreateCOMMENT
LOW⚡Duplicati/UnitTest/Issue6553.cs62 // Step 4: Recreate the databaseCOMMENT
LOW⚡Duplicati/UnitTest/Issue6553.cs75 // Step 5: Verify that we have at least one version (Backup 2)COMMENT
LOW⚡Duplicati/UnitTest/Issue6553.cs84 // Step 6: Check for DeletedBlock entries pointing to Temporary volumesCOMMENT
LOW⚡…ati/UnitTest/SharedMetadataRemoveRemoteVolumesTests.cs95 // Step 1: Run a successful backup — this creates Fileset 0COMMENT
LOW⚡…ati/UnitTest/SharedMetadataRemoveRemoteVolumesTests.cs102 // Step 2: Add a new file with IDENTICAL metadata (same size, same timestamps)COMMENT
LOW…ati/UnitTest/SharedMetadataRemoveRemoteVolumesTests.cs180 // Step 3: Run a new backup. The PreBackupVerify step will:COMMENT
LOW⚡…ati/UnitTest/SharedMetadataRemoveRemoteVolumesTests.cs195 // Step 4: Verify the database is consistentCOMMENT
LOW⚡…ati/UnitTest/SharedMetadataRemoveRemoteVolumesTests.cs199 // Step 5: Verify we have the expected number of filesetsCOMMENT
LOW⚡Duplicati/UnitTest/Issue6688.cs76 // Step 2: Delete the local database to force recreateCOMMENT
LOW⚡Duplicati/UnitTest/Issue6688.cs79 // Step 3: Delete the dblock file (simulate corruption/missing file)COMMENT
LOW⚡Duplicati/UnitTest/Issue6688.cs86 // Step 4: Recreate the databaseCOMMENT
LOW⚡Duplicati/UnitTest/Issue6688.cs148 // Step 2: Modify file and backup again (Version 2)COMMENT
LOW⚡Duplicati/UnitTest/Issue6688.cs157 // Step 3: Delete the database and prepare for recreateCOMMENT
LOWDuplicati/UnitTest/Issue6688.cs57 // Step 1: Create a file with enough content to create blocks and perform initial backupCOMMENT
LOWDuplicati/UnitTest/Issue6688.cs103 // Step 5: Verify the database does not contain invalid referencesCOMMENT
LOWDuplicati/UnitTest/Issue6688.cs127 // Step 1: Create file A and backup (Version 1)COMMENT
LOWDuplicati/UnitTest/Issue6688.cs171 // Step 4: Recreate the databaseCOMMENT
LOWDuplicati/UnitTest/Issue6688.cs185 // Step 5: Verify the database does not contain invalid referencesCOMMENT
LOW⚡Duplicati/UnitTest/Issue6529.cs52 // Step 1: Do initial backup without --changed-filesCOMMENT
LOW⚡Duplicati/UnitTest/Issue6529.cs60 // Step 2: Modify one fileCOMMENT
LOW⚡Duplicati/UnitTest/Issue6529.cs63 // Step 3: Do backup with --changed-files pointing only to the modified fileCOMMENT
LOW⚡Duplicati/UnitTest/Issue6529.cs108 // Step 1: Do initial backupCOMMENT
LOW⚡Duplicati/UnitTest/Issue6529.cs115 // Step 2: Delete one fileCOMMENT
LOW⚡Duplicati/UnitTest/Issue6529.cs118 // Step 3: Do backup with --changed-files and --deleted-filesCOMMENT
LOWDuplicati/UnitTest/Issue6529.cs76 // Step 4: Do another backup (this should NOT fail with fileset mismatch)COMMENT
LOWDuplicati/UnitTest/Issue6529.cs87 // Step 5: Verify data integrity by doing a testCOMMENT
LOWDuplicati/UnitTest/Issue6529.cs131 // Step 4: Do another backup (this should NOT fail)COMMENT
LOWDuplicati/UnitTest/Issue6529.cs151 // Step 1: Initial backupCOMMENT
LOWDuplicati/UnitTest/Issue6529.cs176 // Step 5: Final backup without --changed-filesCOMMENT
LOW⚡Duplicati/UnitTest/DuplicatePathTests.cs207 // Step 1: Do initial backupCOMMENT
LOW⚡Duplicati/UnitTest/DuplicatePathTests.cs214 // Step 2: Modify one fileCOMMENT
LOW⚡Duplicati/UnitTest/DuplicatePathTests.cs217 // Step 3: Do backup with --changed-filesCOMMENT
LOWDuplicati/UnitTest/DuplicatePathTests.cs229 // Step 4: Verify no duplicates in databaseCOMMENT
LOWDuplicati/Library/Backend/DrimeCloud/DrimeBackend.cs1142 // Step 1: Create multipart uploadCOMMENT
LOWDuplicati/Library/Backend/DrimeCloud/DrimeBackend.cs1171 // Step 2: Calculate parts and sign URLsCOMMENT
LOWDuplicati/Library/Backend/DrimeCloud/DrimeBackend.cs1195 // Step 3: Upload each partCOMMENT
LOWDuplicati/Library/Backend/DrimeCloud/DrimeBackend.cs1241 // Step 4: Complete multipart uploadCOMMENT
LOWDuplicati/Library/Backend/DrimeCloud/DrimeBackend.cs1260 // Step 5: Register the file entryCOMMENT
Fake / Example Data22 hits · 22 pts
SeverityFileLineSnippetContext
LOWDuplicati/UnitTest/RunScriptTests.cs585 Assert.IsTrue(full.Contains("John Doe"), "The full result file was expected to name the source files");CODE
LOWDuplicati/UnitTest/RunScriptTests.cs591 foreach (var secret in new[] { "John Doe", DATAFOLDER, TARGETFOLDER, RESTOREFOLDER, Path.GetFileName(DATAFOLCODE
LOWDuplicati/UnitTest/ReducedReportFormatTests.cs63 Assert.That(line, Does.Not.Contain("John Doe"));CODE
LOWDuplicati/UnitTest/ReducedReportFormatTests.cs143 Assert.That(value, Does.Not.Contain("John Doe"));CODE
LOWDuplicati/UnitTest/ReducedReportFormatTests.cs181 Assert.That(line + text, Does.Not.Contain("John Doe"));CODE
LOWDuplicati/UnitTest/ReducedReportFormatTests.cs222 Assert.That(text, Does.Not.Contain("John Doe"));CODE
LOWDuplicati/UnitTest/ReducedReportFormatTests.cs284 Assert.That(json, Does.Not.Contain("John Doe"));CODE
LOWDuplicati/UnitTest/ReducedReportFormatTests.cs299 Assert.That(body, Does.Not.Contain("John Doe"), format.ToString());CODE
LOWDuplicati/UnitTest/FilenDownloadStatusTests.cs103 => FilenClient.CreateClientAsync(new HttpClient(handler), "user@example.com", "password", null, "test-api-key", CODE
LOWDuplicati/UnitTest/ReducedReportModuleTests.cs109 Assert.That(body, Does.Not.Contain("John Doe"));CODE
LOWDuplicati/UnitTest/ReducedReportModuleTests.cs143 Assert.That(subject, Does.Not.Contain("John Doe"));CODE
LOWDuplicati/UnitTest/ReducedReportModuleTests.cs145 Assert.That(body, Does.Not.Contain("John Doe"));CODE
LOWDuplicati/UnitTest/ReducedReportModuleTests.cs238 Assert.That(serialized, Does.Not.Contain("John Doe"));CODE
LOWDuplicati/UnitTest/ReducedReportModuleTests.cs258 Assert.That(serialized, Does.Not.Contain("John Doe"));CODE
LOWDuplicati/UnitTest/ReducedReportModuleTests.cs283 Assert.That(JsonSerializer.Serialize(module.Reports), Does.Not.Contain("John Doe"));CODE
LOWDuplicati/UnitTest/ReducedReportModuleTests.cs324 Assert.That(string.Join("\n", env.Values), Does.Not.Contain("John Doe").And.Not.Contain("hunter2").And.Not.CCODE
LOWDuplicati/UnitTest/ReducedReportModuleTests.cs356 Assert.That(JsonSerializer.Serialize(module.Reports), Does.Not.Contain("John Doe"));CODE
LOWDuplicati/UnitTest/ReducedReportModuleTests.cs389 Assert.That(description, Does.Not.Contain("John Doe"));CODE
LOWDuplicati/UnitTest/ReducedReportModuleTests.cs414 Assert.That(description, Does.Not.Contain("John Doe"));CODE
LOW…/Server/webroot/ngax/scripts/services/DialogService.js88 'placeholder': placeholder,CODE
LOWDuplicati/Library/Modules/Builtin/Strings.cs179 public static string InvalidRecipient(string recipient) => LC.L(@"The recipient ""{0}"" is not a valid email addCODE
LOWDuplicati/Library/Modules/Builtin/run-script-example.sh199 EMAIL="admin@example.com"CODE
Deep Nesting20 hits · 20 pts
SeverityFileLineSnippetContext
LOWDuplicati/ShellExtension/Icons/make-icons.py41CODE
LOWTools/Commandline/generate-dlist-files.py319CODE
LOWTools/Commandline/generate-dlist-files.py260CODE
LOWTools/Commandline/RestoreFromPython/ijson.py63CODE
LOWTools/Commandline/RestoreFromPython/ijson.py86CODE
LOWTools/Commandline/RestoreFromPython/ijson.py120CODE
LOWTools/Commandline/RestoreFromPython/ijson.py168CODE
LOWTools/Commandline/RestoreFromPython/ijson.py199CODE
LOWTools/Commandline/RestoreFromPython/ijson.py225CODE
LOWTools/Commandline/RestoreFromPython/ijson.py243CODE
LOWTools/Commandline/RestoreFromPython/ijson.py45CODE
LOW…s/Commandline/RestoreFromPython/restore_from_python.py30CODE
LOW…s/Commandline/RestoreFromPython/restore_from_python.py108CODE
LOW…s/Commandline/RestoreFromPython/restore_from_python.py205CODE
LOW…s/Commandline/RestoreFromPython/restore_from_python.py213CODE
LOW…s/Commandline/RestoreFromPython/restore_from_python.py271CODE
LOW…s/Commandline/RestoreFromPython/restore_from_python.py366CODE
LOWTools/Commandline/RestoreFromPython/pyaescrypt.py19CODE
LOWTools/Commandline/ReEncrypt/ReEncrypt.py53CODE
LOWTools/Commandline/ReEncrypt/ReEncrypt.py138CODE
Redundant / Tautological Comments7 hits · 10 pts
SeverityFileLineSnippetContext
LOW…Library/Snapshots/apfs-scripts/remove-apfs-snapshot.sh27 # Check if NAME looks like an APFS snapshot (com.apple.TimeMachine...)COMMENT
LOWDuplicati/Library/Snapshots/apfs-scripts/find-volume.sh20# Check if it is an APFS volumeCOMMENT
LOWReleaseBuilder/Resources/MacOS/Agent/uninstall.sh12 # Check if the LaunchAgent is loaded for the userCOMMENT
LOWReleaseBuilder/Resources/MacOS/CLI/uninstall.sh12 # Check if the LaunchAgent is loaded for the userCOMMENT
LOWReleaseBuilder/Resources/MacOS/AppBundle/uninstall.sh12 # Check if the LaunchAgent is loaded for the userCOMMENT
LOWReleaseBuilder/Resources/debian/init-script-example.sh28 # Check if a given process pid's cmdline matches a given nameCOMMENT
LOWReleaseBuilder/Resources/debian/init-script-example.sh41# Check if the process is running looking at /procCOMMENT
Self-Referential Comments4 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUM…i/Library/Snapshots/lvm-scripts/create-lvm-snapshot.sh75# Create the logical volume snapsnotCOMMENT
MEDIUM…i/Library/Snapshots/lvm-scripts/create-lvm-snapshot.sh106# Create a mount pointCOMMENT
MEDIUMTools/Commandline/generate-dlist-files.py424 # Create the zip fileSTRING
MEDIUM…uilder/Resources/fedora/duplicati-install-recursive.sh3# This file is a workaround to install a directory recursively,COMMENT
Empty Error Handlers2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHTools/Commandline/RestoreFromPython/ijson.py101except StopIteration:CODE
HIGHTools/Commandline/RestoreFromPython/ijson.py273except StopIteration:CODE
Hyper-Verbose Identifiers9 hits · 9 pts
SeverityFileLineSnippetContext
LOW…ot/ngax/scripts/controllers/RestoreDirectController.js83 function checkForValidBackupDestination(continuation) {CODE
LOW…broot/ngax/scripts/controllers/EditBackupController.js27 function computePassPhraseStrength() {CODE
LOW…broot/ngax/scripts/controllers/EditBackupController.js273 function resetAllRetentionOptionsExcept(optionToKeep) {CODE
LOW…broot/ngax/scripts/controllers/EditBackupController.js363 function checkForGeneratedPassphrase(continuation) {CODE
LOW…broot/ngax/scripts/controllers/EditBackupController.js379 function checkForChangedPassphrase(continuation) {CODE
LOW…broot/ngax/scripts/controllers/EditBackupController.js420 function checkForValidBackupDestination(continuation) {CODE
LOW…broot/ngax/scripts/controllers/EditBackupController.js433 function checkForDisabledEncryption(continuation) {CODE
LOWDuplicati/Library/Modules/Builtin/RunScript.cs574 private class ConsoleDataHandlerCODE
LOWTools/Verification/DuplicatiVerify.py159 def convert_bytes_to_readable(size):CODE
Unused Imports9 hits · 9 pts
SeverityFileLineSnippetContext
LOWTools/Commandline/generate-dlist-files.py22CODE
LOWTools/Commandline/RestoreFromPython/ijson.py27CODE
LOWTools/Commandline/ReEncrypt/ReEncrypt.py22CODE
LOWTools/Commandline/ReEncrypt/ReEncrypt.py29CODE
LOWTools/Commandline/ReEncrypt/ReEncrypt.py29CODE
LOWTools/Commandline/ReEncrypt/ReEncrypt.py29CODE
LOWTools/Verification/DuplicatiVerify.py12CODE
LOWTools/Verification/DuplicatiVerify.py13CODE
LOWTools/Verification/DuplicatiVerify.py15CODE
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM…n/RemoteSynchronization/RemoteSynchronizationRunner.cs443 // TODO low memory mode, where things aren't kept in memory. Maybe utilize SQLite?COMMENT
MEDIUM…ti/WebserverCore/Middlewares/SynologyAuthMiddleware.cs358 // 1) Prefer group-name membership (more robust).COMMENT
Excessive Try-Catch Wrapping4 hits · 5 pts
SeverityFileLineSnippetContext
MEDIUMTools/Commandline/pause-resume.py63 print("Something went wrong -- %d %s" % (r.status_code, r.reason))CODE
MEDIUMTools/Commandline/generate-dlist-files.py491 print(f"Error: Database file not found: {args.database}", file=sys.stderr)STRING
MEDIUMTools/Commandline/generate-dlist-files.py527 print(f"Error: Fileset ID {args.fileset_id} not found", file=sys.stderr)STRING
LOW…s/Commandline/RestoreFromPython/restore_from_python.py94 except Exception as e:CODE
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
LOWDuplicati/Library/Backend/OneDrive/SharePointV2.cs102 // Make sure to replace any "//" in the original path with "/", so the substrings line up.COMMENT