macOS 27: ifconfig Command No Longer Prints Hardware MAC Address

I noticed that after installing macOS 27, several of my scripts broke because the ifconfig command no longer displays the hardware ether/MAC addresses—they all show 02:00:00:00:00:00 unless run with sudo. I can still get the MAC addresses using `networksetup -getmacaddress en0`, but I'm trying to understand why this change happened and whether it's a bug or intentional. Has anyone else encountered this or found a workaround?

It seems to only affect Bash 5.3.20 (Homebrew) - very odd: ``` % /bin/bash --version GNU bash, version 3.2.57(1)-release (arm64-apple-darwin26) % /opt/homebrew/bin/bash --version GNU bash, version 5.3.20(1)-release (aarch64-apple-darwin27.0.0) % zsh -c '/sbin/ifconfig en0 | grep ether' ether d0:11:e5:1a:27:7a % /bin/bash -c '/sbin/ifconfig en0 | grep ether' ether d0:11:e5:1a:27:7a % /opt/homebrew/bin/bash -c '/sbin/ifconfig en0 | grep ether' ether 02:00:00:00:00:00 ```
Interestingly I can also reproduce it with Bash 5.3.15 from nix-darwin. I wonder if this is about notarization or something.
Update: I think it's about code signature and how the API responds - which also corresponds to root and system binaries not seeing the issue.
ifconfig is deprecated in modern Linux. Is it not deprecated in BSD? Does Apple not provide the ip(8) command-line tools? https://manpages.ubuntu.com/manpages/stonking/man8/ip.8.html No, it seems that iproute2 is Linux-first, or Linux-only: https://en.wikipedia.org/wiki/Iproute2 Sad!
Who says it's deprecated? If it's the same people who think my Ethernet port should be called "enp0s31f6" instead of "eth0", then I'm afraid I do not respect their authority...
Fascinatingly enough, this is Conway's law in action. The Linux kernel doesn't break user space, and ifconfig is on the user space side of that boundary. On BSD, they're organized differently, and went a different way.