Browse Source

A minimal caching module added to cache link or url from MISP

pull/2/head
Alexandre Dulaunoy 6 years ago
parent
commit
5cc07c0203
  1. 1
      REQUIREMENTS
  2. 31
      modules/expansion/sourcecache.py
  3. 1
      tests/bodysourcecache.json
  4. 1
      tests/query-sourcecache.sh

1
REQUIREMENTS

@ -1,3 +1,4 @@
tornado
dnspython3
requests
urlarchiver

31
modules/expansion/sourcecache.py

@ -0,0 +1,31 @@
import json
from url_archiver import url_archiver
misperrors = {'error': 'Error'}
mispattributes = {'input': ['link'], 'output': ['link']}
moduleinfo = {'version': '0.1', 'author': 'Alexandre Dulaunoy', 'description': 'Module to cache web pages of analysis reports, OSINT sources. The module returns a link of the cached page.'}
archive_path = '/tmp/'
def handler(q=False):
if q is False:
return False
request = json.loads(q)
if request.get('link'):
tocache = request['link']
archiver = url_archiver.Archive(archive_path=archive_path)
archiver.fetch(url=tocache)
mispattributes['output'] = ['link']
else:
misperrors['error'] = "Link is missing"
return misperrors
r = {'results': [{'types': mispattributes['output'], 'values': tocache}]}
return r
def introspection():
return mispattributes
def version():
return moduleinfo

1
tests/bodysourcecache.json

@ -0,0 +1 @@
{"module": "sourcecache", "link": "http://cve.circl.lu/" }

1
tests/query-sourcecache.sh

@ -0,0 +1 @@
curl -s http://127.0.0.1:6666/query -H "Content-Type: application/json" --data @bodysourcecache.json -X POST
Loading…
Cancel
Save