Plugins

The plugins endpoint allows you to list available detection plugins and get details about a specific plugin.

Returns a list of all available plugins with their event counts.

nameplacementcomment
acceptheaderMust be set to application/json
1#!/usr/bin/env bash
 2API_KEY="YOUR_API_KEY"
 3
 4curl -H "api-key: ${API_KEY}" \
 5  -H 'accept: application/json' \
 6  "https://leakix.net/api/plugins"
 
1from leakix import Client
2
3client = Client(api_key="YOUR_API_KEY")
4response = client.get_plugins()
5for plugin in response.json():
6    print(plugin.name, plugin.description)

Receiving 200 means the request was successful and an array of plugins is returned:

 1[
 2  {
 3    "name": "DotDsStoreOpenPlugin",
 4    "description": "Checks for publicly accessible .DS_Store files",
 5    "event_count24h": 1234,
 6    "event_count7d": 8765,
 7    "event_count1h": 56
 8  },
 9  {
10    "name": "ElasticSearchOpenPlugin",
11    "description": "Checks for open Elasticsearch instances",
12    "event_count24h": 567,
13    "event_count7d": 3456,
14    "event_count1h": 23
15  }
16]
fieldtypedescription
namestringPlugin identifier
descriptionstringHuman-readable description of the plugin
event_count1hintNumber of events in the last hour
event_count24hintNumber of events in the last 24 hours
event_count7dintNumber of events in the last 7 days

Returns details about a specific plugin.

nameplacementcomment
acceptheaderMust be set to application/json
nameurl parameterThe plugin name
1#!/usr/bin/env bash
 2API_KEY="YOUR_API_KEY"
 3PLUGIN="ElasticSearchOpenPlugin"
 4
 5curl -H "api-key: ${API_KEY}" \
 6  -H 'accept: application/json' \
 7  "https://leakix.net/api/plugins/${PLUGIN}"
 
1from leakix import Client
2
3client = Client(api_key="YOUR_API_KEY")
4# Use the plugins list endpoint and filter by name
5response = client.get_plugins()
6for plugin in response.json():
7    if plugin.name == "ElasticSearchOpenPlugin":
8        print(plugin)

Receiving 200 means the request was successful:

1{
2  "name": "ElasticSearchOpenPlugin",
3  "description": "Checks for open Elasticsearch instances"
4}

Receiving 404 means the plugin was not found:

1"Plugin not found"

All requests to LeakIX.net's API are limited at ~1 request per second.

If the limit is reached, the API will return a 429 http status code and a x-limited-for header.

The client MUST wait for the duration of x-limited-for before the next request.

1HTTP/1.1 429 Rate-limited
2Date: Mon, 27 Jul 2009 12:28:53 GMT
3x-limited-for: 344.24ms