You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+51-25Lines changed: 51 additions & 25 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,6 @@
1
1
# Carbon Black Feeds [](https://travis-ci.org/carbonblack/cbfeeds)
2
2
3
+
3
4
## License
4
5
5
6
Use of the Carbon Black Feeds API is governed by the license found in LICENSE.md.
@@ -28,6 +29,15 @@ The CB Response 5.0+ server adds support for two new types of indicators:
28
29
The CB Response 6.1+ server adds support for one new type of indicator:
29
30
30
31
* IPv6 addresses
32
+
33
+
The CB Response 7.0+ server adds support for one new type of indicator:
34
+
35
+
* Binary SHA-256
36
+
37
+
The CB Response 7.3+ server adds support for two new types of indicator:
38
+
39
+
* Ja3 hash
40
+
* Ja3s hash
31
41
32
42
Please note that query IOC types have significant differences as compared to MD5s, IPv4 and IPv6 addresses, and DNS names. Please see notes below regarding their usage.
33
43
@@ -36,6 +46,8 @@ easy to add support for feed data from any input source.
36
46
37
47
Example feed creation scripts are included. See the 'Examples' section in this document for a listing of the examples.
38
48
49
+
> _**NOTE:** As of this version, python 3 is a requirement._
50
+
39
51
## Using the Carbon Black Feeds API
40
52
41
53
The Carbon Black Feeds API (CBFAPI) is found on github at:
@@ -109,20 +121,22 @@ Each `report` has report metadata and a list of IOCs.
109
121
110
122
`feedinfo` is a JSON structure with the following entries:
111
123
112
-
| name | status | description |
113
-
| -------------- | -------- |-------------|
114
-
|`name`| REQUIRED | Internal name; must not include spaces or special characters. See Notes. |
115
-
|`display_name`| REQUIRED | Display name for the user interface. |
116
-
|`provider_url`| REQUIRED | Human-consumpable link to view more information about this feed. |
117
-
|`summary`| REQUIRED | A short description of this feed. |
118
-
|`tech_data`| REQUIRED | More detailed technical description, to include data sharing requirements (if any) |
119
-
|`icon`| OPTIONAL | A base64 encoded version of the image to use in the user interface |
120
-
|`icon_small`| OPTIONAL | A base64 encoded version of a smaller icon |
121
-
|`category`| OPTIONAL | Category of the feed i.e. Open Source, Partner, Connector, First Party etc. |
124
+
| name | status | description |
125
+
| ---------------- | -------- |-------------|
126
+
|`display_name`| REQUIRED | Display name for the user interface. |
127
+
|`name`| REQUIRED | Internal name; must not include spaces or special characters. See Notes. |
128
+
|`provider_url`| REQUIRED | Human-consumpable link to view more information about this feed. |
129
+
|`summary`| REQUIRED | A short description of this feed. |
130
+
|`tech_data`| REQUIRED | More detailed technical description, to include data sharing requirements (if any) |
131
+
|`category`|_OPTIONAL_| Category of the feed i.e. Open Source, Partner, Connector, First Party etc. |
132
+
|`icon`|_OPTIONAL_| A base64 encoded version of the image to use in the user interface |
133
+
|`icon_small`|_OPTIONAL_| A base64 encoded version of a smaller icon |
134
+
|`provider_rating`|_OPTIONAL_| Provider rating for the feed. |
135
+
|`version`|_OPTIONAL_| Version of the feed source. |
122
136
123
137
Notes:
124
138
125
-
The 'name' field must not include spaces or special characters. Typically, it should be unique per-feed on a single server.
139
+
The 'name' field cannot not include spaces or special characters. Typically, it should be unique per-feed on a single server.
126
140
127
141
#### Icon
128
142
@@ -136,15 +150,15 @@ Explanation of `category` parameters:
136
150
137
151
| Category Name | Description |
138
152
| ------------- | ----------- |
139
-
|`Partner`| Proprietary threat intelligence provided to the Threat Intelligence Cloud via a partner agreement. |
140
-
|`Open Source`| Open Source intelligence that is generally available to the public |
153
+
|`Carbon Black`| Intelligence based on output from host-based integrations |
141
154
|`Carbon Black First Party`| Intelligence generated inside the Threat Intelligence Cloud by the Carbon Black Research team |
142
155
|`Connectors`| Intelligence connectors from third party technologies Carbon Black have integrated with |
143
-
|`Carbon Black`| Intelligence based on output from host-based integrations |
144
156
|`Meta-feed`| Includes a theme-based aggregate of selected intelligence indicators from other feeds |
157
+
|`Partner`| Proprietary threat intelligence provided to the Threat Intelligence Cloud via a partner agreement. |
158
+
|`Open Source`| Open Source intelligence that is generally available to the public |
145
159
146
160
147
-
An example `feedinfo` structure, from the generate_tor_feed.py script:
161
+
An example `feedinfo` structure, from the `generate_tor_feed.py` script:
148
162
149
163
```
150
164
"feedinfo": {
@@ -165,14 +179,14 @@ A `report` is a JSON structure with the following entries:
165
179
166
180
| name | status | description |
167
181
| -------------- | -------- |-------------|
168
-
|`timestamp`| REQUIRED | Time this report was last updated, in seconds since epoch (GMT). This should always be updated whenever the content of the report changes.|
169
182
|`id`| REQUIRED | A report id, must be unique per feed `name` for the lifetime of the feed. Must be alphanumeric (including no spaces).|
183
+
|`iocs`| REQUIRED | The IOCs for this report. A match on __any__ IOC will cause the activity to be tagged with this report id. The IOC format is described below.|
170
184
|`link`| REQUIRED | Human-consumbable link to information about this report.|
171
-
|`title`| REQUIRED | A one-line title describing this report.|
172
185
|`score`| REQUIRED | The severity of this report from -100 to 100, with 100 most critical.|
173
-
|`iocs`| REQUIRED | The IOCs for this report. A match on __any__ IOC will cause the activity to be tagged with this report id. The IOC format is described below.|
174
-
|`tags`| OPTIONAL | A comma separated list of identifiers to tag the report. |
175
-
|`description`| OPTIONAL | A description of the report. |
186
+
|`timestamp`| REQUIRED | Time this report was last updated, in seconds since epoch (GMT). This should always be updated whenever the content of the report changes.|
187
+
|`title`| REQUIRED | A one-line title describing this report.|
188
+
|`description`|_OPTIONAL_| A description of the report. |
189
+
|`tags`|_OPTIONAL_| A comma separated list of identifiers to tag the report. |
176
190
177
191
### iocs
178
192
@@ -190,15 +204,27 @@ CB Response 6.1+ supports all 5.0 IOCs and adds one additional type:
190
204
191
205
* ipv6 addresses
192
206
207
+
The CB Response 7.0+ server adds support for one new type of indicator:
208
+
209
+
* Binary SHA-256
210
+
211
+
The CB Response 7.3+ server adds support for two new types of indicator:
212
+
213
+
* Ja3 hash
214
+
* Ja3s hash
215
+
193
216
`iocs` is a structure with one or more of these entries:
194
217
195
218
| name | status | description |
196
219
| -------------- | -------- |-------------|
197
-
|`ipv4`| OPTIONAL | A list of IPv4 addresses in dotted decimal form|
198
-
|`ipv6`| OPTIONAL | A list of IPv6 addresses|
199
-
|`dns`| OPTIONAL | A list of domain names|
200
-
|`md5`| OPTIONAL | A list of md5s|
201
-
|`query`| OPTIONAL | A query of type "events" or "modules"|
220
+
|`dns`|_OPTIONAL_| A list of domain names|
221
+
|`ipv4`|_OPTIONAL_| A list of IPv4 addresses in dotted decimal form|
222
+
|`ipv6`|_OPTIONAL_| A list of IPv6 addresses|
223
+
|`ja3`|_OPTIONAL_| A list of ja3 hashes (md5)|
224
+
|`ja3s`|_OPTIONAL_| A list of ja3s hashes (md5)|
225
+
|`md5`|_OPTIONAL_| A list of md5s|
226
+
|`query`|_OPTIONAL_| A query of type "events" or "modules"|
227
+
|`sha256`|_OPTIONAL_| A list of sha-256s|
202
228
203
229
An example `reports` list with two `report` structures, each with one IPv4 IOC, from the example_tor.py script:
0 commit comments