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: tutorial/tutorial.md
+69-15Lines changed: 69 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -134,41 +134,95 @@ Click **Select from defaults** to browse the curated list of well-known public f
134
134
135
135
### Option B — configure manually
136
136
137
-
**1. Pick a format.** For a public MISP feed, choose the **MISP Format** card.
137
+
Let's ingest a real CSV feed: [Cloudflare's published IPv4 ranges](https://www.cloudflare.com/ips-v4/). It's a plain list of CIDR blocks, one per line, with no header row and no delimiter — a good example of the CSV format's simplest shape.
- Choose **Row → Attribute** (each line becomes one attribute; use **Row → Object** only for multi-field rows).
171
+
- Set the **value column** to the (only) column.
172
+
- Set the **type** to a **fixed** value of `ip-dst` — MISP's IP types accept CIDR notation.
173
+
174
+

175
+
176
+
For richer feeds you can instead derive the **type** from a column and remap raw column values to MISP types under **Advanced** — for example mapping a `category` column's values onto different attribute types.
177
+
178
+

179
+
180
+
**4. Preview & create.** Confirm the previewed table and mapping look right, then click **Add Feed**.
156
181
157
-
**3. Format-specific config.**
182
+
### Option C — a JSON feed
183
+
184
+
Cloudflare also publishes the same ranges through its API as JSON: [`https://api.cloudflare.com/client/v4/ips`](https://api.cloudflare.com/client/v4/ips). The response nests the IPv4 ranges inside a `result` object, so it's a good example of the JSON format's **Items path** mapping:
-**MISP** → a *MISP Feed Rules* card, identical Basic/Advanced pattern to server pull rules (filter by published-after time, tags, orgs). Defaults to the last 30 days.
-**Structure** → **array** (once you point the items path at the CIDR list below, each element is a plain string).
214
+
-**Items path** → `result.ipv4_cidrs` — dot-notation to the array you want to ingest. Click **Preview** to fetch the response and confirm the path resolves to the list of CIDRs.
162
215
163
-
-**CSV** → set *First row is header* and *Delimiter*, preview the table, choose **Row → Attribute** or **Row → Object**, then map the **value column** and **type** (fixed or from a column, with optional type-value remapping).
-**JSON** → choose *array / object / NDJSON*, set an *Items path*, then map the **value field** and **attribute type**.
218
+

166
219
167
-
-**Freetext** → choose **Automatic** type detection or a **Fixed type**, and preview the detected indicators.
220
+
-**Value field** → leave empty / `.` — each item *is* the value (a bare string), not an object with fields. For object items you'd put the field name here (e.g. `ip`).
221
+
-**Attribute type** → fixed `ip-dst`.
168
222
169
-
**4. Preview & create.** For MISP feeds, **Preview** (`test-connection`) confirms the URL is reachable and returns a valid manifest, and shows how many events survive your rules. Click **Add Feed**.
0 commit comments