Skip to main content

A Python port of Avdu, A utility to view one-time passwords generated from Aegis Authenticator backups.

Project description

Py-avdu

An unofficial incomplete port of Sammy-T's avdu. It was re-written in Python by Claude (and the hundreds of thousands of coders whose work it was trained on), The main function was added and it was packaged for PyPI by James Parrott (who should be held responsible).

I use this myself, simply for peace of mind before factory resetting my phone, by exporting my encrypted vault from Aegis, simply as a check to make sure I can generate TOTP codes without a phone, to access all my accounts in case of a problem reinstalling Aegis.

Before deleting any credentials or factory resetting any devices, please verify that you really can generate the same correct codes from your own backup vault, as from the original authenticator app the backup was taken from.

Overview

What's worse than rolling your own Crypto?
Rolling your own Crypto with an LLM.

Py-Avdu is a little bit better than both of those cases for two reasons:

  • Instead of rolling my own crypto completely from scratch I gave Claude, Sammy-T's avdu, and asked it to port it.
  • This decrypts encrypted vaults only. Encryption of the vaults in the first place should be done by Aegis. Py-avdu should only be used locally.

Aegis is a fantastic app. But its developers currently have no intention to support any other platform than Android.

I have no reason to be suspicious of Avdu in the slightest - I'm personally just far more comfortable security-auditting Python code than Go code.

If you do discover a bug, please raise an issue, and I'll do my best to fix it. If a bug that's a major security concern can't be fixed or worked around, then ultimately I will sunset this project.

Py-Avdu does generate TOTP codes correctly from a password-encrypted Aegis backup vault (from my own one at least).
However at the time of writing, no further functionality is implemented - Py-Avdu is definitely an incomplete port of Avdu.

Beware ye, would be Vibe Coders.

Claude's code to decrypt my vault worked great. Unfortunately ChatGPT's port of Avdu's TOTP generator produced incorrect TOTP codes. Luckily there is a trustworthy library from PyAuth (PyOTP) to use instead which fits the bill precisely.

Alternatives

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_avdu-0.0.3.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_avdu-0.0.3-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file py_avdu-0.0.3.tar.gz.

File metadata

  • Download URL: py_avdu-0.0.3.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.6.13

File hashes

Hashes for py_avdu-0.0.3.tar.gz
Algorithm Hash digest
SHA256 995cec168edf87c3bdf5748050e4bfd332066c6c461cd0190cb35796515ae9f3
MD5 9bb3cc2a84296de22b66c5cfa465ee55
BLAKE2b-256 3b1ab9e90aa2e72eda29905bb312edda4ce2f24c1daacb0f80de693e631060f5

See more details on using hashes here.

File details

Details for the file py_avdu-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: py_avdu-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.6.13

File hashes

Hashes for py_avdu-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3c90379b6c0859ab8a7b517443bfc45962c3d388224893236bc0c9d80b5c09ff
MD5 8b8b092c91972d942e3bdbdcdc4243d1
BLAKE2b-256 17202d4d7f4c2a2399a3492983eb32e8303b887c98c8479cad80e46b26e00b71

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page