Admin Guide

Synapse-HaveIBeenPwned Admin Guide

Configuration

All Synapse-HaveIBeenPwned commands except haveibeenpwned.breaches require a HaveIBeenPwned API key. For information on how to sign up, please visit the haveibeenpwned API documentation.

Setting API key for global use

To set-up a global API key:

> haveibeenpwned.setup.apikey myapikey
Setting haveibeenpwned API key for all users.

Using per-user API keys

A user may set-up their own API key:

> haveibeenpwned.setup.apikey --self myapikey
Setting haveibeenpwned API key for the current user.

Dependencies

Synapse-HaveIBeenPwned does not have any dependencies.

Synapse-HaveIBeenPwned does not conflict with any Power-Ups.

Permissions

Package (synapse-haveibeenpwned) defines the following permissions:
power-ups.haveibeenpwned.user    : Controls user access to synapse-haveibeenpwned. ( default: false )

You may add rules to users/roles directly from Storm:

> auth.user.addrule visi power-ups.haveibeenpwned.user
Added rule power-ups.haveibeenpwned.user to user visi.

or:

> auth.role.addrule ninjas power-ups.haveibeenpwned.user
Added rule power-ups.haveibeenpwned.user to role ninjas.

Exported APIs

Synapse-HaveIBeenPwned provides the following exported APIs:

getBreachNodes()
----------------

    Get all known breaches from HaveIBeenPwned API.

    Args: None

    Yields:
        risk:compromise nodes for each reported breach.


getBreachJson()
---------------

    Get all known breaches from HaveIBeenPwned API.

    Args: None

    Yields:
        json data containing list of known breaches.


getBreachNodesForEmail(node)
----------------------------

    Get all known breaches from HaveIBeenPwned API for a specified email
    address.

    Args:
        node (inet:email): The email address to query.

    Yields:
        risk:compromise nodes for each reported breach.


getBreachJsonForEmail(node)
---------------------------

    Get all known breaches from HaveIBeenPwned API for a specified email
    address.

    Args:
        node (inet:email): The email address to query.

    Yields:
        json data containing list of known breaches.


getBreachNodeByName(name)
-------------------------

    Get breach data from HaveIBeenPwned API for a breach specified by name.

    Args:
        name (str): The breach name to query.

    Yields:
        risk:compromise node for the named breach.


getBreachJsonByName(name)
-------------------------

    Get breach data from HaveIBeenPwned API for a breach specified by name.

    Args:
        name (str): The breach name to query.

    Yields:
        json data for the named breach.

Node Actions

Synapse-HaveIBeenPwned provides the following node actions in Optic:

Name : haveibeenpwned.breaches.byemail
Desc : Query HaveIBeenPwned for breaches associated with this email address.
Forms: inet:email