From 3fb62fac7049d3b5c3b432d2d867fb61b3f496bd Mon Sep 17 00:00:00 2001 From: Iglocska Date: Thu, 4 Aug 2016 08:00:09 +0200 Subject: [PATCH] Added simple import skeleton --- misp_modules/modules/import/testimport.py | 64 +++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100755 misp_modules/modules/import/testimport.py diff --git a/misp_modules/modules/import/testimport.py b/misp_modules/modules/import/testimport.py new file mode 100755 index 0000000..e6a1ed0 --- /dev/null +++ b/misp_modules/modules/import/testimport.py @@ -0,0 +1,64 @@ +import json +import base64 +import csv + +misperrors = {'error': 'Error'} +userConfig = { + 'value': { + 'type': 'Integer', + 'regex': '/^[0-4]$/i', + 'errorMessage': 'Expected a number in range [0-4]', + 'message': 'Column number used for value' + }, + 'category': { + 'type': 'Integer', + 'message': 'Column number used for category' + }, + 'type': { + 'type': 'Integer', + 'message': 'Column number used for type' + }, + 'comment': { + 'type': 'Integer', + 'message': 'Column number used for comment' + } + }; + +inputSource = ['file', 'paste'] + +moduleinfo = {'version': '0.2', 'author': 'Andras Iklody', + 'description': 'Simple CSV import tool with mapable columns', + 'module-type': ['import']} + +moduleconfig = [] + + +def handler(q=False): + if q is False: + return False + r = {'results': []} + request = json.loads(q) + request["data"] = base64.b64decode(request["data"]) + fields = ["value", "category", "type", "comment"] + r = {"results":[{"values":["192.168.56.1"], "types":["ip-src"], "categories":["Network activity"]}]} + return r + + +def introspection(): + modulesetup = {} + try: + userConfig + modulesetup['userConfig'] = userConfig + except NameError: + pass + try: + inputSource + modulesetup['inputSource'] = inputSource + except NameError: + pass + return modulesetup + + +def version(): + moduleinfo['config'] = moduleconfig + return moduleinfo