935 lines
		
	
	
		
			57 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			935 lines
		
	
	
		
			57 KiB
		
	
	
	
		
			Plaintext
		
	
	
{
 | 
						|
 "cells": [
 | 
						|
  {
 | 
						|
   "cell_type": "code",
 | 
						|
   "execution_count": 1,
 | 
						|
   "metadata": {
 | 
						|
    "nbsphinx": "hidden"
 | 
						|
   },
 | 
						|
   "outputs": [],
 | 
						|
   "source": [
 | 
						|
    "# Delete this cell to re-enable tracebacks\n",
 | 
						|
    "import sys\n",
 | 
						|
    "ipython = get_ipython()\n",
 | 
						|
    "\n",
 | 
						|
    "def hide_traceback(exc_tuple=None, filename=None, tb_offset=None,\n",
 | 
						|
    "                   exception_only=False, running_compiled_code=False):\n",
 | 
						|
    "    etype, value, tb = sys.exc_info()\n",
 | 
						|
    "    return ipython._showtraceback(etype, value, ipython.InteractiveTB.get_exception_only(etype, value))\n",
 | 
						|
    "\n",
 | 
						|
    "ipython.showtraceback = hide_traceback"
 | 
						|
   ]
 | 
						|
  },
 | 
						|
  {
 | 
						|
   "cell_type": "code",
 | 
						|
   "execution_count": 2,
 | 
						|
   "metadata": {
 | 
						|
    "nbsphinx": "hidden"
 | 
						|
   },
 | 
						|
   "outputs": [],
 | 
						|
   "source": [
 | 
						|
    "# JSON output syntax highlighting\n",
 | 
						|
    "from __future__ import print_function\n",
 | 
						|
    "from pygments import highlight\n",
 | 
						|
    "from pygments.lexers import JsonLexer, TextLexer\n",
 | 
						|
    "from pygments.formatters import HtmlFormatter\n",
 | 
						|
    "from IPython.display import display, HTML\n",
 | 
						|
    "from IPython.core.interactiveshell import InteractiveShell\n",
 | 
						|
    "\n",
 | 
						|
    "InteractiveShell.ast_node_interactivity = \"all\"\n",
 | 
						|
    "\n",
 | 
						|
    "def json_print(inpt):\n",
 | 
						|
    "    string = str(inpt)\n",
 | 
						|
    "    formatter = HtmlFormatter()\n",
 | 
						|
    "    if string[0] == '{':\n",
 | 
						|
    "        lexer = JsonLexer()\n",
 | 
						|
    "    else:\n",
 | 
						|
    "        lexer = TextLexer()\n",
 | 
						|
    "    return HTML('<style type=\"text/css\">{}</style>{}'.format(\n",
 | 
						|
    "                formatter.get_style_defs('.highlight'),\n",
 | 
						|
    "                highlight(string, lexer, formatter)))\n",
 | 
						|
    "\n",
 | 
						|
    "globals()['print'] = json_print"
 | 
						|
   ]
 | 
						|
  },
 | 
						|
  {
 | 
						|
   "cell_type": "markdown",
 | 
						|
   "metadata": {},
 | 
						|
   "source": [
 | 
						|
    "## FileSystem \n",
 | 
						|
    "\n",
 | 
						|
    "The FileSystem suite contains [FileSystemStore](../api/datastore/stix2.datastore.filesystem.rst#stix2.datastore.filesystem.FileSystemStore), [FileSystemSource](../api/datastore/stix2.datastore.filesystem.rst#stix2.datastore.filesystem.FileSystemSource) and [FileSystemSink](../api/datastore/stix2.datastore.filesystem.rst#stix2.datastore.filesystem.FileSystemSink). Under the hood, all FileSystem objects point to a file directory (on disk) that contains STIX 2 content. \n",
 | 
						|
    "\n",
 | 
						|
    "The directory and file structure of the intended STIX 2 content should be:\n",
 | 
						|
    "\n",
 | 
						|
    "```\n",
 | 
						|
    "stix2_content/\n",
 | 
						|
    "    /STIX2 Domain Object type\n",
 | 
						|
    "        STIX2 Domain Object\n",
 | 
						|
    "        STIX2 Domain Object\n",
 | 
						|
    "            .\n",
 | 
						|
    "            .\n",
 | 
						|
    "            .\n",
 | 
						|
    "    /STIX2 Domain Object type\n",
 | 
						|
    "        STIX2 Domain Object\n",
 | 
						|
    "        STIX2 Domain Object\n",
 | 
						|
    "            .\n",
 | 
						|
    "            .\n",
 | 
						|
    "            .\n",
 | 
						|
    "        .\n",
 | 
						|
    "        .\n",
 | 
						|
    "        .\n",
 | 
						|
    "    /STIX2 Domain Object type\n",
 | 
						|
    "```\n",
 | 
						|
    "\n",
 | 
						|
    "The master STIX 2 content directory contains subdirectories, each of which aligns to a STIX 2 domain object type (i.e. \"attack-pattern\", \"campaign\", \"malware\", etc.). Within each STIX 2 domain object subdirectory are JSON files that are STIX 2 domain objects of the specified type. The name of the json files correspond to the ID of the STIX 2 domain object found within that file. A real example of the FileSystem directory structure:\n",
 | 
						|
    "\n",
 | 
						|
    "```\n",
 | 
						|
    "stix2_content/\n",
 | 
						|
    "    /attack-pattern\n",
 | 
						|
    "        attack-pattern--00d0b012-8a03-410e-95de-5826bf542de6.json\n",
 | 
						|
    "        attack-pattern--0a3ead4e-6d47-4ccb-854c-a6a4f9d96b22.json\n",
 | 
						|
    "        attack-pattern--1b7ba276-eedc-4951-a762-0ceea2c030ec.json\n",
 | 
						|
    "    /campaign\n",
 | 
						|
    "    /course-of-action\n",
 | 
						|
    "        course-of-action--2a8de25c-f743-4348-b101-3ee33ab5871b.json\n",
 | 
						|
    "        course-of-action--2c3ce852-06a2-40ee-8fe6-086f6402a739.json\n",
 | 
						|
    "    /identity\n",
 | 
						|
    "        identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5.json\n",
 | 
						|
    "    /indicator\n",
 | 
						|
    "    /intrusion-set\n",
 | 
						|
    "    /malware\n",
 | 
						|
    "        malware--1d808f62-cf63-4063-9727-ff6132514c22.json\n",
 | 
						|
    "        malware--2eb9b131-d333-4a48-9eb4-d8dec46c19ee.json\n",
 | 
						|
    "    /observed-data\n",
 | 
						|
    "    /report\n",
 | 
						|
    "    /threat-actor\n",
 | 
						|
    "    /vulnerability\n",
 | 
						|
    "```\n",
 | 
						|
    "\n",
 | 
						|
    "[FileSystemStore](../api/datastore/stix2.datastore.filesystem.rst#stix2.datastore.filesystem.FileSystemStore) is intended for use cases where STIX 2 content is retrieved and pushed to the same file directory. As [FileSystemStore](../api/datastore/stix2.datastore.filesystem.rst#stix2.datastore.filesystem.FileSystemStore) is just a wrapper around a paired [FileSystemSource](../api/datastore/stix2.datastore.filesystem.rst#stix2.datastore.filesystem.FileSystemSource) and [FileSystemSink](../api/datastore/stix2.datastore.filesystem.rst#stix2.datastore.filesystem.FileSystemSink) that point the same file directory.\n",
 | 
						|
    "\n",
 | 
						|
    "For use cases where STIX 2 content will only be retrieved or pushed, then a [FileSystemSource](../api/datastore/stix2.datastore.filesystem.rst#stix2.datastore.filesystem.FileSystemSource) and [FileSystemSink](../api/datastore/stix2.datastore.filesystem.rst#stix2.datastore.filesystem.FileSystemSink) can be used individually. They can also be used individually when STIX 2 content will be retrieved from one distinct file directory and pushed to another.\n",
 | 
						|
    "\n",
 | 
						|
    "### FileSystem API\n",
 | 
						|
    "\n",
 | 
						|
    "A note on [get()](../api/datastore/stix2.datastore.filesystem.rst#stix2.datastore.filesystem.FileSystemSource.get), [all_versions()](../api/datastore/stix2.datastore.filesystem.rst#stix2.datastore.filesystem.FileSystemSource.all_versions), and [query()](../api/datastore/stix2.datastore.filesystem.rst#stix2.datastore.filesystem.FileSystemSource.query): The format of the STIX2 content targeted by the FileSystem suite is JSON files. When the [FileSystemStore](../api/datastore/stix2.datastore.filesystem.rst#stix2.datastore.filesystem.FileSystemStore) retrieves STIX 2 content (in JSON) from disk, it will attempt to parse the content into full-featured python-stix2 objects and returned as such. \n",
 | 
						|
    "\n",
 | 
						|
    "A note on [add()](../api/datastore/stix2.datastore.filesystem.rst#stix2.datastore.filesystem.FileSystemSink.add): When STIX content is added (pushed) to the file system, the STIX content can be supplied in the following forms: Python STIX objects, Python dictionaries (of valid STIX objects or Bundles), JSON-encoded strings (of valid STIX objects or Bundles), or a (Python) list of any of the previously listed types. Any of the previous STIX content forms will be converted to a STIX JSON object (in a STIX Bundle) and written to disk. \n",
 | 
						|
    "\n",
 | 
						|
    "### FileSystem Examples\n",
 | 
						|
    "\n",
 | 
						|
    "#### FileSystemStore\n",
 | 
						|
    "\n",
 | 
						|
    "Use the FileSystemStore when you want to both retrieve STIX content from the file system and push STIX content to it, too."
 | 
						|
   ]
 | 
						|
  },
 | 
						|
  {
 | 
						|
   "cell_type": "code",
 | 
						|
   "execution_count": 4,
 | 
						|
   "metadata": {},
 | 
						|
   "outputs": [
 | 
						|
    {
 | 
						|
     "data": {
 | 
						|
      "text/html": [
 | 
						|
       "<style type=\"text/css\">.highlight .hll { background-color: #ffffcc }\n",
 | 
						|
       ".highlight  { background: #f8f8f8; }\n",
 | 
						|
       ".highlight .c { color: #408080; font-style: italic } /* Comment */\n",
 | 
						|
       ".highlight .err { border: 1px solid #FF0000 } /* Error */\n",
 | 
						|
       ".highlight .k { color: #008000; font-weight: bold } /* Keyword */\n",
 | 
						|
       ".highlight .o { color: #666666 } /* Operator */\n",
 | 
						|
       ".highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n",
 | 
						|
       ".highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n",
 | 
						|
       ".highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n",
 | 
						|
       ".highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n",
 | 
						|
       ".highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n",
 | 
						|
       ".highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n",
 | 
						|
       ".highlight .gd { color: #A00000 } /* Generic.Deleted */\n",
 | 
						|
       ".highlight .ge { font-style: italic } /* Generic.Emph */\n",
 | 
						|
       ".highlight .gr { color: #FF0000 } /* Generic.Error */\n",
 | 
						|
       ".highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n",
 | 
						|
       ".highlight .gi { color: #00A000 } /* Generic.Inserted */\n",
 | 
						|
       ".highlight .go { color: #888888 } /* Generic.Output */\n",
 | 
						|
       ".highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n",
 | 
						|
       ".highlight .gs { font-weight: bold } /* Generic.Strong */\n",
 | 
						|
       ".highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n",
 | 
						|
       ".highlight .gt { color: #0044DD } /* Generic.Traceback */\n",
 | 
						|
       ".highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n",
 | 
						|
       ".highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n",
 | 
						|
       ".highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n",
 | 
						|
       ".highlight .kp { color: #008000 } /* Keyword.Pseudo */\n",
 | 
						|
       ".highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n",
 | 
						|
       ".highlight .kt { color: #B00040 } /* Keyword.Type */\n",
 | 
						|
       ".highlight .m { color: #666666 } /* Literal.Number */\n",
 | 
						|
       ".highlight .s { color: #BA2121 } /* Literal.String */\n",
 | 
						|
       ".highlight .na { color: #7D9029 } /* Name.Attribute */\n",
 | 
						|
       ".highlight .nb { color: #008000 } /* Name.Builtin */\n",
 | 
						|
       ".highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n",
 | 
						|
       ".highlight .no { color: #880000 } /* Name.Constant */\n",
 | 
						|
       ".highlight .nd { color: #AA22FF } /* Name.Decorator */\n",
 | 
						|
       ".highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n",
 | 
						|
       ".highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n",
 | 
						|
       ".highlight .nf { color: #0000FF } /* Name.Function */\n",
 | 
						|
       ".highlight .nl { color: #A0A000 } /* Name.Label */\n",
 | 
						|
       ".highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n",
 | 
						|
       ".highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n",
 | 
						|
       ".highlight .nv { color: #19177C } /* Name.Variable */\n",
 | 
						|
       ".highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n",
 | 
						|
       ".highlight .w { color: #bbbbbb } /* Text.Whitespace */\n",
 | 
						|
       ".highlight .mb { color: #666666 } /* Literal.Number.Bin */\n",
 | 
						|
       ".highlight .mf { color: #666666 } /* Literal.Number.Float */\n",
 | 
						|
       ".highlight .mh { color: #666666 } /* Literal.Number.Hex */\n",
 | 
						|
       ".highlight .mi { color: #666666 } /* Literal.Number.Integer */\n",
 | 
						|
       ".highlight .mo { color: #666666 } /* Literal.Number.Oct */\n",
 | 
						|
       ".highlight .sa { color: #BA2121 } /* Literal.String.Affix */\n",
 | 
						|
       ".highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n",
 | 
						|
       ".highlight .sc { color: #BA2121 } /* Literal.String.Char */\n",
 | 
						|
       ".highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */\n",
 | 
						|
       ".highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n",
 | 
						|
       ".highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n",
 | 
						|
       ".highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n",
 | 
						|
       ".highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n",
 | 
						|
       ".highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n",
 | 
						|
       ".highlight .sx { color: #008000 } /* Literal.String.Other */\n",
 | 
						|
       ".highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n",
 | 
						|
       ".highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n",
 | 
						|
       ".highlight .ss { color: #19177C } /* Literal.String.Symbol */\n",
 | 
						|
       ".highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n",
 | 
						|
       ".highlight .fm { color: #0000FF } /* Name.Function.Magic */\n",
 | 
						|
       ".highlight .vc { color: #19177C } /* Name.Variable.Class */\n",
 | 
						|
       ".highlight .vg { color: #19177C } /* Name.Variable.Global */\n",
 | 
						|
       ".highlight .vi { color: #19177C } /* Name.Variable.Instance */\n",
 | 
						|
       ".highlight .vm { color: #19177C } /* Name.Variable.Magic */\n",
 | 
						|
       ".highlight .il { color: #666666 } /* Literal.Number.Integer.Long */</style><div class=\"highlight\"><pre><span></span><span class=\"p\">{</span>\n",
 | 
						|
       "    <span class=\"nt\">"type"</span><span class=\"p\">:</span> <span class=\"s2\">"malware"</span><span class=\"p\">,</span>\n",
 | 
						|
       "    <span class=\"nt\">"id"</span><span class=\"p\">:</span> <span class=\"s2\">"malware--00c3bfcb-99bd-4767-8c03-b08f585f5c8a"</span><span class=\"p\">,</span>\n",
 | 
						|
       "    <span class=\"nt\">"created_by_ref"</span><span class=\"p\">:</span> <span class=\"s2\">"identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5"</span><span class=\"p\">,</span>\n",
 | 
						|
       "    <span class=\"nt\">"created"</span><span class=\"p\">:</span> <span class=\"s2\">"2017-05-31T21:33:19.746Z"</span><span class=\"p\">,</span>\n",
 | 
						|
       "    <span class=\"nt\">"modified"</span><span class=\"p\">:</span> <span class=\"s2\">"2017-05-31T21:33:19.746Z"</span><span class=\"p\">,</span>\n",
 | 
						|
       "    <span class=\"nt\">"name"</span><span class=\"p\">:</span> <span class=\"s2\">"PowerDuke"</span><span class=\"p\">,</span>\n",
 | 
						|
       "    <span class=\"nt\">"description"</span><span class=\"p\">:</span> <span class=\"s2\">"PowerDuke is a backdoor that was used by APT29 in 2016. It has primarily been delivered through Microsoft Word or Excel attachments containing malicious macros.[[Citation: Volexity PowerDuke November 2016]]"</span><span class=\"p\">,</span>\n",
 | 
						|
       "    <span class=\"nt\">"labels"</span><span class=\"p\">:</span> <span class=\"p\">[</span>\n",
 | 
						|
       "        <span class=\"s2\">"malware"</span>\n",
 | 
						|
       "    <span class=\"p\">],</span>\n",
 | 
						|
       "    <span class=\"nt\">"external_references"</span><span class=\"p\">:</span> <span class=\"p\">[</span>\n",
 | 
						|
       "        <span class=\"p\">{</span>\n",
 | 
						|
       "            <span class=\"nt\">"source_name"</span><span class=\"p\">:</span> <span class=\"s2\">"mitre-attack"</span><span class=\"p\">,</span>\n",
 | 
						|
       "            <span class=\"nt\">"url"</span><span class=\"p\">:</span> <span class=\"s2\">"https://attack.mitre.org/wiki/Software/S0139"</span><span class=\"p\">,</span>\n",
 | 
						|
       "            <span class=\"nt\">"external_id"</span><span class=\"p\">:</span> <span class=\"s2\">"S0139"</span>\n",
 | 
						|
       "        <span class=\"p\">},</span>\n",
 | 
						|
       "        <span class=\"p\">{</span>\n",
 | 
						|
       "            <span class=\"nt\">"source_name"</span><span class=\"p\">:</span> <span class=\"s2\">"Volexity PowerDuke November 2016"</span><span class=\"p\">,</span>\n",
 | 
						|
       "            <span class=\"nt\">"description"</span><span class=\"p\">:</span> <span class=\"s2\">"Adair, S.. (2016, November 9). PowerDuke: Widespread Post-Election Spear Phishing Campaigns Targeting Think Tanks and NGOs. Retrieved January 11, 2017."</span><span class=\"p\">,</span>\n",
 | 
						|
       "            <span class=\"nt\">"url"</span><span class=\"p\">:</span> <span class=\"s2\">"https://www.volexity.com/blog/2016/11/09/powerduke-post-election-spear-phishing-campaigns-targeting-think-tanks-and-ngos/"</span>\n",
 | 
						|
       "        <span class=\"p\">}</span>\n",
 | 
						|
       "    <span class=\"p\">],</span>\n",
 | 
						|
       "    <span class=\"nt\">"object_marking_refs"</span><span class=\"p\">:</span> <span class=\"p\">[</span>\n",
 | 
						|
       "        <span class=\"s2\">"marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168"</span>\n",
 | 
						|
       "    <span class=\"p\">]</span>\n",
 | 
						|
       "<span class=\"p\">}</span>\n",
 | 
						|
       "</pre></div>\n"
 | 
						|
      ],
 | 
						|
      "text/plain": [
 | 
						|
       "<IPython.core.display.HTML object>"
 | 
						|
      ]
 | 
						|
     },
 | 
						|
     "execution_count": 4,
 | 
						|
     "metadata": {},
 | 
						|
     "output_type": "execute_result"
 | 
						|
    }
 | 
						|
   ],
 | 
						|
   "source": [
 | 
						|
    "from stix2 import FileSystemStore\n",
 | 
						|
    "\n",
 | 
						|
    "# create FileSystemStore\n",
 | 
						|
    "fs = FileSystemStore(\"/tmp/stix2_store\")\n",
 | 
						|
    "\n",
 | 
						|
    "# retrieve STIX2 content from FileSystemStore\n",
 | 
						|
    "ap = fs.get(\"attack-pattern--00d0b012-8a03-410e-95de-5826bf542de6\")\n",
 | 
						|
    "mal = fs.get(\"malware--00c3bfcb-99bd-4767-8c03-b08f585f5c8a\")\n",
 | 
						|
    "\n",
 | 
						|
    "# for visual purposes\n",
 | 
						|
    "print(mal)"
 | 
						|
   ]
 | 
						|
  },
 | 
						|
  {
 | 
						|
   "cell_type": "code",
 | 
						|
   "execution_count": 2,
 | 
						|
   "metadata": {
 | 
						|
    "collapsed": true
 | 
						|
   },
 | 
						|
   "outputs": [],
 | 
						|
   "source": [
 | 
						|
    "from stix2 import ThreatActor, Indicator\n",
 | 
						|
    "\n",
 | 
						|
    "# create new STIX threat-actor\n",
 | 
						|
    "ta = ThreatActor(name=\"Adjective Bear\",\n",
 | 
						|
    "                labels=[\"nation-state\"],\n",
 | 
						|
    "                sophistication=\"innovator\",\n",
 | 
						|
    "                resource_level=\"government\",\n",
 | 
						|
    "                goals=[\n",
 | 
						|
    "                    \"compromising media outlets\",\n",
 | 
						|
    "                    \"water-hole attacks geared towards political, military targets\",\n",
 | 
						|
    "                    \"intelligence collection\"\n",
 | 
						|
    "                ])\n",
 | 
						|
    "\n",
 | 
						|
    "# create new indicators\n",
 | 
						|
    "ind = Indicator(description=\"Crusades C2 implant\",\n",
 | 
						|
    "                labels=[\"malicious-activity\"],\n",
 | 
						|
    "                pattern=\"[file:hashes.'SHA-256' = '54b7e05e39a59428743635242e4a867c932140a999f52a1e54fa7ee6a440c73b']\")\n",
 | 
						|
    "\n",
 | 
						|
    "ind1 = Indicator(description=\"Crusades C2 implant 2\",\n",
 | 
						|
    "                 labels=[\"malicious-activity\"],\n",
 | 
						|
    "                 pattern=\"[file:hashes.'SHA-256' = '64c7e05e40a59511743635242e4a867c932140a999f52a1e54fa7ee6a440c73b']\")\n",
 | 
						|
    "\n",
 | 
						|
    "# add STIX object (threat-actor) to FileSystemStore\n",
 | 
						|
    "fs.add(ta)\n",
 | 
						|
    "\n",
 | 
						|
    "# can also add multiple STIX objects to FileSystemStore in one call\n",
 | 
						|
    "fs.add([ind, ind1])"
 | 
						|
   ]
 | 
						|
  },
 | 
						|
  {
 | 
						|
   "cell_type": "markdown",
 | 
						|
   "metadata": {},
 | 
						|
   "source": [
 | 
						|
    "#### FileSystemSource\n",
 | 
						|
    "\n",
 | 
						|
    "Use the FileSystemSource when you only want to retrieve STIX content from the file system."
 | 
						|
   ]
 | 
						|
  },
 | 
						|
  {
 | 
						|
   "cell_type": "code",
 | 
						|
   "execution_count": 6,
 | 
						|
   "metadata": {},
 | 
						|
   "outputs": [
 | 
						|
    {
 | 
						|
     "data": {
 | 
						|
      "text/html": [
 | 
						|
       "<style type=\"text/css\">.highlight .hll { background-color: #ffffcc }\n",
 | 
						|
       ".highlight  { background: #f8f8f8; }\n",
 | 
						|
       ".highlight .c { color: #408080; font-style: italic } /* Comment */\n",
 | 
						|
       ".highlight .err { border: 1px solid #FF0000 } /* Error */\n",
 | 
						|
       ".highlight .k { color: #008000; font-weight: bold } /* Keyword */\n",
 | 
						|
       ".highlight .o { color: #666666 } /* Operator */\n",
 | 
						|
       ".highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n",
 | 
						|
       ".highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n",
 | 
						|
       ".highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n",
 | 
						|
       ".highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n",
 | 
						|
       ".highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n",
 | 
						|
       ".highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n",
 | 
						|
       ".highlight .gd { color: #A00000 } /* Generic.Deleted */\n",
 | 
						|
       ".highlight .ge { font-style: italic } /* Generic.Emph */\n",
 | 
						|
       ".highlight .gr { color: #FF0000 } /* Generic.Error */\n",
 | 
						|
       ".highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n",
 | 
						|
       ".highlight .gi { color: #00A000 } /* Generic.Inserted */\n",
 | 
						|
       ".highlight .go { color: #888888 } /* Generic.Output */\n",
 | 
						|
       ".highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n",
 | 
						|
       ".highlight .gs { font-weight: bold } /* Generic.Strong */\n",
 | 
						|
       ".highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n",
 | 
						|
       ".highlight .gt { color: #0044DD } /* Generic.Traceback */\n",
 | 
						|
       ".highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n",
 | 
						|
       ".highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n",
 | 
						|
       ".highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n",
 | 
						|
       ".highlight .kp { color: #008000 } /* Keyword.Pseudo */\n",
 | 
						|
       ".highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n",
 | 
						|
       ".highlight .kt { color: #B00040 } /* Keyword.Type */\n",
 | 
						|
       ".highlight .m { color: #666666 } /* Literal.Number */\n",
 | 
						|
       ".highlight .s { color: #BA2121 } /* Literal.String */\n",
 | 
						|
       ".highlight .na { color: #7D9029 } /* Name.Attribute */\n",
 | 
						|
       ".highlight .nb { color: #008000 } /* Name.Builtin */\n",
 | 
						|
       ".highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n",
 | 
						|
       ".highlight .no { color: #880000 } /* Name.Constant */\n",
 | 
						|
       ".highlight .nd { color: #AA22FF } /* Name.Decorator */\n",
 | 
						|
       ".highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n",
 | 
						|
       ".highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n",
 | 
						|
       ".highlight .nf { color: #0000FF } /* Name.Function */\n",
 | 
						|
       ".highlight .nl { color: #A0A000 } /* Name.Label */\n",
 | 
						|
       ".highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n",
 | 
						|
       ".highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n",
 | 
						|
       ".highlight .nv { color: #19177C } /* Name.Variable */\n",
 | 
						|
       ".highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n",
 | 
						|
       ".highlight .w { color: #bbbbbb } /* Text.Whitespace */\n",
 | 
						|
       ".highlight .mb { color: #666666 } /* Literal.Number.Bin */\n",
 | 
						|
       ".highlight .mf { color: #666666 } /* Literal.Number.Float */\n",
 | 
						|
       ".highlight .mh { color: #666666 } /* Literal.Number.Hex */\n",
 | 
						|
       ".highlight .mi { color: #666666 } /* Literal.Number.Integer */\n",
 | 
						|
       ".highlight .mo { color: #666666 } /* Literal.Number.Oct */\n",
 | 
						|
       ".highlight .sa { color: #BA2121 } /* Literal.String.Affix */\n",
 | 
						|
       ".highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n",
 | 
						|
       ".highlight .sc { color: #BA2121 } /* Literal.String.Char */\n",
 | 
						|
       ".highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */\n",
 | 
						|
       ".highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n",
 | 
						|
       ".highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n",
 | 
						|
       ".highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n",
 | 
						|
       ".highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n",
 | 
						|
       ".highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n",
 | 
						|
       ".highlight .sx { color: #008000 } /* Literal.String.Other */\n",
 | 
						|
       ".highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n",
 | 
						|
       ".highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n",
 | 
						|
       ".highlight .ss { color: #19177C } /* Literal.String.Symbol */\n",
 | 
						|
       ".highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n",
 | 
						|
       ".highlight .fm { color: #0000FF } /* Name.Function.Magic */\n",
 | 
						|
       ".highlight .vc { color: #19177C } /* Name.Variable.Class */\n",
 | 
						|
       ".highlight .vg { color: #19177C } /* Name.Variable.Global */\n",
 | 
						|
       ".highlight .vi { color: #19177C } /* Name.Variable.Instance */\n",
 | 
						|
       ".highlight .vm { color: #19177C } /* Name.Variable.Magic */\n",
 | 
						|
       ".highlight .il { color: #666666 } /* Literal.Number.Integer.Long */</style><div class=\"highlight\"><pre><span></span><span class=\"p\">{</span>\n",
 | 
						|
       "    <span class=\"nt\">"type"</span><span class=\"p\">:</span> <span class=\"s2\">"attack-pattern"</span><span class=\"p\">,</span>\n",
 | 
						|
       "    <span class=\"nt\">"id"</span><span class=\"p\">:</span> <span class=\"s2\">"attack-pattern--00d0b012-8a03-410e-95de-5826bf542de6"</span><span class=\"p\">,</span>\n",
 | 
						|
       "    <span class=\"nt\">"created_by_ref"</span><span class=\"p\">:</span> <span class=\"s2\">"identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5"</span><span class=\"p\">,</span>\n",
 | 
						|
       "    <span class=\"nt\">"created"</span><span class=\"p\">:</span> <span class=\"s2\">"2017-05-31T21:30:54.176Z"</span><span class=\"p\">,</span>\n",
 | 
						|
       "    <span class=\"nt\">"modified"</span><span class=\"p\">:</span> <span class=\"s2\">"2017-05-31T21:30:54.176Z"</span><span class=\"p\">,</span>\n",
 | 
						|
       "    <span class=\"nt\">"name"</span><span class=\"p\">:</span> <span class=\"s2\">"Indicator Removal from Tools"</span><span class=\"p\">,</span>\n",
 | 
						|
       "    <span class=\"nt\">"description"</span><span class=\"p\">:</span> <span class=\"s2\">"If a malicious...command-line parameters, Process monitoring"</span><span class=\"p\">,</span>\n",
 | 
						|
       "    <span class=\"nt\">"kill_chain_phases"</span><span class=\"p\">:</span> <span class=\"p\">[</span>\n",
 | 
						|
       "        <span class=\"p\">{</span>\n",
 | 
						|
       "            <span class=\"nt\">"kill_chain_name"</span><span class=\"p\">:</span> <span class=\"s2\">"mitre-attack"</span><span class=\"p\">,</span>\n",
 | 
						|
       "            <span class=\"nt\">"phase_name"</span><span class=\"p\">:</span> <span class=\"s2\">"defense-evasion"</span>\n",
 | 
						|
       "        <span class=\"p\">}</span>\n",
 | 
						|
       "    <span class=\"p\">],</span>\n",
 | 
						|
       "    <span class=\"nt\">"external_references"</span><span class=\"p\">:</span> <span class=\"p\">[</span>\n",
 | 
						|
       "        <span class=\"p\">{</span>\n",
 | 
						|
       "            <span class=\"nt\">"source_name"</span><span class=\"p\">:</span> <span class=\"s2\">"mitre-attack"</span><span class=\"p\">,</span>\n",
 | 
						|
       "            <span class=\"nt\">"url"</span><span class=\"p\">:</span> <span class=\"s2\">"https://attack.mitre.org/wiki/Technique/T1066"</span><span class=\"p\">,</span>\n",
 | 
						|
       "            <span class=\"nt\">"external_id"</span><span class=\"p\">:</span> <span class=\"s2\">"T1066"</span>\n",
 | 
						|
       "        <span class=\"p\">}</span>\n",
 | 
						|
       "    <span class=\"p\">],</span>\n",
 | 
						|
       "    <span class=\"nt\">"object_marking_refs"</span><span class=\"p\">:</span> <span class=\"p\">[</span>\n",
 | 
						|
       "        <span class=\"s2\">"marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168"</span>\n",
 | 
						|
       "    <span class=\"p\">]</span>\n",
 | 
						|
       "<span class=\"p\">}</span>\n",
 | 
						|
       "</pre></div>\n"
 | 
						|
      ],
 | 
						|
      "text/plain": [
 | 
						|
       "<IPython.core.display.HTML object>"
 | 
						|
      ]
 | 
						|
     },
 | 
						|
     "execution_count": 6,
 | 
						|
     "metadata": {},
 | 
						|
     "output_type": "execute_result"
 | 
						|
    }
 | 
						|
   ],
 | 
						|
   "source": [
 | 
						|
    "from stix2 import FileSystemSource\n",
 | 
						|
    "\n",
 | 
						|
    "# create FileSystemSource\n",
 | 
						|
    "fs_source = FileSystemSource(\"/tmp/stix2_source\")\n",
 | 
						|
    "\n",
 | 
						|
    "# retrieve STIX 2 objects\n",
 | 
						|
    "ap = fs_source.get(\"attack-pattern--00d0b012-8a03-410e-95de-5826bf542de6\")\n",
 | 
						|
    "\n",
 | 
						|
    "# for visual purposes\n",
 | 
						|
    "print(ap)"
 | 
						|
   ]
 | 
						|
  },
 | 
						|
  {
 | 
						|
   "cell_type": "code",
 | 
						|
   "execution_count": 7,
 | 
						|
   "metadata": {},
 | 
						|
   "outputs": [
 | 
						|
    {
 | 
						|
     "data": {
 | 
						|
      "text/html": [
 | 
						|
       "<style type=\"text/css\">.highlight .hll { background-color: #ffffcc }\n",
 | 
						|
       ".highlight  { background: #f8f8f8; }\n",
 | 
						|
       ".highlight .c { color: #408080; font-style: italic } /* Comment */\n",
 | 
						|
       ".highlight .err { border: 1px solid #FF0000 } /* Error */\n",
 | 
						|
       ".highlight .k { color: #008000; font-weight: bold } /* Keyword */\n",
 | 
						|
       ".highlight .o { color: #666666 } /* Operator */\n",
 | 
						|
       ".highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n",
 | 
						|
       ".highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n",
 | 
						|
       ".highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n",
 | 
						|
       ".highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n",
 | 
						|
       ".highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n",
 | 
						|
       ".highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n",
 | 
						|
       ".highlight .gd { color: #A00000 } /* Generic.Deleted */\n",
 | 
						|
       ".highlight .ge { font-style: italic } /* Generic.Emph */\n",
 | 
						|
       ".highlight .gr { color: #FF0000 } /* Generic.Error */\n",
 | 
						|
       ".highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n",
 | 
						|
       ".highlight .gi { color: #00A000 } /* Generic.Inserted */\n",
 | 
						|
       ".highlight .go { color: #888888 } /* Generic.Output */\n",
 | 
						|
       ".highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n",
 | 
						|
       ".highlight .gs { font-weight: bold } /* Generic.Strong */\n",
 | 
						|
       ".highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n",
 | 
						|
       ".highlight .gt { color: #0044DD } /* Generic.Traceback */\n",
 | 
						|
       ".highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n",
 | 
						|
       ".highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n",
 | 
						|
       ".highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n",
 | 
						|
       ".highlight .kp { color: #008000 } /* Keyword.Pseudo */\n",
 | 
						|
       ".highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n",
 | 
						|
       ".highlight .kt { color: #B00040 } /* Keyword.Type */\n",
 | 
						|
       ".highlight .m { color: #666666 } /* Literal.Number */\n",
 | 
						|
       ".highlight .s { color: #BA2121 } /* Literal.String */\n",
 | 
						|
       ".highlight .na { color: #7D9029 } /* Name.Attribute */\n",
 | 
						|
       ".highlight .nb { color: #008000 } /* Name.Builtin */\n",
 | 
						|
       ".highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n",
 | 
						|
       ".highlight .no { color: #880000 } /* Name.Constant */\n",
 | 
						|
       ".highlight .nd { color: #AA22FF } /* Name.Decorator */\n",
 | 
						|
       ".highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n",
 | 
						|
       ".highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n",
 | 
						|
       ".highlight .nf { color: #0000FF } /* Name.Function */\n",
 | 
						|
       ".highlight .nl { color: #A0A000 } /* Name.Label */\n",
 | 
						|
       ".highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n",
 | 
						|
       ".highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n",
 | 
						|
       ".highlight .nv { color: #19177C } /* Name.Variable */\n",
 | 
						|
       ".highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n",
 | 
						|
       ".highlight .w { color: #bbbbbb } /* Text.Whitespace */\n",
 | 
						|
       ".highlight .mb { color: #666666 } /* Literal.Number.Bin */\n",
 | 
						|
       ".highlight .mf { color: #666666 } /* Literal.Number.Float */\n",
 | 
						|
       ".highlight .mh { color: #666666 } /* Literal.Number.Hex */\n",
 | 
						|
       ".highlight .mi { color: #666666 } /* Literal.Number.Integer */\n",
 | 
						|
       ".highlight .mo { color: #666666 } /* Literal.Number.Oct */\n",
 | 
						|
       ".highlight .sa { color: #BA2121 } /* Literal.String.Affix */\n",
 | 
						|
       ".highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n",
 | 
						|
       ".highlight .sc { color: #BA2121 } /* Literal.String.Char */\n",
 | 
						|
       ".highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */\n",
 | 
						|
       ".highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n",
 | 
						|
       ".highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n",
 | 
						|
       ".highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n",
 | 
						|
       ".highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n",
 | 
						|
       ".highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n",
 | 
						|
       ".highlight .sx { color: #008000 } /* Literal.String.Other */\n",
 | 
						|
       ".highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n",
 | 
						|
       ".highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n",
 | 
						|
       ".highlight .ss { color: #19177C } /* Literal.String.Symbol */\n",
 | 
						|
       ".highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n",
 | 
						|
       ".highlight .fm { color: #0000FF } /* Name.Function.Magic */\n",
 | 
						|
       ".highlight .vc { color: #19177C } /* Name.Variable.Class */\n",
 | 
						|
       ".highlight .vg { color: #19177C } /* Name.Variable.Global */\n",
 | 
						|
       ".highlight .vi { color: #19177C } /* Name.Variable.Instance */\n",
 | 
						|
       ".highlight .vm { color: #19177C } /* Name.Variable.Magic */\n",
 | 
						|
       ".highlight .il { color: #666666 } /* Literal.Number.Integer.Long */</style><div class=\"highlight\"><pre><span></span>malware--96b08451-b27a-4ff6-893f-790e26393a8e\n",
 | 
						|
       "</pre></div>\n"
 | 
						|
      ],
 | 
						|
      "text/plain": [
 | 
						|
       "<IPython.core.display.HTML object>"
 | 
						|
      ]
 | 
						|
     },
 | 
						|
     "execution_count": 7,
 | 
						|
     "metadata": {},
 | 
						|
     "output_type": "execute_result"
 | 
						|
    },
 | 
						|
    {
 | 
						|
     "data": {
 | 
						|
      "text/html": [
 | 
						|
       "<style type=\"text/css\">.highlight .hll { background-color: #ffffcc }\n",
 | 
						|
       ".highlight  { background: #f8f8f8; }\n",
 | 
						|
       ".highlight .c { color: #408080; font-style: italic } /* Comment */\n",
 | 
						|
       ".highlight .err { border: 1px solid #FF0000 } /* Error */\n",
 | 
						|
       ".highlight .k { color: #008000; font-weight: bold } /* Keyword */\n",
 | 
						|
       ".highlight .o { color: #666666 } /* Operator */\n",
 | 
						|
       ".highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n",
 | 
						|
       ".highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n",
 | 
						|
       ".highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n",
 | 
						|
       ".highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n",
 | 
						|
       ".highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n",
 | 
						|
       ".highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n",
 | 
						|
       ".highlight .gd { color: #A00000 } /* Generic.Deleted */\n",
 | 
						|
       ".highlight .ge { font-style: italic } /* Generic.Emph */\n",
 | 
						|
       ".highlight .gr { color: #FF0000 } /* Generic.Error */\n",
 | 
						|
       ".highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n",
 | 
						|
       ".highlight .gi { color: #00A000 } /* Generic.Inserted */\n",
 | 
						|
       ".highlight .go { color: #888888 } /* Generic.Output */\n",
 | 
						|
       ".highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n",
 | 
						|
       ".highlight .gs { font-weight: bold } /* Generic.Strong */\n",
 | 
						|
       ".highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n",
 | 
						|
       ".highlight .gt { color: #0044DD } /* Generic.Traceback */\n",
 | 
						|
       ".highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n",
 | 
						|
       ".highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n",
 | 
						|
       ".highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n",
 | 
						|
       ".highlight .kp { color: #008000 } /* Keyword.Pseudo */\n",
 | 
						|
       ".highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n",
 | 
						|
       ".highlight .kt { color: #B00040 } /* Keyword.Type */\n",
 | 
						|
       ".highlight .m { color: #666666 } /* Literal.Number */\n",
 | 
						|
       ".highlight .s { color: #BA2121 } /* Literal.String */\n",
 | 
						|
       ".highlight .na { color: #7D9029 } /* Name.Attribute */\n",
 | 
						|
       ".highlight .nb { color: #008000 } /* Name.Builtin */\n",
 | 
						|
       ".highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n",
 | 
						|
       ".highlight .no { color: #880000 } /* Name.Constant */\n",
 | 
						|
       ".highlight .nd { color: #AA22FF } /* Name.Decorator */\n",
 | 
						|
       ".highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n",
 | 
						|
       ".highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n",
 | 
						|
       ".highlight .nf { color: #0000FF } /* Name.Function */\n",
 | 
						|
       ".highlight .nl { color: #A0A000 } /* Name.Label */\n",
 | 
						|
       ".highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n",
 | 
						|
       ".highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n",
 | 
						|
       ".highlight .nv { color: #19177C } /* Name.Variable */\n",
 | 
						|
       ".highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n",
 | 
						|
       ".highlight .w { color: #bbbbbb } /* Text.Whitespace */\n",
 | 
						|
       ".highlight .mb { color: #666666 } /* Literal.Number.Bin */\n",
 | 
						|
       ".highlight .mf { color: #666666 } /* Literal.Number.Float */\n",
 | 
						|
       ".highlight .mh { color: #666666 } /* Literal.Number.Hex */\n",
 | 
						|
       ".highlight .mi { color: #666666 } /* Literal.Number.Integer */\n",
 | 
						|
       ".highlight .mo { color: #666666 } /* Literal.Number.Oct */\n",
 | 
						|
       ".highlight .sa { color: #BA2121 } /* Literal.String.Affix */\n",
 | 
						|
       ".highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n",
 | 
						|
       ".highlight .sc { color: #BA2121 } /* Literal.String.Char */\n",
 | 
						|
       ".highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */\n",
 | 
						|
       ".highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n",
 | 
						|
       ".highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n",
 | 
						|
       ".highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n",
 | 
						|
       ".highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n",
 | 
						|
       ".highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n",
 | 
						|
       ".highlight .sx { color: #008000 } /* Literal.String.Other */\n",
 | 
						|
       ".highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n",
 | 
						|
       ".highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n",
 | 
						|
       ".highlight .ss { color: #19177C } /* Literal.String.Symbol */\n",
 | 
						|
       ".highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n",
 | 
						|
       ".highlight .fm { color: #0000FF } /* Name.Function.Magic */\n",
 | 
						|
       ".highlight .vc { color: #19177C } /* Name.Variable.Class */\n",
 | 
						|
       ".highlight .vg { color: #19177C } /* Name.Variable.Global */\n",
 | 
						|
       ".highlight .vi { color: #19177C } /* Name.Variable.Instance */\n",
 | 
						|
       ".highlight .vm { color: #19177C } /* Name.Variable.Magic */\n",
 | 
						|
       ".highlight .il { color: #666666 } /* Literal.Number.Integer.Long */</style><div class=\"highlight\"><pre><span></span>malware--b42378e0-f147-496f-992a-26a49705395b\n",
 | 
						|
       "</pre></div>\n"
 | 
						|
      ],
 | 
						|
      "text/plain": [
 | 
						|
       "<IPython.core.display.HTML object>"
 | 
						|
      ]
 | 
						|
     },
 | 
						|
     "execution_count": 7,
 | 
						|
     "metadata": {},
 | 
						|
     "output_type": "execute_result"
 | 
						|
    },
 | 
						|
    {
 | 
						|
     "data": {
 | 
						|
      "text/html": [
 | 
						|
       "<style type=\"text/css\">.highlight .hll { background-color: #ffffcc }\n",
 | 
						|
       ".highlight  { background: #f8f8f8; }\n",
 | 
						|
       ".highlight .c { color: #408080; font-style: italic } /* Comment */\n",
 | 
						|
       ".highlight .err { border: 1px solid #FF0000 } /* Error */\n",
 | 
						|
       ".highlight .k { color: #008000; font-weight: bold } /* Keyword */\n",
 | 
						|
       ".highlight .o { color: #666666 } /* Operator */\n",
 | 
						|
       ".highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n",
 | 
						|
       ".highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n",
 | 
						|
       ".highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n",
 | 
						|
       ".highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n",
 | 
						|
       ".highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n",
 | 
						|
       ".highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n",
 | 
						|
       ".highlight .gd { color: #A00000 } /* Generic.Deleted */\n",
 | 
						|
       ".highlight .ge { font-style: italic } /* Generic.Emph */\n",
 | 
						|
       ".highlight .gr { color: #FF0000 } /* Generic.Error */\n",
 | 
						|
       ".highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n",
 | 
						|
       ".highlight .gi { color: #00A000 } /* Generic.Inserted */\n",
 | 
						|
       ".highlight .go { color: #888888 } /* Generic.Output */\n",
 | 
						|
       ".highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n",
 | 
						|
       ".highlight .gs { font-weight: bold } /* Generic.Strong */\n",
 | 
						|
       ".highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n",
 | 
						|
       ".highlight .gt { color: #0044DD } /* Generic.Traceback */\n",
 | 
						|
       ".highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n",
 | 
						|
       ".highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n",
 | 
						|
       ".highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n",
 | 
						|
       ".highlight .kp { color: #008000 } /* Keyword.Pseudo */\n",
 | 
						|
       ".highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n",
 | 
						|
       ".highlight .kt { color: #B00040 } /* Keyword.Type */\n",
 | 
						|
       ".highlight .m { color: #666666 } /* Literal.Number */\n",
 | 
						|
       ".highlight .s { color: #BA2121 } /* Literal.String */\n",
 | 
						|
       ".highlight .na { color: #7D9029 } /* Name.Attribute */\n",
 | 
						|
       ".highlight .nb { color: #008000 } /* Name.Builtin */\n",
 | 
						|
       ".highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n",
 | 
						|
       ".highlight .no { color: #880000 } /* Name.Constant */\n",
 | 
						|
       ".highlight .nd { color: #AA22FF } /* Name.Decorator */\n",
 | 
						|
       ".highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n",
 | 
						|
       ".highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n",
 | 
						|
       ".highlight .nf { color: #0000FF } /* Name.Function */\n",
 | 
						|
       ".highlight .nl { color: #A0A000 } /* Name.Label */\n",
 | 
						|
       ".highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n",
 | 
						|
       ".highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n",
 | 
						|
       ".highlight .nv { color: #19177C } /* Name.Variable */\n",
 | 
						|
       ".highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n",
 | 
						|
       ".highlight .w { color: #bbbbbb } /* Text.Whitespace */\n",
 | 
						|
       ".highlight .mb { color: #666666 } /* Literal.Number.Bin */\n",
 | 
						|
       ".highlight .mf { color: #666666 } /* Literal.Number.Float */\n",
 | 
						|
       ".highlight .mh { color: #666666 } /* Literal.Number.Hex */\n",
 | 
						|
       ".highlight .mi { color: #666666 } /* Literal.Number.Integer */\n",
 | 
						|
       ".highlight .mo { color: #666666 } /* Literal.Number.Oct */\n",
 | 
						|
       ".highlight .sa { color: #BA2121 } /* Literal.String.Affix */\n",
 | 
						|
       ".highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n",
 | 
						|
       ".highlight .sc { color: #BA2121 } /* Literal.String.Char */\n",
 | 
						|
       ".highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */\n",
 | 
						|
       ".highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n",
 | 
						|
       ".highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n",
 | 
						|
       ".highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n",
 | 
						|
       ".highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n",
 | 
						|
       ".highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n",
 | 
						|
       ".highlight .sx { color: #008000 } /* Literal.String.Other */\n",
 | 
						|
       ".highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n",
 | 
						|
       ".highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n",
 | 
						|
       ".highlight .ss { color: #19177C } /* Literal.String.Symbol */\n",
 | 
						|
       ".highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n",
 | 
						|
       ".highlight .fm { color: #0000FF } /* Name.Function.Magic */\n",
 | 
						|
       ".highlight .vc { color: #19177C } /* Name.Variable.Class */\n",
 | 
						|
       ".highlight .vg { color: #19177C } /* Name.Variable.Global */\n",
 | 
						|
       ".highlight .vi { color: #19177C } /* Name.Variable.Instance */\n",
 | 
						|
       ".highlight .vm { color: #19177C } /* Name.Variable.Magic */\n",
 | 
						|
       ".highlight .il { color: #666666 } /* Literal.Number.Integer.Long */</style><div class=\"highlight\"><pre><span></span>malware--6b616fc1-1505-48e3-8b2c-0d19337bff38\n",
 | 
						|
       "</pre></div>\n"
 | 
						|
      ],
 | 
						|
      "text/plain": [
 | 
						|
       "<IPython.core.display.HTML object>"
 | 
						|
      ]
 | 
						|
     },
 | 
						|
     "execution_count": 7,
 | 
						|
     "metadata": {},
 | 
						|
     "output_type": "execute_result"
 | 
						|
    },
 | 
						|
    {
 | 
						|
     "data": {
 | 
						|
      "text/html": [
 | 
						|
       "<style type=\"text/css\">.highlight .hll { background-color: #ffffcc }\n",
 | 
						|
       ".highlight  { background: #f8f8f8; }\n",
 | 
						|
       ".highlight .c { color: #408080; font-style: italic } /* Comment */\n",
 | 
						|
       ".highlight .err { border: 1px solid #FF0000 } /* Error */\n",
 | 
						|
       ".highlight .k { color: #008000; font-weight: bold } /* Keyword */\n",
 | 
						|
       ".highlight .o { color: #666666 } /* Operator */\n",
 | 
						|
       ".highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n",
 | 
						|
       ".highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n",
 | 
						|
       ".highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n",
 | 
						|
       ".highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n",
 | 
						|
       ".highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n",
 | 
						|
       ".highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n",
 | 
						|
       ".highlight .gd { color: #A00000 } /* Generic.Deleted */\n",
 | 
						|
       ".highlight .ge { font-style: italic } /* Generic.Emph */\n",
 | 
						|
       ".highlight .gr { color: #FF0000 } /* Generic.Error */\n",
 | 
						|
       ".highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n",
 | 
						|
       ".highlight .gi { color: #00A000 } /* Generic.Inserted */\n",
 | 
						|
       ".highlight .go { color: #888888 } /* Generic.Output */\n",
 | 
						|
       ".highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n",
 | 
						|
       ".highlight .gs { font-weight: bold } /* Generic.Strong */\n",
 | 
						|
       ".highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n",
 | 
						|
       ".highlight .gt { color: #0044DD } /* Generic.Traceback */\n",
 | 
						|
       ".highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n",
 | 
						|
       ".highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n",
 | 
						|
       ".highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n",
 | 
						|
       ".highlight .kp { color: #008000 } /* Keyword.Pseudo */\n",
 | 
						|
       ".highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n",
 | 
						|
       ".highlight .kt { color: #B00040 } /* Keyword.Type */\n",
 | 
						|
       ".highlight .m { color: #666666 } /* Literal.Number */\n",
 | 
						|
       ".highlight .s { color: #BA2121 } /* Literal.String */\n",
 | 
						|
       ".highlight .na { color: #7D9029 } /* Name.Attribute */\n",
 | 
						|
       ".highlight .nb { color: #008000 } /* Name.Builtin */\n",
 | 
						|
       ".highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n",
 | 
						|
       ".highlight .no { color: #880000 } /* Name.Constant */\n",
 | 
						|
       ".highlight .nd { color: #AA22FF } /* Name.Decorator */\n",
 | 
						|
       ".highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n",
 | 
						|
       ".highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n",
 | 
						|
       ".highlight .nf { color: #0000FF } /* Name.Function */\n",
 | 
						|
       ".highlight .nl { color: #A0A000 } /* Name.Label */\n",
 | 
						|
       ".highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n",
 | 
						|
       ".highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n",
 | 
						|
       ".highlight .nv { color: #19177C } /* Name.Variable */\n",
 | 
						|
       ".highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n",
 | 
						|
       ".highlight .w { color: #bbbbbb } /* Text.Whitespace */\n",
 | 
						|
       ".highlight .mb { color: #666666 } /* Literal.Number.Bin */\n",
 | 
						|
       ".highlight .mf { color: #666666 } /* Literal.Number.Float */\n",
 | 
						|
       ".highlight .mh { color: #666666 } /* Literal.Number.Hex */\n",
 | 
						|
       ".highlight .mi { color: #666666 } /* Literal.Number.Integer */\n",
 | 
						|
       ".highlight .mo { color: #666666 } /* Literal.Number.Oct */\n",
 | 
						|
       ".highlight .sa { color: #BA2121 } /* Literal.String.Affix */\n",
 | 
						|
       ".highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n",
 | 
						|
       ".highlight .sc { color: #BA2121 } /* Literal.String.Char */\n",
 | 
						|
       ".highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */\n",
 | 
						|
       ".highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n",
 | 
						|
       ".highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n",
 | 
						|
       ".highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n",
 | 
						|
       ".highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n",
 | 
						|
       ".highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n",
 | 
						|
       ".highlight .sx { color: #008000 } /* Literal.String.Other */\n",
 | 
						|
       ".highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n",
 | 
						|
       ".highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n",
 | 
						|
       ".highlight .ss { color: #19177C } /* Literal.String.Symbol */\n",
 | 
						|
       ".highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n",
 | 
						|
       ".highlight .fm { color: #0000FF } /* Name.Function.Magic */\n",
 | 
						|
       ".highlight .vc { color: #19177C } /* Name.Variable.Class */\n",
 | 
						|
       ".highlight .vg { color: #19177C } /* Name.Variable.Global */\n",
 | 
						|
       ".highlight .vi { color: #19177C } /* Name.Variable.Instance */\n",
 | 
						|
       ".highlight .vm { color: #19177C } /* Name.Variable.Magic */\n",
 | 
						|
       ".highlight .il { color: #666666 } /* Literal.Number.Integer.Long */</style><div class=\"highlight\"><pre><span></span>malware--92ec0cbd-2c30-44a2-b270-73f4ec949841\n",
 | 
						|
       "</pre></div>\n"
 | 
						|
      ],
 | 
						|
      "text/plain": [
 | 
						|
       "<IPython.core.display.HTML object>"
 | 
						|
      ]
 | 
						|
     },
 | 
						|
     "execution_count": 7,
 | 
						|
     "metadata": {},
 | 
						|
     "output_type": "execute_result"
 | 
						|
    }
 | 
						|
   ],
 | 
						|
   "source": [
 | 
						|
    "from stix2 import Filter\n",
 | 
						|
    "\n",
 | 
						|
    "# create filter for type=malware\n",
 | 
						|
    "query = [Filter(\"type\", \"=\", \"malware\")]\n",
 | 
						|
    "\n",
 | 
						|
    "# query on the filter\n",
 | 
						|
    "mals = fs_source.query(query)\n",
 | 
						|
    "\n",
 | 
						|
    "for mal in mals:\n",
 | 
						|
    "    print(mal.id)"
 | 
						|
   ]
 | 
						|
  },
 | 
						|
  {
 | 
						|
   "cell_type": "code",
 | 
						|
   "execution_count": 8,
 | 
						|
   "metadata": {},
 | 
						|
   "outputs": [
 | 
						|
    {
 | 
						|
     "data": {
 | 
						|
      "text/html": [
 | 
						|
       "<style type=\"text/css\">.highlight .hll { background-color: #ffffcc }\n",
 | 
						|
       ".highlight  { background: #f8f8f8; }\n",
 | 
						|
       ".highlight .c { color: #408080; font-style: italic } /* Comment */\n",
 | 
						|
       ".highlight .err { border: 1px solid #FF0000 } /* Error */\n",
 | 
						|
       ".highlight .k { color: #008000; font-weight: bold } /* Keyword */\n",
 | 
						|
       ".highlight .o { color: #666666 } /* Operator */\n",
 | 
						|
       ".highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n",
 | 
						|
       ".highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n",
 | 
						|
       ".highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n",
 | 
						|
       ".highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n",
 | 
						|
       ".highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n",
 | 
						|
       ".highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n",
 | 
						|
       ".highlight .gd { color: #A00000 } /* Generic.Deleted */\n",
 | 
						|
       ".highlight .ge { font-style: italic } /* Generic.Emph */\n",
 | 
						|
       ".highlight .gr { color: #FF0000 } /* Generic.Error */\n",
 | 
						|
       ".highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n",
 | 
						|
       ".highlight .gi { color: #00A000 } /* Generic.Inserted */\n",
 | 
						|
       ".highlight .go { color: #888888 } /* Generic.Output */\n",
 | 
						|
       ".highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n",
 | 
						|
       ".highlight .gs { font-weight: bold } /* Generic.Strong */\n",
 | 
						|
       ".highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n",
 | 
						|
       ".highlight .gt { color: #0044DD } /* Generic.Traceback */\n",
 | 
						|
       ".highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n",
 | 
						|
       ".highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n",
 | 
						|
       ".highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n",
 | 
						|
       ".highlight .kp { color: #008000 } /* Keyword.Pseudo */\n",
 | 
						|
       ".highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n",
 | 
						|
       ".highlight .kt { color: #B00040 } /* Keyword.Type */\n",
 | 
						|
       ".highlight .m { color: #666666 } /* Literal.Number */\n",
 | 
						|
       ".highlight .s { color: #BA2121 } /* Literal.String */\n",
 | 
						|
       ".highlight .na { color: #7D9029 } /* Name.Attribute */\n",
 | 
						|
       ".highlight .nb { color: #008000 } /* Name.Builtin */\n",
 | 
						|
       ".highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n",
 | 
						|
       ".highlight .no { color: #880000 } /* Name.Constant */\n",
 | 
						|
       ".highlight .nd { color: #AA22FF } /* Name.Decorator */\n",
 | 
						|
       ".highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n",
 | 
						|
       ".highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n",
 | 
						|
       ".highlight .nf { color: #0000FF } /* Name.Function */\n",
 | 
						|
       ".highlight .nl { color: #A0A000 } /* Name.Label */\n",
 | 
						|
       ".highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n",
 | 
						|
       ".highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n",
 | 
						|
       ".highlight .nv { color: #19177C } /* Name.Variable */\n",
 | 
						|
       ".highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n",
 | 
						|
       ".highlight .w { color: #bbbbbb } /* Text.Whitespace */\n",
 | 
						|
       ".highlight .mb { color: #666666 } /* Literal.Number.Bin */\n",
 | 
						|
       ".highlight .mf { color: #666666 } /* Literal.Number.Float */\n",
 | 
						|
       ".highlight .mh { color: #666666 } /* Literal.Number.Hex */\n",
 | 
						|
       ".highlight .mi { color: #666666 } /* Literal.Number.Integer */\n",
 | 
						|
       ".highlight .mo { color: #666666 } /* Literal.Number.Oct */\n",
 | 
						|
       ".highlight .sa { color: #BA2121 } /* Literal.String.Affix */\n",
 | 
						|
       ".highlight .sb { color: #BA2121 } /* Literal.String.Backtick */\n",
 | 
						|
       ".highlight .sc { color: #BA2121 } /* Literal.String.Char */\n",
 | 
						|
       ".highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */\n",
 | 
						|
       ".highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n",
 | 
						|
       ".highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n",
 | 
						|
       ".highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n",
 | 
						|
       ".highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n",
 | 
						|
       ".highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n",
 | 
						|
       ".highlight .sx { color: #008000 } /* Literal.String.Other */\n",
 | 
						|
       ".highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n",
 | 
						|
       ".highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n",
 | 
						|
       ".highlight .ss { color: #19177C } /* Literal.String.Symbol */\n",
 | 
						|
       ".highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n",
 | 
						|
       ".highlight .fm { color: #0000FF } /* Name.Function.Magic */\n",
 | 
						|
       ".highlight .vc { color: #19177C } /* Name.Variable.Class */\n",
 | 
						|
       ".highlight .vg { color: #19177C } /* Name.Variable.Global */\n",
 | 
						|
       ".highlight .vi { color: #19177C } /* Name.Variable.Instance */\n",
 | 
						|
       ".highlight .vm { color: #19177C } /* Name.Variable.Magic */\n",
 | 
						|
       ".highlight .il { color: #666666 } /* Literal.Number.Integer.Long */</style><div class=\"highlight\"><pre><span></span>malware--92ec0cbd-2c30-44a2-b270-73f4ec949841\n",
 | 
						|
       "</pre></div>\n"
 | 
						|
      ],
 | 
						|
      "text/plain": [
 | 
						|
       "<IPython.core.display.HTML object>"
 | 
						|
      ]
 | 
						|
     },
 | 
						|
     "execution_count": 8,
 | 
						|
     "metadata": {},
 | 
						|
     "output_type": "execute_result"
 | 
						|
    }
 | 
						|
   ],
 | 
						|
   "source": [
 | 
						|
    "# add more filters to the query\n",
 | 
						|
    "query.append(Filter(\"modified\", \">\" , \"2017-05-31T21:33:10.772474Z\"))\n",
 | 
						|
    "\n",
 | 
						|
    "mals = fs_source.query(query)\n",
 | 
						|
    "\n",
 | 
						|
    "# for visual purposes\n",
 | 
						|
    "for mal in mals:\n",
 | 
						|
    "    print(mal.id)"
 | 
						|
   ]
 | 
						|
  },
 | 
						|
  {
 | 
						|
   "cell_type": "markdown",
 | 
						|
   "metadata": {},
 | 
						|
   "source": [
 | 
						|
    "#### FileSystemSink\n",
 | 
						|
    "\n",
 | 
						|
    "Use the FileSystemSink when you only want to push STIX content to the file system."
 | 
						|
   ]
 | 
						|
  },
 | 
						|
  {
 | 
						|
   "cell_type": "code",
 | 
						|
   "execution_count": 10,
 | 
						|
   "metadata": {},
 | 
						|
   "outputs": [],
 | 
						|
   "source": [
 | 
						|
    "from stix2 import FileSystemSink, Campaign, Indicator\n",
 | 
						|
    "\n",
 | 
						|
    "# create FileSystemSink\n",
 | 
						|
    "fs_sink = FileSystemSink(\"/tmp/stix2_sink\")\n",
 | 
						|
    "\n",
 | 
						|
    "# create STIX objects and add to sink\n",
 | 
						|
    "camp = Campaign(name=\"The Crusades\",\n",
 | 
						|
    "               objective=\"Infiltrating Israeli, Iranian and Palestinian digital infrastructure and government systems.\",\n",
 | 
						|
    "               aliases=[\"Desert Moon\"])\n",
 | 
						|
    "\n",
 | 
						|
    "ind = Indicator(description=\"Crusades C2 implant\",\n",
 | 
						|
    "                labels=[\"malicious-activity\"],\n",
 | 
						|
    "                pattern=\"[file:hashes.'SHA-256' = '54b7e05e39a59428743635242e4a867c932140a999f52a1e54fa7ee6a440c73b']\")\n",
 | 
						|
    "\n",
 | 
						|
    "ind1 = Indicator(description=\"Crusades C2 implant\",\n",
 | 
						|
    "                 labels=[\"malicious-activity\"],\n",
 | 
						|
    "                 pattern=\"[file:hashes.'SHA-256' = '54b7e05e39a59428743635242e4a867c932140a999f52a1e54fa7ee6a440c73b']\")\n",
 | 
						|
    "\n",
 | 
						|
    "# add Campaign object to FileSystemSink\n",
 | 
						|
    "fs_sink.add(camp)\n",
 | 
						|
    "\n",
 | 
						|
    "# can also add STIX objects to FileSystemSink in on call\n",
 | 
						|
    "fs_sink.add([ind, ind1])"
 | 
						|
   ]
 | 
						|
  }
 | 
						|
 ],
 | 
						|
 "metadata": {
 | 
						|
  "kernelspec": {
 | 
						|
   "display_name": "Python 3",
 | 
						|
   "language": "python",
 | 
						|
   "name": "python3"
 | 
						|
  },
 | 
						|
  "language_info": {
 | 
						|
   "codemirror_mode": {
 | 
						|
    "name": "ipython",
 | 
						|
    "version": 3
 | 
						|
   },
 | 
						|
   "file_extension": ".py",
 | 
						|
   "mimetype": "text/x-python",
 | 
						|
   "name": "python",
 | 
						|
   "nbconvert_exporter": "python",
 | 
						|
   "pygments_lexer": "ipython3",
 | 
						|
   "version": "3.6.3"
 | 
						|
  }
 | 
						|
 },
 | 
						|
 "nbformat": 4,
 | 
						|
 "nbformat_minor": 2
 | 
						|
}
 |