Skip to main content

Firefox ClientAuthenticationRememberList Parser

Project description

carl-ff


carl-ff is a small python utility and library to parse and modify Firefox's ClientAuthenticationRememberList. The ClientAuthenticationRememberList is a binary file used by Firefox to make authentication decisions regarding whether to send a client certificate to a particular server.

Installation


carl-ff can be build and installed as a pip package. The recommended way of installing is via pipx:

[user@host ~]$ pipx install carl-ff

You can also build carl-ff from source by running the following commands:

[user@host ~]$ git clone https://github.com/qtc-de/carl-ff
[user@host ~]$ cd carl-ff
[user@host ~/carl-ff]$ pipx install .

Usage


carl-ff attempts to find the ClientAuthRememberList.bin file within your Firefox profile automatically. Invoking carl-ff without any options just lists your current authentication decisions:

user@host:~$ carl-ff
[+] ClientAuthRememberList:
[+]
[+]	Allowed Entries:
[+]		0.) https://trusted.internal.local
[+]
[+]	Blocked Entries:
[+]		1.) https://untrusted.external.web

To add a new entry, use the add subcommand. The add subcommand requires either the --cert or --blocked arguments to be specified. With --cert you can select the certificate to use for authentication. With --block you decide to not send a certificate. Moreover, the --host or --from-file arguments are required. With --host you can specify the desired host. With --from-file you can specify a file that contains hostnames:

user@host:~$ carl-ff add --cert cert.pem --host auth.internal.local
[+] ClientAuthRememberList:
[+]
[+]	Allowed Entries:
[+]		0.) https://trusted.internal.local
[+]		1.) https://auth.internal.local
[+]
[+]	Blocked Entries:
[+]		2.) https://untrusted.external.web

user@host:~$ carl-ff add --block --host third-party.internal.local
[+] ClientAuthRememberList:
[+]
[+]	Allowed Entries:
[+]		0.) https://trusted.internal.local
[+]		1.) https://auth.internal.local
[+]
[+]	Blocked Entries:
[+]		2.) https://untrusted.external.web
[+]		3.) https://third-party.internal.local

To remove an entry from the list, use the del subcommand. The del subcommand requires an additional integer parameter that specifies the entry you want to delete. Be careful when using this while Firefox is open, as new authentication decisions may change an index.

user@host:~$ carl-ff del 1
[+] ClientAuthRememberList:
[+]
[+]	Allowed Entries:
[+]		0.) https://trusted.internal.local
[+]
[+]	Blocked Entries:
[+]		1.) https://untrusted.external.web
[+]		2.) https://third-party.internal.local

Acknowledgements


carl-ff was inspired by ff-carl, a Rust library for modifying ClientAuthRememberList.bin.

Disclaimer


ClientAuthenticationRememberList.bin uses a proprietary format that may change in future or has not been implemented correctly by this library. This tool and the associated library come with absolutely no warranty that they will work correctly. Always verify the results within the Firefox settings and use the tool / library on your own risk.

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

carl_ff-1.0.0.tar.gz (33.0 kB view details)

Uploaded Source

Built Distribution

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

carl_ff-1.0.0-py3-none-any.whl (31.4 kB view details)

Uploaded Python 3

File details

Details for the file carl_ff-1.0.0.tar.gz.

File metadata

  • Download URL: carl_ff-1.0.0.tar.gz
  • Upload date:
  • Size: 33.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for carl_ff-1.0.0.tar.gz
Algorithm Hash digest
SHA256 5333b8645572813824d8ece5b9ee79dad6b5b791ee65cf5a471faf3deb05b113
MD5 cd7d7a05b6b7c1aef70ed128cda9b163
BLAKE2b-256 d86249b94ae8612978de47753584e8ff05dd1b9092c50c052b35aeb9d9804d1f

See more details on using hashes here.

File details

Details for the file carl_ff-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: carl_ff-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 31.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for carl_ff-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f3a90e365e6cc3c738b6ccfb9e7a05cdc06d78d69e33511a0d2490e765767954
MD5 9163baf1b478d6db9d020cbcbf835257
BLAKE2b-256 e3fd8b7ff964ca35f75249e0bfe19c2d66510c7c788fe168fc50d1af8ca097db

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