Working on the MISP integration, still WIP (untested)

This commit is contained in:
Félix Aime
2021-06-08 18:22:52 +02:00
parent c1b8f4a447
commit e0c79fa5d6
6 changed files with 238 additions and 268 deletions

View File

@ -3,28 +3,30 @@
from flask import Blueprint, jsonify, Response, request
from app.decorators import require_header_token, require_get_token
from app.classes.mispobj import MISPObj
from app.classes.misp import MISP
import json
misp_bp = Blueprint("misp", __name__)
misp = MISPObj()
misp = MISP()
@misp_bp.route('/add', methods=['POST'])
@require_header_token
def add ():
def add():
"""
Parse and add a MISP instance to the database.
:return: status of the operation in JSON
"""
data = json.loads(request.data)
instance = data["data"]["instance"]
source = "backend"
res = MISPObj.add(instance["name"], instance["url"], instance["key"], instance["ssl"], source)
res = MISP.add(instance["name"], instance["url"],
instance["key"], instance["ssl"], source)
return jsonify(res)
@misp_bp.route('/delete/<misp_id>', methods=['GET'])
@require_header_token
def delete(misp_id):
@ -32,9 +34,10 @@ def delete(misp_id):
Delete a MISP instance by its id to the database.
:return: status of the operation in JSON
"""
res = MISPObj.delete(misp_id)
res = MISP.delete(misp_id)
return jsonify(res)
@misp_bp.route('/get_all', methods=['GET'])
@require_header_token
def get_all():
@ -42,12 +45,12 @@ def get_all():
Retreive a list of all MISP instances.
:return: list of MISP instances in JSON.
"""
res = MISPObj.get_all()
res = MISP.get_all()
return jsonify({"results": [i for i in res]})
@misp_bp.route('/get_iocs', methods=['POST'])
#@require_header_token
# @require_header_token
def get_iocs():
"""
Retreive a list of all MISP instances.
@ -57,20 +60,24 @@ def get_iocs():
data = json.loads(request.data)
data = data["data"]
res = MISPObj.get_iocs(data["misp_id"], data["limit"], data["page"])
print(res)
res = MISP.get_iocs(data["misp_id"],
data["limit"],
data["page"])
return jsonify(res)
@misp_bp.route('/edit', methods=['POST'])
@require_header_token
def edit ():
def edit():
"""
Parse and edit the desired MISP instance.
:return: status of the operation in JSON
"""
data = json.loads(request.data)
instance = data["data"]["instance"]
print(instance)
res = MISPObj.edit(instance["id"], instance["name"], instance["url"], instance["apikey"], instance["verifycert"])
return jsonify(res)
res = MISP.edit(instance["id"],
instance["name"],
instance["url"],
instance["apikey"],
instance["verifycert"])
return jsonify(res)