{"id":14109541,"url":"https://github.com/nextcloud/ransomware_protection","last_synced_at":"2025-04-06T15:12:38.632Z","repository":{"id":23724294,"uuid":"98541650","full_name":"nextcloud/ransomware_protection","owner":"nextcloud","description":"An app that prevents uploading files that have names that are linked to known ransomware","archived":false,"fork":false,"pushed_at":"2025-03-02T02:59:32.000Z","size":1242,"stargazers_count":63,"open_issues_count":16,"forks_count":25,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-30T13:09:26.236Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://apps.nextcloud.com/apps/ransomware_protection","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nextcloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/contributing.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-27T13:52:59.000Z","updated_at":"2025-02-26T01:36:32.000Z","dependencies_parsed_at":"2024-03-24T03:25:36.357Z","dependency_job_id":"5ea35ccb-8252-4993-8f34-15aaf64f6eb3","html_url":"https://github.com/nextcloud/ransomware_protection","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fransomware_protection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fransomware_protection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fransomware_protection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fransomware_protection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nextcloud","download_url":"https://codeload.github.com/nextcloud/ransomware_protection/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247500469,"owners_count":20948880,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-14T10:02:22.394Z","updated_at":"2025-04-06T15:12:38.612Z","avatar_url":"https://github.com/nextcloud.png","language":"PHP","readme":"### **🛠️ State of maintenance**\n\nWhile there are many things that could be done to further improve this app, this app is currently not maintained. This means:\n\n- We assess the main functionality as done\n- We are not updating this app for future releases\n- We are welcoming anyone who would like to take over this app, reach out in this issue: https://github.com/nextcloud/ransomware_protection/issues/144\n\nWe would be more than excited, if you would like to collaborate with us. We would love to welcome co-maintainers.\n\nIf there is a strong business case for any development of this app, we will consider your wishes for our roadmap. Please [contact your account manager](https://nextcloud.com/enterprise/) to talk about the possibilities.\n\n---\n\n# Ransomware protection app\n\nThis app prevents the Nextcloud Sync clients from uploading files with known ransomware file endings.\n\n⚠️ This app does not replace regular backups. Especially since it only prevents infected clients from uploading and overwriting files on your Nextcloud server. It does not help in case your server is infected directly by a ransomware.\n\n⚠️ Neither the developer nor Nextcloud GmbH give any guarantee that your files can not be affected by another way.\n\n## How the app works\n\nWhen a known sync client is uploading a file with a file name matching the pattern of a ransomware (see [this list of patterns](resources/extensions.txt)), uploading of the file is blocked.\n\nThe user receives a notification with 2 options:\n\n\u003e #### File “foobar.txt” could not be uploaded!\n\u003e\n\u003e The file “foobar.txt” you tried to upload matches the naming pattern of a ransomware/virus “\\*.txt”.\n\u003e If you are sure that your device is not affected, you can temporarily disable the protection.\n\u003e Otherwise you can request help from your admin, so they reach out to you.\n\u003e\n\u003e [ Pause protection ]  [ I need help! ]\n\nIf you want to exclude the problematic pattern, you can copy it from this notification and ask your admin to add it to the exclude list. **Hint:** You can find the apps admin settings in the security tab of your Nextcloud instance. Admins can also see the pattern in the log when it is set to level Warning or lower.\n\nIf the user presses \"I need help!\" admins of the instance receive the following notification:\n\n\u003e  #### User Tester may be infected with ransomware and is asking for your help\n\u003e  [ I will help ]\n\nPressing the button will delete the notification for all administrators.\n\n\nAfter 5 \"infected\" uploads within 30 minutes, the clients of the user get blocked automatically to prevent further damage to the data. After the problem has been solved, the clients can be re-allowed in the personal settings of the user.\n\n## Configuration settings\n\nConfiguration is managed on the **Settings » Security** page under the heading **Ransomware protection**.\n\nYou can choose to ignore extensions from the [resources/extensions.txt file](https://github.com/nextcloud/ransomware_protection/blob/master/resources/extensions.txt \"Link to the latest version of this file on Github. This may differ from your locally installed version.\") by entering the pattern into the 'Exclude extension patterns' field. You must enter patterns *exactly* as found in the extensions.txt file; entering something that is not a line in that file has no effect.\n\n**Example:** if you entered `.lock` in the Exclude extension patterns configuration field, then files that end in `.lock` will be allowed to sync without suspicion. i.e. you will no longer be protected from attacks that rename/create files called `\u003canything\u003e.lock`.\n\nYou can also choose to use 'Additional extension patterns'.\n\n**Example:** if you entered the pattern `.oh-no` then any files that end with `.oh-no` will be considered suspicious and blocked. [Regular expressions](https://en.wikipedia.org/wiki/Regular_expression \"Wikipedia's definition of regular expressions\") are supported here, identified by patterns that begin with `^` or end with `$` (or both), so you are not limited to files *ending with* a certain string. The pattern `^.*-evil-ha-ha-` would match any file names with `-evil-ha-ha-` anywhere in their name.\n\n**When compiling the list of patterns, first the extensions.txt is loaded, then exclusions are removed, then additions added.** This is an important feature as it allows specific exceptions to be made for certain files.\n\n**Example:** Say your files include some `composer.lock` and `package.lock` files (these are common files in programming projects) and you wish to allow these to sync, but you don't want to allow any other `.lock` files, as that is a commonly used extension by ransomware. You can achieve this by:\n\n- Add `.lock` to the *Exclude extension patterns* configuration field. This will remove protection for .lock files, but then...\n- Add the regular expression `(?\u003c!composer|package)\\.lock$` to the *Additional extension patterns* configuration field. This pattern matches all `.lock` *except* `composer.lock` and `package.lock`, so will allow those files to be uploaded but still block other files ending in `.lock`\n\n### Note files\n\nTypically ransomware will leave note files (e.g. \"you've been hacked, here's how to pay me to get your files back...\"). The ransomware protection app can look out for these note files based on their file names [see resources/notes.txt](https://github.com/nextcloud/ransomware_protection/blob/master/resources/notes.txt). The *Include note files with non-obvious names* option adds in an [additional file of patterns](https://github.com/nextcloud/ransomware_protection/blob/master/resources/notes-biased.txt). These additional files are rarely used in a general office files environment, but are fairly common in other sectors, so review these for your environment before checking this option.\n\n","funding_links":[],"categories":["PHP"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextcloud%2Fransomware_protection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnextcloud%2Fransomware_protection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextcloud%2Fransomware_protection/lists"}