misp-modules/website/app/utils/init_modules.py

45 lines
1.6 KiB
Python
Raw Normal View History

2024-02-07 14:39:19 +01:00
import json
import os
from ..db_class.db import db
from ..db_class.db import Module, Config, Module_Config
from .utils import query_get_module
def create_modules_db():
modules = query_get_module()
2024-02-27 11:21:29 +01:00
if not "message" in modules:
for module in modules:
m = Module.query.filter_by(name=module["name"]).first()
input_attr = ""
if "input" in module["mispattributes"]:
input_attr = json.dumps(module["mispattributes"]["input"])
if not m:
m = Module(
name=module["name"],
description=module["meta"]["description"],
is_active=True,
request_on_query=False,
input_attr=input_attr
)
db.session.add(m)
db.session.commit()
2024-02-07 14:39:19 +01:00
2024-02-27 11:21:29 +01:00
if "config" in module["meta"]:
for conf in module["meta"]["config"]:
c = Config.query.filter_by(name=conf).first()
if not c:
c = Config(
name = conf
)
db.session.add(c)
db.session.commit()
mc = Module_Config(
module_id=m.id,
config_id=c.id
2024-02-07 14:39:19 +01:00
)
2024-02-27 11:21:29 +01:00
db.session.add(mc)
2024-02-07 14:39:19 +01:00
db.session.commit()
2024-02-27 11:21:29 +01:00
else:
print("[-] Error in misp-modules. It might not running.")