Admin Guide

Synapse-SpyCloud Admin Guide

Configuration

Synapse-SpyCloud requires an API key. For information on how to signup, please visit the SpyCloud API documentation.

Adding configurations

API keys are stored in configurations. SpyCloud is three separately licensed products, each with its own API key, so each gets its own configuration type. A key issued for one product cannot be used with the others.

The consumer type is for a Consumer ATO Prevention key, investigative for an Investigations key, and enterprise for an Employee ATO protection key. Note that Consumer ATO Prevention and Employee ATO protection are different products despite the similar names.

The endpoints each command uses, and the API they are served from, are listed in the command’s help output.

To add a global configuration:

> spycloud.config.add investigative default myapikey
Synapse-SpyCloud investigative config "default" added

A configuration may also be scoped to a single user with --scope self, or left unscoped with --scope unscoped so that it is only used when selected by name. Only one global configuration and one per-user configuration may exist for each type, and configuration names are unique across scopes.

The remaining commands manage them:

> spycloud.config.list
 type            | name                      | scope      | owner
=================|===========================|============|==========================================
 investigative   | default                   | global     | n/a
> spycloud.config.show investigative
Type: investigative
Name: default
Scope: global
Owner: n/a
Configs:
  Proxy: true
  SSL Verify: true
Secrets:
  API Key: myapikey

Use spycloud.config.update to rotate a key, change the proxy, rename a configuration, or grant another user or role access to it, and spycloud.config.del to remove one.

Source address restrictions

SpyCloud restricts an API key to a set of allowlisted source addresses, per key rather than per account. If the Cortex does not egress from an address allowlisted for the key in question, requests are rejected with an HTTP 403.

Each configuration carries its own proxy setting, so a product whose key requires an allowlisted egress can be pointed at a proxy without affecting the others:

> spycloud.config.update investigative default --proxy socks5://proxy.host:1099
Updated Synapse-SpyCloud investigative config "default"

The default is to use the proxy set by the Cortex http:proxy configuration option if there is one. Setting a proxy on a configuration requires either the power-ups.spycloud.admin or the storm.lib.inet.http.proxy permission.

When the proxy is a URL, --proxy-user and --proxy-passwd may be used to authenticate to it:

> spycloud.config.update investigative default --proxy-user proxyuser --proxy-passwd secret
Updated Synapse-SpyCloud investigative config "default"

Both values must be URL safe; see $lib.inet.http.urlencode. The password is stored in the configuration secrets, so it is only visible to users with edit access to the configuration. Any stored credentials are removed if the proxy is later set back to true or false.

Permissions

Package (synapse-spycloud) defines the following permissions:
power-ups.spycloud.user          : Allows a user to issue queries to the SpyCloud API. ( default: false )
power-ups.spycloud.admin         : Allows a user to manage Synapse-SpyCloud configurations. ( default: false )

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

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

or:

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

Exported APIs

Synapse-SpyCloud does not currently export any APIs.

Onload Events

Synapse-SpyCloud does not use any onload events. It does use Storm package inits to migrate API keys set by earlier versions into configurations.

Node Actions

The SpyCloud Power-Up provides the following node actions in Optic:

Name : investigations
Desc : Enrich the node with SpyCloud Investigations breach data.
Forms: econ:bank:account, econ:pay:pan, gov:us:ssn, hash:sha256, inet:email, inet:fqdn, inet:ipv4, inet:passwd, inet:user, it:auth:passwdhash, it:host, ou:id:number, tel:phone, transport:land:license

Name : consumer.ato
Desc : Enrich the node with SpyCloud Consumer ATO Prevention breach data.
Forms: inet:email, inet:ipv4, inet:user