zxcvbn
core
Our great sponsors
zxcvbn | core | |
---|---|---|
59 | 241 | |
14,664 | 2,965 | |
1.0% | 4.3% | |
0.0 | 9.9 | |
2 months ago | 5 days ago | |
CoffeeScript | PHP | |
MIT License | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
zxcvbn
-
Show HN: A lightweight PHP library for checking password strength
Lightweight is an understatement here.
A client's project (with not necessarily technical customers) has had pretty reasonable success using the Dropbox originated library[1] for this, `zxcvbn`[2], on both frontend via js (for "instant" feedback) and on the backend via php (to enforce the requirements when writing password hashes to the database)
1: https://dropbox.tech/security/zxcvbn-realistic-password-stre...
2: https://github.com/dropbox/zxcvbn
- Zxcvbn: Low-Budget Password Strength Estimation – Usenix (2016)
-
I updated our famous password table for 2023
use zxcvbn to check your password strength more thoroughly
-
I hope the common password whitelisters at Microsoft still get therapy benefits to share the unobfuscated language they were subjected to.
source if anyone wants the whole list https://github.com/dropbox/zxcvbn/blob/master/data/passwords.txt
-
How long can a password be with the new login system?
Password strength is evaluated based on the zxcvbn library.
-
How hard could it be? Sorting words alphabetically in Rust
In contrast, let's consider the password "zxcvbn214". How might we assign an entropy to this password? Is it 369? Or 266 * 103? Anyone familiar with a QWERTY keyboard or Dropbox's password strength estimator knows that "zxcvbn" is hardly a random sequence of letters. This same principle applies to "l33t" speak, e.g. replacing all "e"s with 3s and "a"s with 4s. These strategies may "trick" simple entropy calculations into estimating a high entropy, but it won't trick sophisticated attackers. This leads to strength over-estimation, which is, I argue, the worst thing we can do in this context.
- Zxcvbn: Low-Budget Password Strength Estimation
-
TIL There's Another YAML
> except for ZXCVBN
You mean the Low-Budget Password Strength Estimator?
https://github.com/dropbox/zxcvbn
Yeah, that name is totally legit.
-
Which tool can crack this password so fast?
For any part of the password that the zxcvbn cannot match to a known pattern, it uses a brute-force cardinality of 10, i.e., it estimates that the number of guesses required to crack a password or password segment of length N is equal to 10N (equivalent to the number of guesses required to exhaust all possibilities if your password consisted only of numbers).
-
Bitwarden Design Flaw
We took a similar approach to passphrase stretching in EnvKey[1] v1 (EnvKey is a secrets manager, not a passwords manager, but uses end-to-end encryption in a similar way). We used PBKDF2 with iterations set a bit higher than the currently recommended levels, as well as Dropbox's zxcvbn lib to try to identify and block weak passphrases.
Ultimately, I think it's just not good enough. Even if you're updating iteration counts automatically (which is clearly not a safe assumption, and to be fair not something we did in EnvKey v1 either), and even with safeguards against weak passphrases, using human-generated passphrases as a single line of defense is just fundamentally weak.
That's why in EnvKey v2, we switched to primarily using high entropy device-based keys--a lot like SSH private keys, except that on Mac and Windows the keys get stored in the OS keychain rather than in the file system. Also like SSH, a passphrases can optionally be added on top.
The downside (or upside, depending how you look at it) is that new devices must be specifically granted access. You can't just log in and decrypt on a new device with only your passphrase. But the security is much stronger, and you also avoid all this song and dance around key stretching iterations.
1 - https://github.com/envkey/envkey
2 - https://github.com/dropbox/zxcvbn
core
-
Dnsmasq wins the first BlueHats Prize
dnsmasq can be used for wildcard domain aliases in OPNsense firewall, https://github.com/opnsense/core/issues/4145#issuecomment-12...
- OPNsense Wildcard Support in Firewall Host Alias (2022)
-
How to bypass public IP and NAT
Firmware's like Asuswrt-Merlin or OpenWRT can support dynamic-dns, or you can do like I do and run something like OPNsense in an x86 VM with a NIC passed through, or buy an inexpensive firewall appliance (up to 500mbps/1gbps/10gbps).
-
Stop ISP from getting into my Router
The easiest solution is to buy your own router, set it up, disable the router functionality on the Fritzbox 7590 and plug your router into it. It'll be cheaper and easier than a Cisco Firewall, but if you want to go the dedicated firewall route then I would recommenced OPNsense
-
Near Constant PTR lookups from localhost
Much searching lead me to a possible patch Unbound.inc for how it was handling aliases for 23.7 -> https://github.com/opnsense/core/pull/5925
-
The world in which IPv6 was a good design
[2]: https://github.com/opnsense/core/issues/2544
-
OpenBSD Innovations
BSDs may not have a significant presence on desktops, but they're well known in the networking world for their reliability. They also were the foundation used to build OSes for specific applications. OpnSense and XigmaNAS, for example, are two excellent FreeBSD based applications aimed at firewalling/security and NAS/services.
https://opnsense.org/
https://xigmanas.com/xnaswp/
- Root user access denied when adding new users?
- OPNsense: Open-source security platform
What are some alternatives?
SecLists - SecLists is the security tester's companion. It's a collection of multiple types of lists used during security assessments, collected in one place. List types include usernames, passwords, URLs, sensitive data patterns, fuzzing payloads, web shells, and many more.
docker-pihole-unbound - Run Pi-Hole + Unbound on Docker
monkeytype - The most customizable typing website with a minimalistic design and a ton of features. Test yourself in various modes, track your progress and improve your speed.
openwrt - Linux distribution for embedded devices
keepassxc - KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
openNDS - openNDS (open Network Demarcation Service) is a high performance, small footprint, Captive Portal. It provides a border control gateway between a public local area network and the Internet.
dumb-password-rules - A compilation of sites with dumb password rules.
asuswrt-merlin.ng - Third party firmware for Asus routers (newer codebase)
Next.js - The React Framework
UTMFW - UTM Firewall on OpenBSD
Material UI - Ready-to-use foundational React components, free forever. It includes Material UI, which implements Google's Material Design.
unifios-utilities - A collection of enhancements for UnifiOS based devices