No tengo suficiente representante para comentar, así que intentaré una respuesta ...
Quería comentar ya que me gustaría aclarar por qué necesita agregar npm: mi instalación de npm (a través de homebrew) funciona bien, sin hacer un agujero en el firewall. Obviamente YMMV ...! Pero tenga en cuenta que no he probado esto correctamente con npm (probé agregando npm, y continuó funcionando bien).
Creo que quieres el firewall de la capa de aplicación . (Es el mismo firewall al que también puede acceder a través de Preferencias del sistema -> Seguridad y privacidad -> Firewall).
La API de mi socketfilterfw parece haber cambiado con respecto a la discutida en el artículo vinculado. Sugeriría precaución, y que verifique cuál es la API para su versión antes de hacer cualquier otra cosa:
/usr/libexec/ApplicationFirewall/socketfilterfw -h
Mi versión de socketfilterfw no tiene la opción "-t" mencionada en el artículo vinculado, así que tuve que usar:
/usr/libexec/ApplicationFirewall/socketfilterfw --add /usr/local/bin/npm