A VS Code-based notebook workbench and Python engine to discover, analyze, validate, de-duplicate, and curate browser credentials from Chromium-based browsers (Microsoft Edge & Google Chrome) for migration to a curated KeePass vault.
- Notebook = Interactive UI:
notebooks/curator_workbench.ipynbprovides an interactive exploration and triage environment. - Python Package = Business Logic: Core extraction, DPAPI decryption, and SQLite operations are isolated in
curator_core/. - Zero Inadvertent Secret Leaks: Passwords are automatically masked (
••••••••) across all DataFrame views and object representations. - Non-Blocking Extraction: Browser SQLite databases are copied to temporary scratch space before reading, preventing file-lock collisions with running browsers.
# Install dependencies with mise / pip
mise install
mise run pip install -e ".[dev]"- Open
d:\curatorin VS Code. - Open notebooks/curator_workbench.ipynb.
- Select your Python kernel (managed via mise).
- Run the notebook cells sequentially to discover browser profiles and inspect decrypted credentials.
mise run pytest tests/d:\curator\
├── mise.toml # Mise tool version configuration
├── pyproject.toml # Package metadata and dependencies
├── README.md
├── curator_core/ # Core business logic package
│ ├── crypto/ # DPAPI unprotect & Chromium AES-GCM decryption
│ │ ├── dpapi.py
│ │ └── chromium.py
│ ├── discovery/ # Edge & Chrome profile discovery and metadata
│ │ ├── paths.py
│ │ └── scanner.py
│ ├── extractor/ # Safe SQLite reader & credential parser
│ │ └── sqlite_reader.py
│ ├── models/ # Dataclasses for Profile, Credential, BrowserType
│ │ ├── profile.py
│ │ └── credential.py
│ └── storage/ # Session state & masked DataFrame generators
│ └── session.py
├── notebooks/
│ └── curator_workbench.ipynb # Master interactive workbench notebook
└── tests/ # Unit test suite
├── test_crypto.py
├── test_discovery.py
├── test_extractor.py
└── test_models.py