{"id":21743949,"url":"https://github.com/telefonica/latch-plugin-wipm","last_synced_at":"2025-03-21T01:40:25.446Z","repository":{"id":259205836,"uuid":"865371070","full_name":"Telefonica/latch-plugin-wipm","owner":"Telefonica","description":"Wordpress in Paranoid Mode (WiPM). A Latch plugin for Hardening Wordpress.","archived":false,"fork":false,"pushed_at":"2024-10-22T08:31:49.000Z","size":1763,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-25T22:21:38.623Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/Telefonica.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-09-30T12:26:46.000Z","updated_at":"2024-11-05T23:59:29.000Z","dependencies_parsed_at":"2024-10-23T14:05:35.542Z","dependency_job_id":null,"html_url":"https://github.com/Telefonica/latch-plugin-wipm","commit_stats":null,"previous_names":["telefonica/latch-plugin-wipm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Telefonica%2Flatch-plugin-wipm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Telefonica%2Flatch-plugin-wipm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Telefonica%2Flatch-plugin-wipm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Telefonica%2Flatch-plugin-wipm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Telefonica","download_url":"https://codeload.github.com/Telefonica/latch-plugin-wipm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244722653,"owners_count":20499151,"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-11-26T07:09:29.934Z","updated_at":"2025-03-21T01:40:25.426Z","avatar_url":"https://github.com/Telefonica.png","language":"Python","readme":"![Supported Python versions](https://img.shields.io/badge/python-3.12-blue.svg?style=flat-square)\n![License](https://img.shields.io/badge/license-AGPL_3.0-green.svg?style=flat-square)\n\n# **WordPress in Paranoid Mode**\n\n**WordPress in Paranoid Mode** allows you to monitor the actions that occur on critical WordPress tables, allowing the owner to enable or disable via a second authorization factor the actions on WordPress tables.\n\nThese triggers will communicate with Latch to check the status of the operation to be performed. In case the operation has the latch closed, the trigger will block the query, while in case the operation has the latch open, the trigger will allow the primary action.\n\nWordPress in Paranoid Mode has three execution modes: _Read-Only_, _Edition_ and _Administration_.\n\n- The **_Read-Only_** mode blocks any modification to the critical WordPress tables, preventing changes to user tables, tables of contents, or even preventing any user from logging in\n- **_Administration_** mode protects against unauthorized user management.\n- **_Edition_** mode protects against unauthorized content publishing.\n\n![WiPM Installer on Ubuntu](img/wipm-installer.png)\n\n# Prerequisities\n\nTo run the tool, ensure you have the following:\n\n- **MySQL Database**:\n\n  - It must allow external connections and have an administrator user with external access. To create a `root` user with external access, execute the following instructions in MySQL:\n    ```sql\n    mysql\u003e CREATE USER 'root'@'%' IDENTIFIED BY 'your_password';\n    mysql\u003e GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;\n    mysql\u003e FLUSH PRIVILEGES;\n    ```\n  - **Note**: WordPress must be installed in the same database as the one created earlier, but with a different user.\n\n- **wipm-installer**:\n  This tool is written in Python and uses various libraries, such as PySide6. It is crucial to have these libraries installed with a compatible version of Python. A version of Python 3, preferably up to version 3.12, is recommended.\n  There is a `requirements.txt` file that must be executed the first time the tool is launched using:\n\n  ```bash\n  pip install -r requirements.txt\n  ```\n\n  Ensure that the `pip` version is oriented to a Python 3 version, preferably up to 3.12.\n\n- **wipm-agent**:\n  Python and `pip` must be installed on the system. A version of Python 3, preferably up to version 3.12, is recommended. You can install it by running:\n\n  ```bash\n  sudo apt-get install -y python3 python3-pip gunicorn\n  ```\n\n  Ensure that the `pip` version is oriented to a Python 3 version, preferably up to 3.12.\n\n- **Latch**:\n  - To get the \"Application ID\" and \"Secret\", (fundamental values for integrating Latch in any application), it's necessary to register a developer account in Latch's website. On the upper right side, click on [\"**Latch Developer area**\"](https://latch.tu.com/www/secure/login).\n  - To get the \"**Pair code**\", the user needs the Latch application installed on the phone. From the Latch app on the phone, the user has to generate the code, going to the \"**Latches**\" page and pressing on \"**Add latch**\" at the bottom of the application, and will take the user to a new screen where the pairing code will be displayed.\n\n# Usage\n\nIt is quite simple to use. If you have all the dependencies installed, you only have to launch the `main.py` file to see the installation interface.\n\n```[python]\npython main.py\n```\n\n# License\n\nThis project is licensed under the GNU Affero General Public License - see the LICENSE file for details\nAttributions to third-party software can be found in the licenses_attributions.txt file. These may be contained in portions of code.\n\n# Contact\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. WHENEVER YOU MAKE A CONTRIBUTION TO A REPOSITORY CONTAINING NOTICE OF A LICENSE, YOU LICENSE YOUR CONTRIBUTION UNDER THE SAME TERMS, AND YOU AGREE THAT YOU HAVE THE RIGHT TO LICENSE YOUR CONTRIBUTION UNDER THOSE TERMS. IF YOU HAVE A SEPARATE AGREEMENT TO LICENSE YOUR CONTRIBUTIONS UNDER DIFFERENT TERMS, SUCH AS A CONTRIBUTOR LICENSE AGREEMENT, THAT AGREEMENT WILL SUPERSEDE.\n\nThis software doesn't have a QA Process. This software is a Proof of Concept.\n\nIf you have any problems, you can contact:\n\nideaslocas@telefonica.com\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelefonica%2Flatch-plugin-wipm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftelefonica%2Flatch-plugin-wipm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelefonica%2Flatch-plugin-wipm/lists"}