cloud

Digivetus Cirrus

cloud

Digivetus Cirrus

Gallery

# Cirrus — Cloud Forensics Data Extraction Platform

## Product overview and technical highlights

---

## 1. Product positioning

**Cirrus** is a desktop platform for **cloud and online-account data extraction and analysis** in digital forensics workflows. It runs in **GUI** or **CLI** mode so investigators can work interactively in the lab or automate batch jobs in scripted pipelines.

The platform covers **five categories** and **26 cloud services**: social media, cloud storage, email, instant messaging, and device backups. Built-in **chain-of-custody** handling, audit logging, and cross-service **timeline** tools help teams preserve defensible evidence and review extracted data in one place.

Built with **Qt 6** on Windows (x64), Cirrus integrates with local browsers and OS credential stores while talking to remote services over HTTPS using session cookies, OAuth tokens, IMAP, or local application data where applicable.

![Cirrus application screenshot](./cirrus.png)

---

## 2. Core capability matrix

### 2.1 Data extraction (26 extractors)

| Category | Supported platforms | Count |
|----------|---------------------|------:|
| **Social media** | Facebook, Instagram, Twitter/X, Snapchat, LINE, Weibo, Douyin, Bilibili, Xiaohongshu, Kuaishou | 10 |
| **Cloud storage** | Google Drive, Dropbox, OneDrive, Baidu Netdisk, Aliyun Drive | 5 |
| **Email** | Gmail, Outlook, Yahoo Mail, NetEase Mail (163/126/yeah.net), QQ Mail | 5 |
| **Instant messaging** | Telegram, WhatsApp, Signal, WeChat, QQ | 5 |
| **Device backup** | iCloud Backup | 1 |

Each service is implemented as a pluggable **extractor** behind a common interface: authenticate with supplied credentials, pull data into a case folder, and emit structured JSON (and related files) suitable for review and reporting.

**CLI service identifiers** (examples): `google_drive`, `baidu_pan`, `gmail`, `wechat`, `douyin`. Run `Cirrus.exe --cli --list` to print all registered extractors on your build.

### 2.2 Credential acquisition

| Source | Technique |
|--------|-----------|
| Chrome / Edge | SQLite profile reads + **DPAPI** / **AES-256-GCM** decryption |
| Firefox | `logins.json` and `cookies.sqlite` parsing |
| macOS Keychain | `.keychain-db` import |
| Manual entry | OAuth access tokens, session cookies, IMAP app passwords, and service-specific secrets |
| Auto-discovery | Scan local browser profiles and import credentials in one step |

Credentials can also be **dragged and dropped** onto the main window (e.g. Chrome `Login Data`, `Cookies`, Firefox `logins.json`, keychain exports).

### 2.3 Evidence preservation

- **SHA-256** hashes computed for extracted artifacts
- **Timestamped audit log** for extraction and import operations
- **Integrity verification** to detect missing or altered files after export
- **Evidence reports** in **JSON** and **HTML** for case documentation

Case output is organized under a configurable case directory, with per-service subfolders and shared report files (e.g. `evidence_report.json`, `timeline.json`).

### 2.4 Analysis features

| Feature | Description |
|---------|-------------|
| Cross-service timeline | Merge events from all extracted JSON sources into a single chronological timeline |
| Full-text search | Keyword search across JSON under the active case directory |
| Keyword monitoring | Predefined keyword lists with automatic scan and highlight |
| Case dashboard | Overview of services, file counts, sizes, and record estimates |
| Email viewer | Grouped mailbox view, body rendering, attachment handling, CSV export |

### 2.5 User interface

- **Ribbon-style toolbar** — six tabs: **Case**, **Acquire**, **Security**, **Extract**, **Analyze**, **Report**
- **Multi-pane workspace** — service tree, credentials table, extraction results, and operation log
- **Evidence tagging** — five levels: Important, Suspicious, Confirmed, Pending review, Key evidence
- **Drag-and-drop import** — drop credential files directly into the application window
- **Branded splash screen** — SVG-based startup experience

Traditional menu shortcuts remain available (e.g. **Ctrl+N** new case, **F5** start extraction, **Ctrl+F** search).

---

## 3. Typical workflow

1. **Create or open a case** — a timestamped folder holds all artifacts and logs.
2. **Import credentials** — browser auto-detect, manual dialog, or drag-and-drop.
3. **Select services** — pick targets in the service tree; filter with the search box.
4. **Extract** — run one service or batch extract; monitor progress and logs.
5. **Analyze** — timeline, full-text search, keyword monitor, or dedicated email viewer.
6. **Report** — export HTML/JSON evidence reports, timeline, logs, or CSV as needed.
7. **Verify** — run integrity checks before handing off media or reports.

---

## 4. Command-line mode

For automation and headless environments:

```text
Cirrus.exe --cli --list
Cirrus.exe --cli --service google_drive --cred credentials.json --output D:\cases\20260916_001
Cirrus.exe --cli --all --cred credentials.json --output D:\cases\20260916_001
```

The credentials file is JSON compatible with the GUI credential model. On completion, the CLI writes evidence and timeline exports into the output directory, consistent with the GUI case layout.

---

## 5. Architecture (brief)

| Layer | Role |
|-------|------|
| **UI** (`Cirrus`, dialogs) | Case management, ribbon actions, viewers, settings |
| **Core** | `CredentialManager`, `CloudAuthEngine`, `EvidencePreserver`, `BatchExtractor`, `ExtractionWorker`, `TimelineAggregator` |
| **Extractors** | One module per cloud service; registered via `ExtractorFactory` |
| **Network** | HTTP client helpers, optional proxy and timeout settings |

New services are added by implementing `IExtractor` and registering the service key—without changing the main shell.

---

## 6. System requirements

- **OS:** Windows 10/11 (x64)
- **Runtime:** Qt 6-based build (project targets Qt 6.10.x with MSVC)
- **Network:** HTTPS access to target cloud endpoints; optional HTTP proxy in settings
- **Permissions:** Read access to browser profiles and local app data paths when using local credential or IM backup extraction (e.g. WeChat/QQ data folders)

---

## 7. Legal and operational notice

Cirrus is intended for **authorized digital forensics, incident response, and compliance** use only. Operators must have ** lawful authority** (consent, warrant, or organizational policy) before accessing accounts or cloud data. Respect platform terms of service and applicable privacy and data-protection laws in your jurisdiction.

---

## 8. Localization

The desktop UI is available in **Simplified Chinese** (default) and **English**. Choose **Settings → Interface → Interface language**, then restart the app. CLI: `--lang en` or `--lang zh`. Details: [localization-en.md](./localization-en.md).

## 9. Related documentation

| Document | Language | Description |
|----------|----------|-------------|
| [功能概述.md](./功能概述.md) | Chinese | Feature overview (same product scope) |
| [localization-en.md](./localization-en.md) | English | Language settings and translator workflow |

---

*Cirrus — cloud forensics data extraction for investigators who need breadth of services, auditable exports, and both interactive and automated workflows.*



功能概述

Download the product white paper for full specifications and use cases

Download