Skip to content

Commit a7f7346

Browse files
authored
Merge pull request #1390 from rdmmf/references-examples
Add examples for object reference and relationships
2 parents 5dee37a + 36a745e commit a7f7346

2 files changed

Lines changed: 63 additions & 0 deletions

File tree

examples/add_object_reference.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/usr/bin/env python
2+
# -*- coding: utf-8 -*-
3+
4+
from pymisp import PyMISP
5+
from keys import misp_url, misp_key, misp_verifycert
6+
import argparse
7+
8+
# Suppress those "Unverified HTTPS request is being made"
9+
if not misp_verifycert:
10+
import urllib3
11+
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
12+
13+
if __name__ == '__main__':
14+
parser = argparse.ArgumentParser(description='Add a reference between two objects')
15+
parser.add_argument("-o", "--object", help="The id, uuid or json of the object referencing.",required=True)
16+
parser.add_argument("-t", "--target", help="The id, uuid or json of the object referenced.",required=True)
17+
parser.add_argument("-r", "--relationship-type", help="The type of the relationship",required=True)
18+
args = parser.parse_args()
19+
20+
misp = PyMISP(misp_url, misp_key, misp_verifycert)
21+
22+
misp_object = misp.get_object(args.object,pythonify=True)
23+
target_object = misp.get_object(args.target,pythonify=True)
24+
25+
object_ref = misp_object.add_reference(target_object.uuid,args.relationship_type)
26+
27+
print(object_ref)
28+
29+
misp.add_object_reference(object_ref)
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/usr/bin/env python
2+
# -*- coding: utf-8 -*-
3+
4+
from pymisp import PyMISP
5+
from keys import misp_url, misp_key, misp_verifycert
6+
import argparse
7+
8+
# Suppress those "Unverified HTTPS request is being made"
9+
if not misp_verifycert:
10+
import urllib3
11+
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
12+
13+
if __name__ == '__main__':
14+
15+
valid_object_type = {'Attribute', 'Event', 'EventReport', 'GalaxyCluster', 'Galaxy',
16+
'Object', 'Note', 'Opinion', 'Relationship', 'Organisation',
17+
'SharingGroup'}
18+
19+
parser = argparse.ArgumentParser(description='Add a reference between two objects')
20+
parser.add_argument("-o", "--object", help="The uuid of the object referencing.",required=True)
21+
parser.add_argument("-t", "--target-uuid", help="The uuid of the object referenced.",required=True)
22+
parser.add_argument("-r", "--relationship-type", help="The type of the relationship",required=True)
23+
parser.add_argument("--type", help="The type of the referenced object",required=True,choices=valid_object_type)
24+
args = parser.parse_args()
25+
26+
misp = PyMISP(misp_url, misp_key, misp_verifycert)
27+
28+
misp_object = misp.get_object(args.object,pythonify=True)
29+
30+
relationship = misp_object.add_relationship(args.type, args.target_uuid, args.relationship_type)
31+
32+
print(relationship)
33+
34+
misp.add_relationship(relationship)

0 commit comments

Comments
 (0)