February 26, 2025 in activity reports by Esther Onfroy8 minutes
We’re thrilled to announce a major milestone in the evolution of Colander, our digital investigation web platform for civil society organizations. After months of dedicated work, we’ve completely revamped our deployment procedure, making it easier to get Colander up and running, keep it updated, and ensure your data is safe.
PiRogue Tool Suite (PTS) provides a platform combining analysis tools, knowledge management, incident response management and artifact management, which allows civil society organizations with limited resources to equip themselves at a low cost. The project consists of an open-source tool suite that provides a comprehensive mobile device forensics and digital investigation platform.
hello [at] pts-project.org
We’re thrilled to announce a major milestone in the evolution of Colander, our digital investigation web platform for civil society organizations. After months of dedicated work, we’ve completely revamped our deployment procedure, making it easier than ever to get Colander up and running, keep it updated, and ensure your data is safe.
The Ansible playbooks automate everything, from installing dependencies to deploying Colander.
You can find more details about the different activities in the project roadmap.
A significant improvement involves refining knowledge organization and representation within Colander. This includes establishing a hierarchical structure for cases, where parent cases inherit from child cases, enhancing the management of extensive investigations. Furthermore, Colander will support the creation of multiple graphs within a single case, allowing for diverse projections of a subset of the case knowledge graph. The inclusion of thumbnails on graph nodes will simplify the investigation by involving pictures.
A new thumbnail attribute has been added to entities that can be displayed with Colander’s graph editor. The thumbnail is shown on most entity management screens and in the graph editor, providing a visual representation of each entity. Several prototypes for representing thumbnails on the graph editor are currently being tested. The most relevant and clear prototype will be selected and implemented after a familiarization period.
The thumbnail representation on the graph editor will be released. Users will be able to add, edit, and delete thumbnails directly within the graph editor. Additionally, the user will have the option to crop images when adding them. The internal Mandolin service will optimize the display of all thumbnails based on the screens on which they appear.
In an effort to ease the deployment and administration of Colander servers, functionalities such as importing and exporting entire cases, one-click deployment, and backup and restore tooling and procedures will be implemented, to enhance the overall manageability of the system. We would like to make it easier for end-users to deploy Colander since the deployment procedure described on GitHub can be tricky to follow if one does not have the technical expertise to do so.
This month, we’ve released the initial version of the Ansible playbooks for Colander. The playbooks facilitate the effortless deployment and management of a Colander server. To guarantee maximum security and minimize the attack surface, Colander is deployed in an unprivileged sandbox context, with Docker configured in rootless mode.
The initial deployment of Colander typically takes approximately 10 minutes and 3 commands.
With those playbooks, the system administrator can perform the following actions on their server:
🚀 To self-host your Colander server, check the deployment procedure.
Nothing, as this task is now complete.
Initially, we planned to offer our users a one-click deployment option for Colander. However, this feature is no longer feasible due to several reasons. Linode, which was our best candidate, no longer accepts submissions to their marketplace. Instead, they have introduced Akamai droplet images, which are virtual machine images. This approach is unsuitable for Colander because it requires hard-coding secrets and passwords within the image. Storing these secrets in the image poses a significant security risk.
Hosting providers actually offer 3 ways to deploy applications in one click:
Kubernetes, a sophisticated stack deployment system widely adopted by cloud providers, necessitates the hiring of an expert for maintenance and management. However, the majority of our users lack the resources to employ a system administrator with this specialized profile.
Colander uses multiple sandboxing containers to make it flexible, scalable and secure. None of the hosting providers we’ve talked to offer a solution that combines security and accessibility.
This month, we’ve released the initial version of the Ansible playbooks for Colander. These playbooks automatically deploy two bash scripts on the server: one for backing up the whole service stack and a second script for recovering a specific backup. Colander can be backed up and restored without requiring a shutdown, eliminating any downtime and allowing users to continue using it during the process. The playbook backup-colander
is designed to initiate the backup.
ansible-playbook -J -i production.yml playbooks/backup-colander.yml
The backup script automatically creates a file structure that any automatic backup tool, like Borg, can easily ingest for off-site backup:
/home/colander/colander/backups/
`-- 2025_02_18-13_47_01
|-- colander-db
| `-- backup_2025_02_18T13_47_02.sql.gz
|-- elasticsearch
| `-- elasticsearch-2025_02_18-13_47_03.tgz
|-- minio
| `-- minio-2025_02_18-13_47_03.tgz
`-- threatr-db
`-- backup_2025_02_18T13_47_03.sql.gz
For more details, check the deployment procedure.
Nothing, as this task is now complete.
Documenting the project is key in its usability. We’re continuously documenting the different tools and features we develop and build new learning materials to facilitate skills development.
We’ve enhanced the PiRogue documentation to provide clearer explanations of the prerequisites for making the PiRogue web services, particularly the dashboard, publicly accessible.
We’ve published the deployment and administration documentation of Colander.
We will continue to improve the project documentation to accurately reflect ongoing changes and updates.
We manufacture PiRogues to supply organizations, while taking care of its maintenance. We will include OS upgrades, improvement of the documentation and fixing bugs. Regarding Colander and Threatr, we maintain the public Colander server, upgrade dependencies, improve the documentation and fix bugs.
The migration of Vue3 components is progressing smoothly. To support more modern component development, a new build workflow has been implemented. Additionally, the Colander front-end engine now declares a new components registry that can be queried globally by any widgets.
Minor low-level asynchronous processing in Colander has been improved.
The HAR analyzer build workflow will be updated to conform to the Vue3 composition model and subsequently added to the Colander component registry.
Given the success of events, webinars and demos with members of the civil society, NGOs and security researchers, we continue with our outreach plan. We organize trainings and demonstration sessions as well as creating spaces for the community to share feedback and request new features via our mailing list, GitHub issues or Discord server. We analyze one Android app that has received the community’s interest (ex COP28 app) per month. The application to be analyzed is chosen by the community. The analysis report is first privately shared with the community and one month later it is publicly released.
We organize monthly calls open to all members of the community to share project updates and get the community’s feedback.
The analysis report of the Sham Cash Android application will be published in a few days because its analysis is more complex than anticipated.
The PTS community meeting took place on Feb. 28. The next one will happen on Mar. 28 at 2pm CET.
Due to a bug in PiRogue, we’ve noticed an increase in support requests. We’re actively working on resolving the issue that arises when the PiRogue’s IP address changes.
We will continue with our recurring activities.
We had our first meeting with The Engine Room to discuss their assistance in conducting user research, mapping systems and audiences, and designing sustainable user feedback processes. We’re currently drafting a working plan which will be sent to the OTF for their approval.
We’ve received the security audit report for PiRogue, and we’ll address the identified vulnerabilities within the next 90 days. These vulnerabilities only affect PiRogue when deployed on a Raspberry Pi. It’s worth noting that no show-stopping vulnerabilities were discovered, the most critical one is the default login and password for the user pi
. NimKat’s audit and report were truly remarkable and highly valuable to us.
We’ve followed up with potential partners to explore different hosting options for our users.
We will continue with our recurring activities.