Sie sind auf Seite 1von 81

FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para

acceder a MISP
Software MISP
PyMISP

PyMISP es una biblioteca de Python para acceder a las plataformas


MISP a través de su API REST.
PyMISP le permite buscar eventos, agregar o actualizar eventos /
atributos, agregar o actualizar muestras o buscar atributos.
Capacidades
 Agregar, obtener, actualizar, publicar, eliminar eventos
 Agregar o quitar etiquetas
 Agregue atributos de archivo: hashes, clave de registro, patrones,
canalización, mutex
 Agregue atributos de red: IP dest / src, nombre de host, dominio,
url, UA, ...
 Agregar atributos de correo electrónico: origen, destino, asunto,
archivo adjunto, ...
 Subir / descargar muestras
 Actualizar avistamientos
 Propuestas: agregar, editar, aceptar, descartar
 Búsqueda de texto completo y búsqueda por atributos
 Obtener evento STIX
 Exportar estadísticas Y aún más, solo mira el archivo api .py
NOTA IMPORTANTE : Esta biblioteca requerirá al menos python 3.6 a
partir del 1 de enero de 2020. Si tiene versiones heredadas de python,
use PyMISP v2.4.119.1 y considere actualizar sus sistemas. Todo lo
lanzado en los últimos 2 años servirá, comenzando con Ubuntu 18.04.

Página 1 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
CONTENIDO
Tenga en cuenta que debe tener acceso de clave de autenticación en
su instancia de MISP para usar PyMISP contenido para la creación de
Biblioteca de Python es:

INSTALACIÓN

SOLICITUDES

EMPEZANDO

USANDO PYMISP

EJEMPLOS EXISTENTES

IR MAS LEJOS

IMAGENES

Página 2 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
INSTALACIÓN
INICIO

Administrador:
Puede instalar PyMISP utilizando pip u obteniendo la última versión
del repositorio de GitHub

https://github.com/MISP/PyMISP

¿Se NO

instalará
desde PIP?

SI

Administrador:
Instalar PIP
IMAGEN 1

NO
¿Se instalará
la última
versión?

SI

Administrador:
Instale la última versión del repositorio

IMAGEN 2

Administrador:
Tenga en cuenta que también necesitará instalar solicitudes si aún
no lo tiene.

https://requests.readthedocs.io/en/master/

FIN

Página 3 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
SOLICITUDES
INICIO

Administrador:
Las solicitudes le permite enviar solicitudes HTTP / 1.1 con extrema
facilidad. No es necesario agregar manualmente cadenas de
consulta a sus URL, ni codificar de forma sus datos POST. Keep-
alive y la agrupación de conexiones HTTP son 100% automáticas,
gracias a urllib3 .

Administrador:
Las solicitudes están listas para la web de hoy. Las solicitudes
admiten oficialmente Python 2.7 y 3.4–3.7, y se ejecutan muy bien
en PyPy.
IMAGEN 3

Administrador:
La guía del usuario, esta parte de la documentación, que es en su
mayoría en prosa, comienza con información básica sobre las
solicitudes, luego se centra en las instrucciones paso a paso para
aprovechar al máximo las solicitudes.
IMAGEN 4

Administrador:
La guía de la comunidad, esta parte de la documentación, que es
principalmente en prosa, detalla el ecosistema y la comunidad de
Solicitudes.
IMAGEN 5

Administrador:
Esta parte de la documentación guía de API, es necesaria si se
está buscando información sobre una función como esta, clase o
método específico.
https://requests.readthedocs.io/en/master/api/

Administrador:
Si el administrador desea colaborar en el proyecto debe aplicar
esta información

IMAGEN 6

FIN

Página 4 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
EMPEZANDO
INICIO

Usuario:
Ahora necesita obtener su clave de automatización. Puede
encontrarlo en la página de automatización
IMAGEN 7

Usuario:
Si no instaló usando el repositorio, aún puede buscarlo para
obtener ejemplos en los que trabajar: git clone
https://github.com/MISP/PyMISP.git

Usuario:
Para usarlos, debe crear un archivo llamado keys.py en la carpeta
de ejemplos y editarlo para poner la url de su instancia de MISP y
su clave de automatización. cd examples cp keys.py.sample
keys.py vim keys.py
IMAGEN 8

Usuario:
Una vez que haya terminado con esto, estará listo para comenzar.

IMAGEN 9

FIN

Página 5 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
USANDO PYMISP
INICIO

Usuario:
Para comprender mejor cómo usar PyMISP, veremos uno de los
ejemplos existentes: add_named_attribute.py Este script nos
permite agregar un atributo a un evento existente mientras
conocemos solo su tipo (la categoría está determinada por defecto
)
IMAGEN 10

Usuario:
En primer lugar, es obvio que necesitamos importar PyMISP.
Luego, también necesitamos saber tanto la instancia con la que
trabajaremos como la clave API a utilizar: ambos deben
almacenarse en el archivo keys.py. Finalmente importamos la
biblioteca argparse para que el script pueda manejar argumentos.
IMAGEN 11

Usuario:
Solo unas pocas líneas para asegurarse de que Python 2 y 3 son
compatibles def init (url, key) : return PyMISP(url, key, True , 'json' ,
debug= True )

Usuario:
Esta función creará un objeto PyMISP que se usará más tarde para
interactuar con la instancia MISP . Como se ve en api.py , un objeto
PyMISP necesita conocer tanto la URL de la instancia MISP como
la clave API para usar. También puede tomar datos adicionales y
no obligatorios, como el uso o no de SSL o el nombre del formato
de exportación.
IMAGEN 12

Usuario:
Luego, la función comienza preparando los argumentos esperados:
evento: el evento que obtendrá un nuevo atributo. tipo: El tipo del
atributo que se agregará. valor: el valor del nuevo atributo.

IMAGEN 13

Usuario:
Gracias a la función creada anteriormente, creamos un objeto
PyMISP: event = misp.get_event(args.event) event =
misp.add_named_attribute(event, args.type, args.value)

Página 6 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
1

Usuario:
Para agregar el nuevo argumento, primero debemos buscar el
evento en la base de datos MISP utilizando la función get_event
que solo necesita el event_id. Entonces, solo una vez que lo
tengamos, podemos llamar a la función add_named_attribute que
agregará el argumento: print(event)

Usuario:
Finalmente, se imprime el nuevo evento, por lo que podemos
verificar que el atributo se haya agregado correctamente y que una
categoría se haya adjuntado automáticamente.

FIN

Página 7 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
EJEMPLOS EXISTENTES
INICIO

Usuario:
Como su nombre lo indica, encontrará varios scripts de ejemplo en
la carpeta de ejemplos. Para cada uno puede obtener ayuda si
hace: scriptname.py -h

¿Estas
interesado en
consultar los 1
ejemplos?

Usuario:
Cada actividad descrita en el flujograma consistirá en la descripción
de un ejemplo.

Usuario:
add_named_attribute.py

Permitir agregar un argumento a un evento existente dando solo el


tipo del atributo. La categoría se establecerá con un valor
predeterminado.
IMAGEN 14

Usuario:
add_user.py

Permitir agregar un usuario dando los campos obligatorios como


entradas.

IMAGEN 15

Página 8 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
1

Usuario:
add_user_json.py

Agregue el usuario descrito en el json dado. Si no se proporciona


ningún archivo, devuelve un json que enumera todos los campos
utilizados para describir a un usuario.

IMAGEN 16

Usuario:
create_events.py

Permita que un usuario cree un nuevo evento en la instancia de


MISP .
IMAGEN 17

Usuario:
del.py

Eliminar un evento o un atributo de una instancia de MISP . El


evento tiene la prioridad: si ambos están configurados, solo se
eliminará el evento.
IMAGEN 18

Usuario:
delete_user.py

Eliminar al usuario con la identificación dada. Tenga en cuenta que


deshabilitar a los usuarios (al configurar el indicador de
deshabilitado mediante una edición) siempre se prefiere mantener
intactas las asociaciones de usuarios a los eventos.

IMAGEN 19

Usuario:
edit_user.py

Edite el correo electrónico del usuario diseñado por user_id.

IMAGEN 20

Página 9 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
3

Usuario:
edit_user_json.py

Edite el usuario diseñado por user_id. Si no se proporciona ningún


archivo, devuelve un json que enumera todos los campos utilizados
para describir a un usuario.

IMAGEN 21

Usuario:
get.py

Obtenga un evento de una instancia MISP en formato json.

IMAGEN 22

Usuario:
last.py

Descargue los últimos eventos de una instancia de MISP . Se


puede crear un archivo de salida para almacenar estos eventos.

IMAGEN 23

Usuario:
searchall.py

Obtenga todos los eventos que coincidan con un valor.

IMAGEN 24

Página 10 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
4

Usuario:
sharing_groups.py

Obtenga una lista de los grupos4 compartidos de la instancia de


MISP . Sin argumento

IMAGEN 25 IMAGEN 26

Usuario:
avistamiento.py

Añadir avistamiento.

IMAGEN 27

Usuario:
stats.py

Salida de estadísticas de atributos de una instancia de MISP . Sin


argumento

Usuario:
suricata.py

Descargar eventos Suricata.


IMAGEN 28

Usuario:
tags.py

Obtenga etiquetas de la instancia de MISP . Sin argumento

Usuario:
tagstatistics.py

Obtenga estadísticas de las etiquetas.

IMAGEN 29

Página 11 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
5

Usuario:
up.py

Actualice un evento existente con respecto a los datos dentro de un


archivo json dado.

El filtrado se puede aplicar a etiquetas o a una organización


IMAGEN 30
editorial.

Usuario:
upload.py

Enviar muestra de malware a MISP.

IMAGEN 31

Usuario:
users_list.py

Obtenga una lista de los grupos compartidos de la instancia de


MISP . Sin argumento

FIN

Página 12 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
IR MAS LEJOS

INICIO

Usuario:
El generador de alimentación se utiliza para generar la
alimentación CIRCL OSINT . Este script exporta los eventos como
json, basado en etiquetas, organización, eventos, ... Actualiza
automáticamente los volcados y el archivo de metadatos.

IMAGEN 32

Usuario:
Consumo de alimento

Como el feed es un conjunto simple de archivos JIS de MISP, los


archivos se pueden importar fácilmente directamente a cualquier
instancia de MISP . El siguiente script procesa el archivo de
manifiesto de una fuente OSINT y los vuelve a importar en un MISP
directamente.

IMAGEN 33

Usuario:
ioc-2-misp

Permita importar archivos OpenIOC a MISP fácilmente. También es


posible establecer etiquetas específicas en estos eventos.

Usuario:
Conciencia situacional

Attribute_treemap.py genera un mapa de árbol que muestra la


distribución de los atributos en la instancia de MISP .

tags_ *: estas funciones ayudan a tener estadísticas y gráficos


sobre la distribución de etiquetas.

IMAGEN 34

Usuario:
Para ello se debe tener en cuenta todos los parámetros que el
sistema requiere

IMAGEN 35

FIN

Página 13 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
IMÁGENES
IMAGEN 1
pip install pymisp

IMAGEN 2
git clone https://github.com/MISP/PyMISP.git && cd PyMISP python
setup.py install

IMAGEN 3
Mantener vivo y agrupación de conexiones
Dominios y URL internacionales
Sesiones con persistencia de cookies
Verificación SSL estilo navegador
Decodificación automática de contenido
Autenticación Básica / Digestiva
Cookies elegantes de clave / valor
Descompresión automática
Cuerpos de respuesta Unicode
Soporte de proxy HTTP (S)
Subidas de archivos de varias partes
Descargas de transmisión
Tiempos de espera de conexión
Solicitudes fragmentadas
Soporte de .netrc

Página 14 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
IMAGEN 4
Introducción
https://requests.readthedocs.io/en/master/user/intro/

Instalación de solicitudes
https://requests.readthedocs.io/en/master/user/install/

Inicio rápido
https://requests.readthedocs.io/en/master/user/quickstart/

Uso avanzado
https://requests.readthedocs.io/en/master/user/advanced/

Autenticación
https://requests.readthedocs.io/en/master/user/authentication/

IMAGEN 5
Paquetes recomendados y extensiones
https://requests.readthedocs.io/en/master/community/recommended/

Preguntas frecuentes
https://requests.readthedocs.io/en/master/community/faq/

Integraciones
https://requests.readthedocs.io/en/master/community/out-there/

Artículos y charlas
https://requests.readthedocs.io/en/master/community/out-there/#articles-talks

Apoyo
https://requests.readthedocs.io/en/master/community/support/

Divulgación de vulnerabilidad
https://requests.readthedocs.io/en/master/community/vulnerabilities/

Página 15 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Actualizaciones de la comunidad
https://requests.readthedocs.io/en/master/community/updates/

Lanzamiento e historial de versiones


https://requests.readthedocs.io/en/master/community/updates/#release-and-version-history

Historial de lanzamientos
https://requests.readthedocs.io/en/master/community/updates/#release-history

Proceso de lanzamiento y reglas


https://requests.readthedocs.io/en/master/community/release-process/

IMAGEN 6
Guía del colaborador
https://requests.readthedocs.io/en/master/dev/contributing/

Filosofía del desarrollo


https://requests.readthedocs.io/en/master/dev/philosophy/

Como ayudar
https://requests.readthedocs.io/en/master/dev/todo/

Autores
https://requests.readthedocs.io/en/master/dev/authors/

Página 16 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP

IMAGEN 7
https://<misp url>/events/automation
o en tu perfil
https://<misp url>/users/view/me

IMAGEN 8
Instancia MISP
Una instancia de MISP es una instalación del software MISP y la base
de datos conectada. Todos los datos visibles para los usuarios se
almacenan localmente en la base de datos y los datos que se pueden
compartir (según la configuración de distribución) se pueden sincronizar
con otras instancias a través de las acciones de sincronización. La
instancia en la que está leyendo este manual se denominará "esta
instancia" o "su instancia". Las instancias con las que se sincroniza tu
instancia se denominarán "instancias remotas".

IMAGEN 9
Así es como se ve keys.py :
#!/usr/bin/env python # -*- coding: utf-8 -*- misp_url = 'https:///'
misp_key = 'Your MISP auth key' # The MISP auth key can be found
on the MISP web interface under the automation section
misp_verifycert = True

Página 17 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
IMAGEN 10
#!/usr/bin/env python # -*- coding: utf-8 -*- from pymisp import PyMISP
from keys import misp_url, misp_key import argparse
IMAGEN 11
# For python2 & 3 compat, a bit dirty, but it seems to be the least bad
one try : input = raw_input except NameError: pass
API
MISP hace un uso extenso de su API RESTful (interfaz de programación
de aplicaciones) tanto internamente como proporciona una API externa
para automatización, sincronización o cualquier otra tarea que requiera
una interfaz de máquina a máquina. En términos generales, es un
conjunto de métodos de comunicación claramente definidos entre varios
componentes de software. Una buena API facilita el desarrollo de un
programa informático al proporcionar todos los bloques de construcción,
que luego el programador reúne. Una API puede ser para un sistema
basado en web, sistema operativo, sistema de base de datos, hardware
de computadora o biblioteca de software. El estándar de facto para
hablar con MISP a través de una API es PyMISP . Fuente parcial "API"
- CCBYSA .
IMAGEN 12
if __name__ == '__main__' : parser =
argparse.ArgumentParser(description= 'Create an event on MISP.' )
parser.add_argument( "-e" , "--event" , type=int, help= "The id of the
event to update." ) parser.add_argument( "-t" , "--type" , help= "The
type of the added attribute" ) parser.add_argument( "-v" , "--value" ,
help= "The value of the attribute" )
IMAGEN 13
misp = init(misp_url, misp_key)
Categorías de atributos versus tipos
https://www.circl.lu/doc/misp/categories-and-types/

Página 18 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
IMAGEN 14
Argumentos:
evento : la identificación del evento para actualizar.
tipo : El tipo del atributo agregado.
valor : el valor del atributo.
IMAGEN 15
Argumentos:
correo electrónico: correo electrónico vinculado a la cuenta.
org_id : Organización vinculada al usuario.
role_id : Rol vinculado al usuario.
IMAGEN 16
Argumentos:
json_file : el nombre del archivo json que describe el usuario que
desea crear.

IMAGEN 17
Argumentos:
distrib : la configuración de distribución utilizada para los atributos y
para el evento recién creado, si es relevante. [0-3].
info : se utiliza para completar el campo de información del evento si
no se proporciona un ID de evento.
análisis : el nivel de análisis del evento recién creado, si corresponde.
[0-2]
amenaza : el ID de nivel de amenaza del evento recién creado, si
corresponde. [1-4]

Página 19 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Instancia MISP
Una instancia de MISP es una instalación del software MISP y la base
de datos conectada. Todos los datos visibles para los usuarios se
almacenan localmente en la base de datos y los datos que se pueden
compartir (según la configuración de distribución) se pueden sincronizar
con otras instancias a través de las acciones de sincronización. La
instancia en la que está leyendo este manual se denominará "esta
instancia" o "su instancia". Las instancias con las que se sincroniza tu
instancia se denominarán "instancias remotas".
IMAGEN 18
Argumentos:
evento : ID de evento para eliminar.
atributo : ID de atributo para eliminar.
IMAGEN 19
Argumentos:
user_id : la identificación del usuario que desea eliminar.
IMAGEN 20
Argumentos:
user_id : el nombre del archivo json que describe el usuario que desea
modificar.
correo electrónico : correo electrónico vinculado a la cuenta.
IMAGEN 21
Argumentos:
user_id : el nombre del archivo json que describe el usuario que desea
modificar.
json_file : el nombre del archivo json que describe sus modificaciones.

Página 20 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP

IMAGEN 22
Argumentos:
evento : ID de evento para obtener.
salida : archivo de salida
IMAGEN 23
Argumentos:
último: se puede definir en días, horas, minutos (por ejemplo, 5d o 12h
o 30m).
salida: archivo de salida
IMAGEN 24
Argumentos:
buscar : Cadena para buscar.
quiet : solo muestra URL a MISP
salida : archivo de salida

IMAGEN 25
Compartir grupos
Compartir grupos en MISP es una forma más granular de crear listas
de distribución reutilizables para eventos / atributos que permiten a los
usuarios incluir organizaciones de su propia instancia (organizaciones
locales), así como organizaciones de instancias conectadas directa o
indirectamente (organizaciones externas).
Crear y administrar grupos compartidos
Compartir grupos en MISP es una forma más granular de crear listas
de distribución reutilizables para eventos / atributos que permiten a los

Página 21 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
usuarios incluir organizaciones de su propia instancia (organizaciones
locales), así como organizaciones de instancias conectadas directa o
indirectamente (organizaciones externas). Cualquier usuario que tenga
permiso de editor de grupo para compartir puede crear grupos para
compartir. Además, cualquier usuario que tenga el permiso
mencionado puede editar los grupos compartidos , además de ser
miembro de la organización creadora del grupo compartido, o
cualquier organización que esté marcada como un "extensor" del
grupo compartido. El uso principal de la función extender es delegar
los derechos para agregar usuarios a socios de confianza. Por
ejemplo, cuando se comparte con un sector industrial diferente, a
menudo no es posible conocer a todos los actores que deberían recibir
la información, por lo que delegar los derechos para extender el
evento a un representante confiable de dicho sector permitiría que
alguien con más información encuentre y agregue la lista adecuada de
socios para el grupo de intercambio

IMAGEN 26

Página 22 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP

IMAGEN 27
Argumentos:
json_file : el nombre del archivo json que describe el atributo al que
desea agregar avistamiento.

Página 23 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
IMAGEN 28
Argumentos:
all : descargue todas las reglas de suricata disponibles.
evento : descargue las reglas de suricata de un evento.

IMAGEN 29
Argumentos:
porcentaje : un campo opcional, si está configurado, devolverá los
resultados en porcentajes; de lo contrario, devolverá el recuento
exacto.
nombres : un campo opcional, si se establece, los valores se ordenan
por el espacio de nombres; de lo contrario, la clasificación se realizará
según el valor.

IMAGEN 30

Página 24 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Argumentos:
evento : ID de evento para modificar.
input : archivo de entrada
IMAGEN 31
Argumentos:
upload : archivo o directorio de archivos para cargar.
evento : si no se proporciona una ID de evento, MISP creará un nuevo
evento único para todas las muestras de malware PUBLICADAS.
distrib : la configuración de distribución utilizada para los atributos y
para el evento recién creado, si es relevante. [0-3].
ids : puede marcar todos los atributos creados durante la transacción
para marcarlos como \ "to_ids \" o no.
categ : la categoría que se asignará a las muestras cargadas. Las
opciones válidas son: entrega de carga útil, caída de artefactos,
instalación de carga útil, análisis externo.
info : se utiliza para completar el campo de información del evento si
no se proporciona un ID de evento.
análisis : el nivel de análisis del evento recién creado, si corresponde.
[0-2]
amenaza : el ID de nivel de amenaza del evento recién creado, si
corresponde. [1-4]
comentario : Comentario para los archivos cargados.

Página 25 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
IMAGEN 32
Aquí hay un ejemplo de un archivo de configuración:
url = '' key = '' ssl = True outputdir = 'output' # filters = {'tag' : 'tlp :
white|feed-export|!privint', 'org':'CIRCL'} filters = {}
valid_attribute_distribution_levels = ['0', '1', '2', '3', '4', '5']
OSINT
La inteligencia de código abierto ( OSINT ) es información recopilada de
fuentes disponibles públicamente para ser utilizada en un contexto de
inteligencia. [1] En la comunidad de inteligencia, el término "abierto" se
refiere a fuentes públicas abiertas (en oposición a fuentes secretas o
clandestinas). No está relacionado con software de código abierto o
inteligencia pública. OSINT con un nombre u otro ha existido durante
cientos de años. Con el advenimiento de las comunicaciones
instantáneas y la rápida transferencia de información, ahora se puede
obtener una gran cantidad de inteligencia procesable y predictiva de
fuentes públicas no clasificadas.
IMAGEN 33
#!/usr/bin/env python # -*- coding: utf-8 -*- from pymisp import PyMISP
import requests url = 'https://www.circl.lu/doc/misp/feed-osint/' osintcircl
= requests.get( '{}manifest.json' .format(url)) misp = PyMISP(
'http://misp.test/' , 'key' , False , 'json' ) for uri in osintcircl.json(): req =
requests.get( '{}{}.json' .format(url,uri)) misp.add_event(req.json())

IMAGEN 34

Página 26 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Ejemplo simple para buscar los últimos eventos
#!/usr/bin/env python # -*- coding: utf-8 -*- from pymisp import PyMISP
from keys import misp_url, misp_key, misp_verifycert import argparse
import os import json # Usage for pipe masters: ./last.py -l 5h | jq . def
init (url, key) : return PyMISP(url, key, misp_verifycert, 'json' ) def
download_last (m, last, out=None) : result = m.download_last(last) if
out is None : if 'response' in result: print(json.dumps(result[ 'response'
])) else : print( 'No results for that time period' ) exit( 0 ) else : with
open(out, 'w' ) as f: f.write(json.dumps(result[ 'response' ])) if
__name__ == '__main__' : parser =
argparse.ArgumentParser(description= 'Download latest events from a
MISP instance.' ) parser.add_argument( "-l" , "--last" , required= True ,
help= "can be defined in days, hours, minutes (for example 5d or 12h
or 30m)." ) parser.add_argument( "-o" , "--output" , help= "Output file" )
args = parser.parse_args() if args.output is not None and
os.path.exists(args.output): print( 'Output file already exists, abord.' )
exit( 0 ) misp = init(misp_url, misp_key) download_last(misp, args.last,
args.output)
IMAGEN 35

pymisp
PyMISP
clase pymisp. PyMISP ( url , key , ssl = True , debug = False , proxies = {} , c
ert = None , auth = None , tool = '' ) [fuente]
API de Python para MISP

Parámetros
 url ( str ): URL de la instancia de MISP a la que desea conectarse
 key ( str ): clave API del usuario que desea usar
 ssl : puede ser Verdadero o Falso (para verificar si no es válida la
validez del certificado. O un CA_BUNDLE en caso de certificado
autofirmado (la concatenación de todos los * .crt de la cadena)

Página 27 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
 debug ( bool ): escribe toda la información de depuración en stderr
 proxies ( dict ) - Dict Proxy como se describe
aquí: http://docs.python-
requests.org/en/master/user/advanced/#proxies
 cert ( Optional [ Tuple [ str , tuple ]]) - Certificado de cliente, como se
describe allí: http://docs.python-
requests.org/en/master/user/advanced/#client-side-certificates
 auth ( Optional [ AuthBase ]): el parámetro auth se pasa directamente
a las solicitudes, como se describe aquí: http://docs.python-
requests.org/en/master/user/authentication/
 tool ( str ): el software que utiliza PyMISP (string), utilizado para
establecer un agente de usuario único
accept_attribute_proposal ( propuesta ) [fuente]
Aceptar una propuesta

Tipo de retorno
dict
add_attribute ( evento , atributo , pythonify = False ) [fuente]
Agregar un atributo a un evento MISP existente NOTA MISP 2.4.113+:
puede pasar una lista de atributos. En ese caso, la respuesta
pythonified es la siguiente: {'atributos': [MISPAttribute], 'errores':
{errores por atributos}}

Tipo de retorno
Union [ dict , MISPAttribute , MISPShadowAttribute ]
add_attribute_proposal ( evento , atributo , pythonify = False ) [fu
ente]
Proponer un nuevo atributo en un evento

Tipo de retorno
Union [ dict , MISPShadowAttribute ]
add_event ( evento , pythonify = False ) [fuente]
Agregar un nuevo evento en una instancia de MISP

Tipo de retorno
Union [ dict , MISPEvent ]
add_feed ( feed , pythonify = False ) [fuente]

Página 28 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Agregar un nuevo feed en una instancia de MISP

Tipo de retorno
Union [ dict , MISPFeed ]
add_object ( event , misp_object , pythonify = False ) [fuente]
Agregar un objeto MISP a un evento MISP existente

Tipo de retorno
Union [ dict , MISPObject ]
add_object_reference ( misp_object_reference , pythonify = False
) [fuente]
Agregar una referencia a un objeto

Tipo de retorno
Union [ dict , MISPObjectReference ]
add_org_to_sharing_group ( sharing_group , organization , extend
= False ) [fuente]
Agregar una organización a un grupo compartido. : sharing_group:
compartir el ID de instancia local del grupo, o compartir el UUID
global del grupo: organización: ID de instancia local de la
organización, o el UUID global de la organización, o el nombre de la
organización como lo conoce la instancia actual: extender: permitir
que la organización extienda el grupo

Tipo de retorno
dict
add_organisation ( organización , pythonify = False ) [fuente]
Agregar una organización

Tipo de retorno
Union [ dict , MISPOrganisation ]
add_server ( servidor , pythonify = False ) [fuente]
Agregue un servidor para sincronizar con. Nota: Probablemente desee
utilizar ExpandedPyMISP.get_sync_config y
ExpandedPyMISP.import_server en su lugar

Tipo de retorno

Página 29 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Union [ dict , MISPServer ]
add_server_to_sharing_group ( sharing_group , server , all_orgs =
False ) [fuente]
Agregue un servidor a un grupo compartido. : sharing_group: ID de
instancia local del grupo Sharing, o UUID global del grupo Sharing:
servidor: ID de instancia local del servidor, o URL del servidor, o el
nombre del servidor como lo conoce la instancia actual: all_orgs:
agregue todas las organizaciones del servidor al grupo

Tipo de retorno
dict
add_sharing_group ( sharing_group , pythonify = False ) [fuente]
Agregar un nuevo grupo para compartir

Tipo de retorno
Union [ dict , MISPSharingGroup ]
add_sighting ( avistamiento , atributo = Ninguno , pythonify = Fals
e ) [fuente]
Agregar un nuevo avistamiento (globalmente o a un atributo
específico)

Tipo de retorno
Union [ dict , MISPSighting ]
add_tag ( etiqueta , pythonify = False ) [fuente]
Agregar una nueva etiqueta en una instancia de MISP Notas:

El usuario que llama a este método necesita el permiso del


Editor de etiquetas
 No agrega una etiqueta a un evento, simplemente créelo en
una instancia de MISP.
Tipo de retorno
Union [ dict , MISPTag ]
add_user ( usuario , pythonify = False ) [fuente]
Agregar un nuevo usuario

Tipo de retorno

Página 30 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Union [ dict , MISPUser ]
attributes_statistics ( contexto = 'tipo' , porcentaje = Falso ) [fue
nte]
Obtenga estadísticas de atributos de la instancia MISP.

Tipo de retorno
dict
build_complex_query ( or_parameters = None , and_parameters =
None , not_parameters = None ) [fuente]
Crea una consulta de búsqueda compleja. MISP espera un diccionario
con las teclas AND, OR y NOT.

Tipo de retorno
dict
cache_all_feeds ( ) [fuente]
Caché todos los feeds

Tipo de retorno
dict
cache_feed ( feed ) [fuente]
Guardar en caché un feed específico

Tipo de retorno
dict
cache_freetext_feeds ( ) [fuente]
Caché todos los feeds de texto libre

Tipo de retorno
dict
cache_misp_feeds ( ) [fuente]
Caché todos los feeds de MISP

Tipo de retorno
dict
change_sharing_group_on_entity ( misp_entity , sharing_group_i
d , pythonify = False ) [fuente]

Página 31 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Cambiar el grupo compartido de un evento, un atributo o un objeto

Tipo de retorno
Union [ dict , MISPEvent , MISPObject , MISPAttribute , MISPShadowAttri
bute ]
communities ( pythonify = False ) [fuente]
Consigue todas las comunidades.

Tipo de retorno
Union [ dict , List [ MISPCommunity ]]
compare_feeds ( ) [fuente]
Genere la matriz de comparación para todos los feeds de MISP

Tipo de retorno
dict
contact_event_reporter ( evento , mensaje ) [fuente]
Enviar un mensaje al reportero de un evento.

Tipo de retorno
dict
delegate_event ( event = None , organization = None , event_delega
tion = None , distribution = -
1 , message = '' , pythonify = False ) [fuente]
Nota: distribución == -1 significa que el destinatario decide

Tipo de retorno
Union [ dict , MISPEventDelegation ]
delete_attribute ( atributo , hard = False ) [fuente]
Eliminar un atributo de una instancia de MISP

Tipo de retorno
dict
delete_attribute_proposal ( atributo ) [fuente]
Proponer la eliminación de un atributo

Tipo de retorno
dict

Página 32 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
delete_event ( evento ) [fuente]
Eliminar un evento de una instancia de MISP

Tipo de retorno
dict
delete_feed ( feed ) [fuente]
Eliminar un feed de una instancia de MISP

Tipo de retorno
dict
delete_object ( misp_object ) [fuente]
Eliminar un objeto de una instancia de MISP

Tipo de retorno
dict
delete_object_reference ( object_reference ) [fuente]
Eliminar una referencia a un objeto

Tipo de retorno
dict
delete_organisation ( organización ) [fuente]
Eliminar una organización

Tipo de retorno
dict
delete_server ( servidor ) [fuente]
Eliminar un servidor de sincronización

Tipo de retorno
dict
delete_sharing_group ( sharing_group ) [fuente]
Eliminar un grupo para compartir

Tipo de retorno
dict
delete_sighting ( avistamiento ) [fuente]

Página 33 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Eliminar un avistamiento de una instancia de MISP

Tipo de retorno
dict
delete_tag ( etiqueta ) [fuente]
Eliminar un atributo de una instancia de MISP

Tipo de retorno
dict
delete_user ( usuario ) [fuente]
Eliminar un usuario

Tipo de retorno
dict
delete_user_setting ( user_setting , user = None ) [fuente]
Eliminar una configuración de usuario

Tipo de retorno
dict
propiedad describe_types_local
Devuelve el contenido de los tipos de descripción del paquete

Tipo de retorno
dict
propiedad describe_types_remote
Devuelve el contenido de los tipos de descripción de la instancia
remota

Tipo de retorno
dict
direct_call ( url , data = None , params = {} , kw_params = {} ) [fu
ente]
Llamada muy ligera que publica un blob de datos (diccionario python
o cadena json) en la URL

Tipo de retorno
Any

Página 34 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
disable_feed ( feed , pythonify = False ) [fuente]
Deshabilitar un feed

Tipo de retorno
Union [ dict , MISPFeed ]
disable_feed_cache ( feed , pythonify = False ) [fuente]
Inhabilitar el almacenamiento en caché de un feed

Tipo de retorno
Union [ dict , MISPFeed ]
disable_noticelist ( noticelist ) [fuente]
Deshabilitar una lista de noticel por id.

Tipo de retorno
dict
disable_tag ( etiqueta , pythonify = False ) [fuente]
Deshabilitar una etiqueta.

Tipo de retorno
Union [ dict , MISPTag ]
disable_taxonomy ( taxonomía ) [fuente]
Deshabilitar una taxonomía.

Tipo de retorno
dict
disable_taxonomy_tags ( taxonomía ) [fuente]
Deshabilitar todas las etiquetas de una taxonomía.

Tipo de retorno
dict
disable_warninglist (lista de advertencia ) [fuente]
Deshabilitar una lista de advertencia.

Tipo de retorno
dict
discard_attribute_proposal ( propuesta ) [fuente]

Página 35 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Descartar una propuesta

Tipo de retorno
dict
enable_feed ( feed , pythonify = False ) [fuente]
Habilitar un feed (buscarlo creará eventos)

Tipo de retorno
Union [ dict , MISPFeed ]
enable_feed_cache ( feed , pythonify = False ) [fuente]
Habilitar el almacenamiento en caché de un feed

Tipo de retorno
Union [ dict , MISPFeed ]
enable_noticelist ( noticelist ) [fuente]
Habilite una lista de noticel por id.

Tipo de retorno
dict
enable_tag ( etiqueta , pythonify = False ) [fuente]
Habilitar una etiqueta

Tipo de retorno
Union [ dict , MISPTag ]
enable_taxonomy ( taxonomía ) [fuente]
Habilitar una taxonomía.

Tipo de retorno
dict
enable_taxonomy_tags ( taxonomía ) [fuente]
Habilitar todas las etiquetas de una taxonomía. NOTA: esto se hace
automáticamente cuando llama a enable_taxonomy.

Tipo de retorno
dict
enable_warninglist (lista de advertencia ) [fuente]
Habilitar una lista de advertencia.

Página 36 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Tipo de retorno
dict
event_delegations ( pythonify = False ) [fuente]
Obtenga todas las delegaciones de eventos.

Tipo de retorno
Union [ dict , List [ MISPEventDelegation ]]
feeds ( pythonify = False ) [fuente]
Obtenga la lista de feeds existentes.

Tipo de retorno
Union [ dict , List [ MISPFeed ]]
fetch_feed ( feed ) [fuente]
Obtener una sola alimentación

Tipo de retorno
dict
freetext ( evento , cadena , adherente a listas de
advertencia = Falso , distribución = Ninguno , returnMetaAttributes
= Falso , pythonify = Falso , ** kwargs ) [fuente]
Pase un texto al importador de texto libre

Tipo de retorno
Union [ dict , List [ MISPAttribute ]]
galaxies ( pythonify = False ) [fuente]
Consigue todas las galaxias.

Tipo de retorno
Union [ dict , List [ MISPGalaxy ]]
get_attribute ( atributo , pythonify = False ) [fuente]
Obtener un atributo de una instancia de MISP

Tipo de retorno
Union [ dict , MISPAttribute ]
get_community ( community , pythonify = False ) [fuente]
Obtenga una comunidad de una instancia de MISP

Página 37 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Tipo de retorno
Union [ dict , MISPCommunity ]
get_event ( evento , eliminado = Falso , pythonify = Falso ) [fuente]
Obtenga un evento de una instancia de MISP

Tipo de retorno
Union [ dict , MISPEvent ]
get_feed ( feed , pythonify = False ) [fuente]
Obtenga un feed por id.

Tipo de retorno
Union [ dict , MISPFeed ]
get_galaxy ( galaxy , pythonify = False ) [fuente]
Consigue una galaxia por id.

Tipo de retorno
Union [ dict , MISPGalaxy ]
get_noticelist ( noticelist , pythonify = False ) [fuente]
Obtenga una lista de noticel por id.

Tipo de retorno
Union [ dict , MISPNoticelist ]
get_object ( misp_object , pythonify = False ) [fuente]
Obtener un objeto de la instancia remota de MISP

Tipo de retorno
Union [ dict , MISPObject ]
get_object_template ( object_template , pythonify = False ) [fuente
]
Obtiene la plantilla de objeto completo correspondiente al UUID
pasado como parámetro

Tipo de retorno
Union [ dict , MISPObjectTemplate ]
get_organisation ( organización , pythonify = False ) [fuente]
Consigue una organización.

Página 38 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Tipo de retorno
Union [ dict , MISPOrganisation ]
get_sync_config ( pythonify = False ) [fuente]
ADVERTENCIA: este método solo funciona si el usuario que lo llama
es un usuario de sincronización

Tipo de retorno
Union [ dict , MISPServer ]
get_tag ( etiqueta , pythonify = False ) [fuente]
Obtenga una etiqueta por id.

Tipo de retorno
Union [ dict , MISPTag ]
get_taxonomy ( taxonomía , pythonify = False ) [fuente]
Obtenga una taxonomía de una instancia de MISP.

Tipo de retorno
Union [ dict , MISPTaxonomy ]
get_user ( usuario = 'yo' , pythonify = False , expandido = False ) [fu
ente]
Consigue un usuario. me significa el propietario de la clave API que
realiza la consulta. expandido también devuelve un MISPRole y un
MISPUserSetting

Tipo de retorno
Union [ dict , MISPUser , Tuple [ MISPUser , MISPRole , List [ MISPUserSe
tting ]]]
get_user_setting ( user_setting , user = None , pythonify = False )
[fuente]
Obtener una configuración de usuario

Tipo de retorno
Union [ dict , MISPUserSetting ]
get_warninglist ( get_warninglist , pythonify = False ) [fuente]
Obtenga una lista de advertencia.

Tipo de retorno

Página 39 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Union [ dict , MISPWarninglist ]
import_server ( servidor , pythonify = False ) [fuente]
Importe una configuración de servidor de sincronización recibida de
get_sync_config

Tipo de retorno
Union [ dict , MISPServer ]
propiedad misp_instance_version
Devuelve la versión de la instancia.

Tipo de retorno
dict
propiedad misp_instance_version_master
Obtenga la versión más reciente de github

Tipo de retorno
dict
noticelists ( pythonify = False ) [fuente]
Obtenga todas las listas de noticias.

Tipo de retorno
Union [ dict , List [ MISPNoticelist ]]
object_templates ( pythonify = False ) [fuente]
Obtenga todas las plantillas de objetos.

Tipo de retorno
Union [ dict , List [ MISPObjectTemplate ]]
organisations ( alcance = 'local' , pythonify = False ) [fuente]
Obtenga todas las organizaciones.

Tipo de retorno
Union [ dict , List [ MISPOrganisation ]]
publish ( evento , alerta = Falso ) [fuente]
Publique el evento con una sola POST HTTP. El valor predeterminado
es no enviar un correo, ya que se supone que este método se llama en
la actualización.

Página 40 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Tipo de retorno
dict
push_event_to_ZMQ ( evento ) [fuente]
Forzar empujar un evento en ZMQ

Tipo de retorno
dict
propiedad pymisp_version_master
Obtenga la versión más reciente de PyMISP de github

Tipo de retorno
dict
propiedad recommended_pymisp_version
Devuelve la versión de API recomendada del servidor

Tipo de retorno
dict
remote_acl ( debug_type = 'findMissingFunctionNames' ) [fuente]
Esto debería devolver una lista vacía, a menos que la ACL esté
desactualizada. debug_type solo puede ser printAllFunctionNames,
findMissingFunctionNames o printRoleAccess

Tipo de retorno
dict
remove_org_from_sharing_group ( sharing_group , organization ) [
fuente]
Eliminar una organización de un grupo compartido. : sharing_group:
ID de instancia local del grupo de Sharing, o UUID global del grupo de
Sharing: organización: ID de instancia local de la Organización, o
UUID global de la Organización, o el nombre de la Organización como
lo conoce la instancia actual

Tipo de retorno
dict
remove_server_from_sharing_group ( sharing_group , server ) [fue
nte]

Página 41 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Eliminar un servidor de un grupo compartido. : sharing_group: ID de
instancia local del grupo Sharing, o UUID global del grupo Sharing:
servidor: ID de instancia local del servidor, o URL del servidor, o el
nombre del servidor como lo conoce la instancia actual

Tipo de retorno
dict
roles ( pythonify = False ) [fuente]
Obtenga los roles existentes

Tipo de retorno
Union [ dict , List [ MISPRole ]]
search ( controller = 'events' , return_format = 'json' , limit = None ,
page = None , value = None , type_attribute = None , category = Non
e , org = None , tags = None , quick_filter = None , quickFilter = None
, date_from = None , date_to = None , eventid = None , with_attach
ments = None , withAttachments = None , metadata = None , uuid =
None , publishing_timestamp = None , last = None , timestamp = No
ne , publicado = None , enforce_warninglist = None , enforceWarnin
glist = None , enforceWwarninglist = None Ninguno , to_ids = Ningu
no , eliminado = Ninguno , include_event_uuid = Ninguno , includeE
ventUuid = Ninguno , include_event_tags = Ninguno , includeEventT
ags = Ninguno , event_timestamp = Ninguno , sg_reference_only =
Ninguno , eventinfo = Ninguno , searchall = Ninguno , solicitado_att
ributes = Ninguno , include_context = Ninguno , includeContext = No
ne , headerless = None , include_sightings = None , includeSightings
= None , include_correlations = None , includeCorrelations = None , i
nclude_decay_score = None , includeDecayScore = None , pythonify
= Fals e , ** kwargs ) [fuente]
Buscar en la instancia de MISP

Parámetros
 return_format ( str ): establezca el formato de retorno de la
búsqueda (actualmente compatible: json, xml, openioc, suricata,
snort; se están trasladando más formatos a restSearch con el objetivo
de que todas las búsquedas se realicen a través de esta API). Se puede

Página 42 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
pasar como el primer parámetro después de restSearch o mediante la
carga JSON.
 limit ( Optional [ int ]): limita el número de resultados devueltos,
según el alcance (por ejemplo, 10 atributos o 10 eventos completos).
 page ( Optional [ int ]): si se establece un límite, establece la página
que se devolverá. página 3, el límite 100 devolverá los registros 201->
300).
 value ( Optional [~ SearchParameterTypes]): busca el valor dado en
el campo de valor de los atributos.
 type_attribute ( Optional [~ SearchParameterTypes]): el tipo de
atributo, se acepta cualquier tipo de atributo MISP válido.
 category ( Optional [~ SearchParameterTypes]): la categoría de
atributo, se acepta cualquier categoría de atributo MISP válida.
 org ( Optional [~ SearchParameterTypes]): busca por la organización
creadora proporcionando el identificador de la organización.
 etiquetas ( Optional [~ SearchParameterTypes]) - Etiquetas para
buscar o excluir. Puede pasar una lista o la salida
de build_complex_query
 quick_filter ( Optional [ str ]): la cadena que se pasa a este campo
ignorará todos los demás argumentos. MISP devolverá un xml / json
(según el encabezado enviado) de todos los eventos que tengan una
coincidencia de subcadena en el valor en la información del evento,
evento orgc o cualquiera de los campos de valor1 / valor2 del atributo,
o en el comentario del atributo.
 date_from ( Union [ date , int , str , float , None ]): eventos con la
fecha establecida en una fecha posterior a la especificada. Este filtro
usará la fecha del evento.
 date_to ( Union [ date , int , str , float , None ]): eventos con la fecha
establecida en una fecha anterior a la especificada. Este filtro usará la
fecha del evento.
 eventid ( Optional [~ SearchType]): los eventos que deben incluirse /
excluirse de la búsqueda
 with_attachments ( Optional [ bool ]): si está configurado, codifica
los archivos adjuntos / muestras de malware comprimido como
base64 en el campo de datos dentro de cada atributo

Página 43 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
 metadatos ( Optional [ bool ]): solo se devuelven los metadatos
(evento, etiquetas, relaciones), se omiten los atributos y las
propuestas.
 uuid ( Optional [ str ]): restringe los resultados por uuid.
 publishing_timestamp ( Union [ date , int , str , float , None , Tupl
e [ Union [ date , int , str , float , None ], Union [ date , int , str , float
, None ]]]) - Restringe los resultados por última marca de tiempo de
publicación (más reciente que).
 marca de
tiempo ( Union [ date , int , str , float , None , Tuple [ Union [ date , in
t , str , float , None ], Union [ date , int , str , float , None ]]]) -
Restringe los resultados por marca de tiempo (última edición). Se
devolverá cualquier evento con una marca de tiempo más nueva que la
marca de tiempo dada. En caso de que esté tratando con / atributos
como ámbito, la marca de tiempo del atributo se usará para la
búsqueda.
 Publicada ( Optional [ bool ]): establece si se deben devolver los
eventos publicados o no publicados. No establezca el parámetro si
desea ambos.
 enforce_warninglist ( Optional [ bool ]): elimina cualquier
atributo del resultado que pueda causar un impacto en una entrada de
la lista de advertencia.
 to_ids ( Union [~ ToIDSType, List [~ ToIDSType], None ]): de forma
predeterminada, se devuelven todos los atributos que coinciden con
los otros parámetros de filtro, independientemente de su
configuración to_ids. Para restringir el conjunto de datos devuelto a
to_ids, solo los atributos establecen este parámetro en 1. 0 para los
que tienen to_ids establecido en False.
 eliminado ( Optional [ str ]): si este parámetro se establece en 1,
devolverá los atributos eliminados temporalmente junto con los
activos. Al usar "solo" como parámetro, limitará el conjunto de datos
devueltos solo a datos eliminados temporalmente.
 include_event_uuid ( Optional [ bool ]): en lugar de incluir solo el
ID del evento, también incluye el UUID del evento en cada uno de los
atributos.
 include_event_tags ( Optional [ bool ]): incluye las etiquetas de
nivel de evento en cada uno de los atributos.

Página 44 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
 event_timestamp ( Union [ date , int , str , float , None ]): solo
devuelve atributos de eventos que han recibido una modificación
después de la marca de tiempo dada.
 sg_reference_only ( Optional [ bool ]): si se establece este
indicador, no se incluirán los objetos del grupo compartido, en su
lugar solo se establecerá la ID del grupo compartido.
 eventinfo ( Optional [ str ]) - Filtra en el campo de información del
evento.
 searchall ( Optional [ bool ]): busca una subcadena completa o una
subcadena (delimitada por% para subcadenas) en la información del
evento, etiquetas de evento, etiquetas de atributo, valores de atributo o
campos de comentario de atributo.
 atributos_adquiridos ( Optional [ str ]) - [solo CSV] Seleccione los
campos que desea incluir en la exportación CSV. Al configurar los
campos de nivel de evento adicionalmente, includeContext no es
necesario para obtener metadatos de eventos.
 include_context ( Optional [ bool ]) - [Solo atributo] Incluye los
datos del evento con cada atributo. [Salida CSV] Agregue metadatos a
nivel de evento en cada línea del CSV.
 sin encabezado ( Optional [ bool ]) - [Solo CSV] El CSV creado
cuando esta configuración se establece en verdadero no contendrá la
fila del encabezado.
 include_sightings ( Optional [ bool ]) - [JSON Only - Attribute]
Incluye los avistamientos de los atributos coincidentes.
 include_decay_score ( Optional [ bool ]) - Incluye el puntaje de
decaimiento a nivel de atributo.
 include_correlations ( Optional [ bool ]) - [Solo JSON - atributo]
Incluye las correlaciones de los atributos coincidentes.
 pythonify ( Optional [ bool ]): devuelve una lista de objetos PyMISP
en lugar de la salida json sin formato. Advertencia: puede usar mucha
RAM

Obsoleto:

Parámetros
 quickFilter ( Optional [ str ]) - sinónimo de quick_filter

Página 45 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
 withAttachments ( Optional [ bool ]) - sinónimo de
with_attachments
 last ( Union [ date , int , str , float , None , Tuple [ Union [ date , int , s
tr , float , None ], Union [ date , int , str , float , None ]]]) - sinónimo
de publishing_timestamp
 enforceWarninglist ( Optional [ bool ]) - sinónimo de
enforce_warninglist
 includeEventUuid ( Optional [ bool ]) - sinónimo de
include_event_uuid
 includeEventTags ( Optional [ bool ]) - sinónimo de
include_event_tags
 includeContext ( Optional [ bool ]) - sinónimo de include_context
Tipo de retorno
Union [ dict , str , List [ Union [ MISPEvent , MISPAttribute ]]]
search_feeds ( valor = Ninguno , pythonify = False ) [fuente]
Buscar en los feeds almacenados en caché en los servidores

Tipo de retorno
Union [ dict , List [ MISPFeed ]]
search_index ( publicado = Ninguno , eventid = Ninguno , etiquetas
= Ninguno , date_from = Ninguno , date_to = Ninguno , eventinfo =
Ninguno , amenaza
nivel = Ninguno , distribución = Ninguno , análisis = Ninguno , org =
Ninguno , marca de
tiempo = Ninguno , pythonify = Ninguno ) [fuente]
Buscar solo en el nivel de índice. Utilizando ! delante de un valor
significa NO (el valor predeterminado es OR)

Parámetros
 Publicada ( Optional [ bool ]): establece si se deben devolver los
eventos publicados o no publicados. No establezca el parámetro si
desea ambos.
 eventid ( Optional [~ SearchType]): los eventos que deben incluirse /
excluirse de la búsqueda
 etiquetas ( Optional [~ SearchParameterTypes]) - Etiquetas para
buscar o excluir. Puede pasar una lista o la salida
de build_complex_query

Página 46 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
 date_from ( Union [ date , int , str , float , None ]): eventos con la
fecha establecida en una fecha posterior a la especificada. Este filtro
usará la fecha del evento.
 date_to ( Union [ date , int , str , float , None ]): eventos con la fecha
establecida en una fecha anterior a la especificada. Este filtro usará la
fecha del evento.
 eventinfo ( Optional [ str ]) - Filtra en el campo de información del
evento.
 Nivel de amenaza ( Optional [ List [~ Tipo de búsqueda ]]) -
Nivel (es) de amenaza (1,2,3,4) | lista
 distribution ( Optional [ List [~ SearchType]]) - Nivel (es) de
distribución (0,1,2,3) | lista
 análisis ( Optional [ List [~ Tipo de búsqueda]]) - Nivel (es) de
análisis (0,1,2) | lista
 org ( Optional [~ SearchParameterTypes]): busca por la organización
creadora proporcionando el identificador de la organización.
 marca de
tiempo ( Union [ date , int , str , float , None , Tuple [ Union [ date , in
t , str , float , None ], Union [ date , int , str , float , None ]]]) -
Restringe los resultados por marca de tiempo (última edición). Se
devolverá cualquier evento con una marca de tiempo más nueva que la
marca de tiempo dada. En caso de que esté tratando con / atributos
como ámbito, la marca de tiempo del atributo se usará para la
búsqueda.
 pythonify ( Optional [ bool ]) - Devuelve una lista de objetos PyMISP
en su lugar o la salida json sin formato. Advertencia: puede usar
mucha RAM
Tipo de retorno
Union [ dict , List [ MISPEvent ]]
search_logs ( límite = Ninguno , página = Ninguno , log_id = Ningu
no , título = Ninguno , creado = Ninguno , modelo = Ninguno , acción
= Ninguno , usuario_id = Ninguno , cambio = Ninguno , correo
electrónico = Ninguno , org = Ninguno , descripción = Ninguno , ip =
Ninguno , pythonify = False ) [fuente]
Buscar en registros

Página 47 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Nota: para ejecutar consultas de subcadena simplemente agregue /
anteponga / encapsule el término de búsqueda con%

Parámetros
 limit ( Optional [ int ]): limita el número de resultados devueltos,
según el alcance (por ejemplo, 10 atributos o 10 eventos completos).
 page ( Optional [ int ]): si se establece un límite, establece la página
que se devolverá. página 3, el límite 100 devolverá los registros 201->
300).
 log_id ( Optional [ int ]) - ID de registro
 title ( Optional [ str ]) - Título del registro
 created ( Union [ date , int , str , float , None ]) - Marca de tiempo de
creación
 model ( Optional [ str ]): nombre del modelo que generó la entrada
de registro
 action ( Optional [ str ]): lo que se hizo
 user_id ( Optional [ int ]): ID del usuario que realiza la acción
 change ( Optional [ str ]) - Cambio que ocurrió
 email ( Optional [ str ]) - Correo electrónico del usuario
 org ( Optional [ str ]): organización del usuario que realiza la acción
 description ( Optional [ str ]): descripción de la acción
 ip ( Optional [ str ]): IP de origen del usuario que realiza la acción
 pythonify ( Optional [ bool ]) - Devuelve una lista de objetos PyMISP
en su lugar o la salida json sin formato. Advertencia: puede usar
mucha RAM
Tipo de retorno
Union [ dict , List [ MISPLog ]]
search_sightings ( context = None , context_id = None , type_sighti
ng = None , date_from = None , date_to = None , publishing_timesta
mp = None , last = None , org = None , source = None , include_attrib
ute = None , include_event_meta = None , pythonify = False ) [fuente
]
Buscar avistamientos

Parámetros
 context ( Optional [ str ]): el contexto de la búsqueda. Puede ser
"atributo", "evento" o nada (luego coincidirá en eventos y atributos).

Página 48 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
 context_id ( Optional [~ SearchType]): solo relevante si el contexto
es "atributo" o "evento". Entonces es la identificación relevante.
 type_sighting ( Optional [ str ]) - Tipo de avistamiento
 date_from ( Union [ date , int , str , float , None ]): eventos con la
fecha establecida en una fecha posterior a la especificada. Este filtro
usará la fecha del evento.
 date_to ( Union [ date , int , str , float , None ]): eventos con la fecha
establecida en una fecha anterior a la especificada. Este filtro usará la
fecha del evento.
 publishing_timestamp ( Union [ date , int , str , float , None , Tupl
e [ Union [ date , int , str , float , None ], Union [ date , int , str , float
, None ]]]) - Restringe los resultados por última marca de tiempo de
publicación (más reciente que).
 org ( Optional [~ SearchType]): busca por la organización creadora
proporcionando el identificador de la organización.
 source ( Optional [ str ]) - Fuente del avistamiento
 include_attribute ( Optional [ bool ]): incluye el atributo.
 include_event_meta ( Optional [ bool ]): incluye la
metainformación del evento.

Obsoleto:

Parámetros
last ( Union [ date , int , str , float , None , Tuple [ Union [ date , int , s
tr , float , None ], Union [ date , int , str , float , None ]]]) - sinónimo
de publishing_timestamp
Ejemplo

>>> misp . search_sightings ( publish_timestamp = '30d' ) #


search sightings for the last 30 days on the instance

[ ... ]

>>> misp . search_sightings ( context = 'attribute' ,


context_id = 6 , include_attribute = True ) # return list of
sighting for attribute 6 along with the attribute itself

[ ... ]

Página 49 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
>>> misp . search_sightings ( context = 'event' , context_id =
17 , include_event_meta = True , org = 2 ) # return list of
sighting for event 17 filtered with org id 2

Tipo de retorno
Union [ dict , List [ Dict [ str , Union [ MISPEvent , MISPAttribute , MIS
PSighting ]]]]
server_pull ( servidor , evento = Ninguno ) [fuente]
Inicializar una extracción desde un servidor de sincronización

Tipo de retorno
dict
server_push ( servidor , evento = Ninguno ) [fuente]
Inicializar un envío a un servidor de sincronización

Tipo de retorno
dict
servers ( pythonify = False ) [fuente]
Obtenga los servidores existentes con los que la instancia MISP puede
sincronizarse

Tipo de retorno
Union [ dict , List [ MISPServer ]]
set_user_setting ( user_setting , value , user = None , pythonify =
False ) [fuente]
Obtener una configuración de usuario

Tipo de retorno
Union [ dict , MISPUserSetting ]
sharing_groups ( pythonify = False ) [fuente]
Obtenga los grupos para compartir existentes

Tipo de retorno
Union [ dict , List [ MISPSharingGroup ]]
sightings ( misp_entity = None , org = None , pythonify = False ) [f
uente]

Página 50 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Obtenga la lista de avistamientos relacionados con un evento MISPE o
un atributo MISPA (según el tipo de misp_entity)

Tipo de retorno
Union [ dict , List [ MISPSighting ]]
tag ( misp_entity , etiqueta , local = False ) [fuente]
Etiquetar un evento o un atributo. misp_entity puede ser un evento
MISPEvent, un atributo MISP o un UUID

Tipo de retorno
dict
tags ( pythonify = False ) [fuente]
Obtenga la lista de etiquetas existentes.

Tipo de retorno
Union [ dict , List [ MISPTag ]]
tags_statistics ( porcentaje = False , name_sort = False ) [fuente]
Obtenga estadísticas de etiquetas de la instancia de MISP

Tipo de retorno
dict
taxonomies ( pythonify = False ) [fuente]
Obtén todas las taxonomías.

Tipo de retorno
Union [ dict , List [ MISPTaxonomy ]]
toggle_warninglist ( toggle_warninglist = None , warninglist_n
ame = None , force_enable = False ) [fuente]
Alternar (habilitar / deshabilitar) el estado de una lista de advertencia
por ID. : type warninglist_id: Union [ str , int , List [ int ], None ]:
param warninglist_id: ID de la lista de advertencia: escriba
force_enable: bool : param force_enable: fuerza la lista de advertencia
en el estado habilitado (no hay nada habilitado)

Tipo de retorno
dict
untag ( misp_entity , tag ) [fuente]

Página 51 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Desanclar un evento o un atributo. misp_entity puede ser un UUID

Tipo de retorno
dict
update_attribute ( attribute , attribute_id = None , pythonify = Fal
se ) [fuente]
Actualizar un atributo en una instancia de MISP

Tipo de retorno
Union [ dict , MISPAttribute , MISPShadowAttribute ]
update_attribute_proposal ( initial_attribute , attribute , pythonif
y = False ) [fuente]
Proponer un cambio para un atributo

Tipo de retorno
Union [ dict , MISPShadowAttribute ]
update_event ( event , event_id = None , pythonify = False ) [fuente]
Actualizar un evento en una instancia de MISP

Tipo de retorno
Union [ dict , MISPEvent ]
update_feed ( feed , feed_id = Ninguno , pythonify = False ) [fuente]
Actualizar un feed en una instancia de MISP

Tipo de retorno
Union [ dict , MISPFeed ]
update_galaxies ( ) [fuente]
Actualiza todas las galaxias.

Tipo de retorno
dict
update_noticelists ( ) [fuente]
Actualiza todas las listas de noticias.

Tipo de retorno
dict

Página 52 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
update_object ( misp_object , object_id = None , pythonify = False )
[fuente]
Actualizar un objeto en una instancia de MISP

Tipo de retorno
Union [ dict , MISPObject ]
update_object_templates ( ) [fuente]
Activa una actualización de las plantillas de objetos

Tipo de retorno
dict
update_organisation ( organization , organisation_id = None , pyt
honify = False ) [fuente]
Actualizar una organización

Tipo de retorno
Union [ dict , MISPOrganisation ]
update_server ( server , server_id = None , pythonify = False ) [fue
nte]
Actualizar un servidor para sincronizar con

Tipo de retorno
Union [ dict , MISPServer ]
update_tag ( tag , tag_id = Ninguno , pythonify = False ) [fuente]
Edite solo los parámetros proporcionados de una etiqueta.

Tipo de retorno
Union [ dict , MISPTag ]
update_taxonomies ( ) [fuente]
Actualiza todas las taxonomías.

Tipo de retorno
dict
update_user ( user , user_id = None , pythonify = False ) [fuente]
Actualizar un evento en una instancia de MISP

Página 53 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Tipo de retorno
Union [ dict , MISPUser ]
update_warninglists ( ) [fuente]
Actualiza todas las listas de advertencia.

Tipo de retorno
dict
upload_stix ( ruta , versión = '2' ) [fuente]
Cargue un archivo STIX a MISP. : ruta param: ruta al STIX en el disco
(puede ser un objeto similar a una ruta o un pseudofile): versión de
tipo: str : versión param: puede ser 1 o 2

user_settings ( pythonify = False ) [fuente]


Obtenga todas las configuraciones de usuario.

Tipo de retorno
Union [ dict , List [ MISPUserSetting ]]
users ( pythonify = False ) [fuente]
Consigue todos los usuarios.

Tipo de retorno
Union [ dict , List [ MISPUser ]]
users_statistics ( context = 'data' ) [fuente]
Obtenga estadísticas de los usuarios de la instancia de MISP

Tipo de retorno
dict
values_in_warninglist ( valor ) [fuente]
Compruebe si los valores de IOC están en la lista de advertencia

Tipo de retorno
dict
version propiedad
Devuelve la versión de PyMISP que está utilizando actualmente

Tipo de retorno
dict

Página 54 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
warninglists ( pythonify = False ) [fuente]
Obtén todas las listas de advertencia.

Tipo de retorno
Union [ dict , List [ MISPWarninglist ]]

PyMISPExpanded (solo Python 3.6+)


pymisp. ExpandedPyMISP
alias de pymisp.api.PyMISP

MISPAbstract
clase pymisp. AbstractMISP ( ** kwargs ) [fuente]
propiedad edited
Verifique recursivamente si un objeto ha sido editado y actualice la
bandera de acuerdo con los objetos principales

Tipo de retorno
bool
from_dict ( ** kwargs ) [fuente]
Cargando todos los parámetros como propiedades de clase, si no
son Ninguno . Este método pretende ser llamado cuando se procesan
todas las propiedades que requieren un tratamiento especial. Nota:
Este método se utiliza cuando inicializa un objeto con datos existentes,
por lo que, de manera predeterminada, la clase se desglosa como no
editada.

Tipo de retorno
None
from_json ( json_string ) [fuente]
Cargar una cadena JSON

Tipo de retorno
None
jsonable ( ) [fuente]

Página 55 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Este método lo utiliza el codificador JSON

Tipo de retorno
dict
set_not_jsonable ( args ) [fuente]
Establezca __not_jsonable en una nueva lista

Tipo de retorno
None
to_dict ( ) [fuente]
Volcar la clase a un diccionario. Este método elimina automáticamente
la marca de tiempo de forma recursiva en cada objeto que se ha
editado para permitir que MISP actualice el evento en consecuencia.

Tipo de retorno
dict
to_json ( sort_keys = False , sangría = Ninguno ) [fuente]
Volcar recursivamente cualquier clase de tipo MISPAbstract en una
cadena json

update_not_jsonable ( * args ) [fuente]


Agregar entradas a la lista __not_jsonable

Tipo de retorno
None

MISPEncode
clase pymisp. MISPEncode ( * , skipkeys = False , sure_ascii = True , check_
circular = True , allow_nan = True , sort_keys = False , sangría = Ninguno
, separadores = Ninguno , predeterminado = Ninguno ) [fuente]
default ( obj ) [fuente]
Implemente este método en una subclase de modo que devuelva un
objeto serializable para o , o llame a la implementación base (para
generar un TypeError ).

Página 56 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Por ejemplo, para admitir iteradores arbitrarios, podría implementar
valores predeterminados como este:

def default ( self , o ):

try :

iterable = iter ( o )

except TypeError :

pass

else :

return list ( iterable )

# Let the base class default method raise the TypeError

return JSONEncoder . default ( self , o )

MISPEvent
clase pymisp. MISPEvent ( describe_types = Ninguno , estricto_validación
= Falso , ** kwargs ) [fuente]
add_attribute ( tipo , valor , ** kwargs ) [fuente]
Agrega un atributo. el tipo y el valor son obligatorios, pero puede pasar
todos los demás parámetros admitidos por MISPAttribute

Tipo de retorno
Union[ MISPAttribute, List[ MISPAttribute]]
add_attribute_tag ( etiqueta , identificador_atributo ) [fuente]
Agregue una etiqueta a un atributo existente, genere una excepción si
el atributo no existe. : etiqueta: Nombre de etiqueta como una cadena,
instancia MISPTag o diccionario: atributo_identificador: puede ser un
ID, UUID o el valor.

Tipo de retorno
List[ MISPAttribute]

Página 57 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
add_object ( obj = Ninguno , ** kwargs ) [fuente]
Agregue un objeto al evento, ya sea pasando un objeto MISPO o un
diccionario

Tipo de retorno
MISPObject
add_proposal ( shadow_attribute = None , ** kwargs ) [fuente]
Alias para add_shadow_attribute

Tipo de retorno
MISPShadowAttribute
add_shadow_attribute ( shadow_attribute = None , ** kwargs ) [fu
ente]
Agregue una etiqueta al atributo (por nombre o un objeto MISPTag)

Tipo de retorno
MISPShadowAttribute
clear () → Ninguno. Eliminar todos los elementos de D.
delete_attribute ( atributo_id ) [fuente]
Eliminar un atributo, puede buscar por ID o UUID

propiedad edited
Verifique recursivamente si un objeto ha sido editado y actualice la
bandera de acuerdo con los objetos principales

Tipo de retorno
bool
from_dict ( ** kwargs ) [fuente]
Cargando todos los parámetros como propiedades de clase, si no
son Ninguno . Este método pretende ser llamado cuando se procesan
todas las propiedades que requieren un tratamiento especial. Nota:
Este método se utiliza cuando inicializa un objeto con datos existentes,
por lo que, de manera predeterminada, la clase se desglosa como no
editada.

from_json ( json_string )
Cargar una cadena JSON

Página 58 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Tipo de retorno
None
get ( k [ , d ] ) → D [k] si k en D, de lo contrario d. d por defecto es
Ninguno.
get_attribute_tag ( atributo_identificador ) [fuente]
Devuelve las etiquetas asociadas a un atributo o un atributo de
objeto. : attribute_identifier: puede ser un ID, UUID o el valor.

Tipo de retorno
List[ MISPTag]
get_object_by_id ( object_id ) [fuente]
Obtenga un objeto por ID (la ID es la establecida por el servidor al
crear el nuevo objeto)

Tipo de retorno
MISPObject
get_object_by_uuid ( object_uuid ) [fuente]
Obtener un objeto por UUID (UUID establece el UUID al crear el
nuevo objeto)

Tipo de retorno
MISPObject
get_objects_by_name ( nombre_objeto ) [fuente]
Obtener un objeto por UUID (UUID establece el UUID al crear el
nuevo objeto)

Tipo de retorno
List[ MISPObject]
items ( ) → un objeto tipo conjunto que proporciona una vista de los
elementos de D
jsonable ( )
Este método lo utiliza el codificador JSON

Tipo de retorno
dict

Página 59 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
keys ( ) → un objeto tipo conjunto que proporciona una vista de las
teclas de D
load ( json_event , validate = False , metadata_only = False ) [fuent
e]
Cargue un volcado JSON desde un pseudo archivo o una cadena JSON

load_file ( event_path , validate = False , metadata_only = False )


[fuente]
Cargue un volcado JSON desde un archivo en el disco

pop ( k [ , d ] ) → v, elimina la clave especificada y devuelve el valor


correspondiente.
Si no se encuentra la clave, se devuelve d si se proporciona; de lo
contrario, se genera KeyError.

popitem ( ) → (k, v), eliminar y devolver algún par (clave, valor)


como una tupla de 2; pero aumenta KeyError si D está vacío.

publish ( ) [fuente]
Marcar el atributo como publicado

set_date ( d = Ninguno , ignore_invalid = False ) [fuente]


Establecer una fecha para el evento (cadena, fechahora u objeto de
fecha)

set_not_jsonable ( args )
Establezca __not_jsonable en una nueva lista

Tipo de retorno
None
setdefault ( k [ , d ] ) → D.get (k, d), también establezca D [k] = d si
k no está en D
propiedad tags
Devuelve una pérdida de etiquetas asociadas a este evento

Tipo de retorno

Página 60 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
List[ MISPTag]
to_dict ( ) [fuente]
Volcar la clase a un diccionario. Este método elimina automáticamente
la marca de tiempo de forma recursiva en cada objeto que se ha
editado para permitir que MISP actualice el evento en consecuencia.

Tipo de retorno
dict
to_feed ( valid_distributions = [0, 1, 2, 3, 4,
5] , with_meta = False ) [fuente]
Genere una salida json para MISP Feed. Notas:

valid_distributions solo tiene sentido si se establece la clave de



distribución (es decir, el evento se exporta desde una instancia
de MISP)
Tipo de retorno
dict
to_json ( sort_keys = False , sangría = Ninguno )
Volcar recursivamente cualquier clase de tipo MISPAbstract en una
cadena json

unpublish ( ) [fuente]
Marque el atributo como no publicado (establezca el indicador de
publicación en falso)

update ( [ E , ] ** F ) → Ninguno. Actualice D desde el mapeo / E y F.


iterables
Si E está presente y tiene un método .keys (), hace: for k en E: D [k] =
E [k] Si E está presente y carece del método .keys (), hace: for (k, v) en
E: D [k] = v En cualquier caso, esto es seguido por: para k, v en F.items
(): D [k] = v

update_not_jsonable ( * args )
Agregar entradas a la lista __not_jsonable

Tipo de retorno
None

Página 61 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
values ( ) → un objeto que proporciona una vista de los valores de D

MISPAttribute
clase pymisp. MISPAttribute ( describe_types = Ninguno , estricto = Falso
) [fuente]
add_proposal ( shadow_attribute = None , ** kwargs ) [fuente]
Alias para add_shadow_attribute

Tipo de retorno
MISPShadowAttribute
add_shadow_attribute ( shadow_attribute = None , ** kwargs ) [fu
ente]
Agregue un atributo de sombra al atributo (por nombre o un objeto
MISPShadowAttribute)

Tipo de retorno
MISPShadowAttribute
add_sighting ( avistamiento = Ninguno , ** kwargs ) [fuente]
Agregue un avistamiento al atributo (por nombre o un objeto
MISPSighting)

Tipo de retorno
MISPSighting
clear ( ) → Ninguno. Eliminar todos los elementos de D.
delete ( ) [fuente]
Marcar el atributo como eliminado (eliminación suave)

propiedad edited
Verifique recursivamente si un objeto ha sido editado y actualice la
bandera de acuerdo con los objetos principales

Tipo de retorno
bool
from_dict ( ** kwargs ) [fuente]

Página 62 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Cargando todos los parámetros como propiedades de clase, si no
son Ninguno . Este método pretende ser llamado cuando se procesan
todas las propiedades que requieren un tratamiento especial. Nota:
Este método se utiliza cuando inicializa un objeto con datos existentes,
por lo que, de manera predeterminada, la clase se desglosa como no
editada.

from_json ( json_string )
Cargar una cadena JSON

Tipo de retorno
None
get ( k [ , d ] ) → D [k] si k en D, de lo contrario d. d por defecto es
Ninguno.
hash_values ( algoritmo = 'sha512' ) [fuente]
Calcule el hash de cada valor para búsquedas rápidas

Tipo de retorno
List[ str]
items ( ) → un objeto tipo conjunto que proporciona una vista de los
elementos de D
jsonable ( )
Este método lo utiliza el codificador JSON

Tipo de retorno
dict
keys ( ) → un objeto tipo conjunto que proporciona una vista de las
teclas de D
propiedad known_types
Devuelve una lista de todos los tipos de atributos MISP conocidos

Tipo de retorno
List[ str]
propiedad malware_binary
Devuelve un BytesIO del malware (si el atributo tiene uno, obvs).

Tipo de retorno

Página 63 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Optional[ BytesIO]
pop ( k [ , d ] ) → v, elimina la clave especificada y devuelve el valor
correspondiente.
Si no se encuentra la clave, se devuelve d si se proporciona; de lo
contrario, se genera KeyError.

popitem ( ) → (k, v), eliminar y devolver algún par (clave, valor)


como una tupla de 2; pero aumenta KeyError si D está vacío.

set_not_jsonable ( args )
Establezca __not_jsonable en una nueva lista

Tipo de retorno
None
setdefault ( k [ , d ] ) → D.get (k, d), también establezca D [k] = d si
k no está en D
propiedad tags
Devuelve una pérdida de etiquetas asociadas a este atributo

Tipo de retorno
List[ MISPTag]
to_dict ( ) [fuente]
Volcar la clase a un diccionario. Este método elimina automáticamente
la marca de tiempo de forma recursiva en cada objeto que se ha
editado para permitir que MISP actualice el evento en consecuencia.

Tipo de retorno
dict
to_json ( sort_keys = False , sangría = Ninguno )
Volcar recursivamente cualquier clase de tipo MISPAbstract en una
cadena json

update ( [ E , ] ** F ) → Ninguno. Actualice D desde el mapeo / E y F.


iterables
Si E está presente y tiene un método .keys (), hace: for k en E: D [k] =
E [k] Si E está presente y carece del método .keys (), hace: for (k, v) en

Página 64 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
E: D [k] = v En cualquier caso, esto es seguido por: para k, v en F.items
(): D [k] = v

update_not_jsonable ( * args )
Agregar entradas a la lista __not_jsonable

Tipo de retorno
None
values ( ) → un objeto que proporciona una vista de los valores de D

MISPObject
clase pymisp. MISPObject ( nombre , estricto = Falso , independiente = Fal
so , default_attributes_parameters = {} , ** kwargs ) [fuente]
add_attribute ( object_relation , simple_value = None , ** value ) [
fuente]
Agrega un atributo. Se requiere object_relation y la clave de valor es
un diccionario con todas las claves compatibles con MISPAttribute

Tipo de retorno
Optional[ MISPAttribute]
add_attributes ( object_relation , * atributos ) [fuente]
Agregue múltiples atributos con la misma object_relation. Ayudante
para object_relation cuando multiple es True en la plantilla. Es lo
mismo que llamar varias veces add_attribute con la misma
object_relation.

Tipo de retorno
List[ Optional[ MISPAttribute]]
add_reference ( Referenced_uuid , relationship_type , comentario =
Ninguno , ** kwargs ) [SOURCE]
Agregar un enlace (uuid) a otro objeto

Tipo de retorno
MISPObjectReference
clear ( ) → Ninguno. Eliminar todos los elementos de D.

Página 65 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
propiedad edited
Verifique recursivamente si un objeto ha sido editado y actualice la
bandera de acuerdo con los objetos principales

Tipo de retorno
bool
from_dict ( ** kwargs ) [fuente]
Cargando todos los parámetros como propiedades de clase, si no
son Ninguno . Este método pretende ser llamado cuando se procesan
todas las propiedades que requieren un tratamiento especial. Nota:
Este método se utiliza cuando inicializa un objeto con datos existentes,
por lo que, de manera predeterminada, la clase se desglosa como no
editada.

from_json ( json_string )
Cargar una cadena JSON

Tipo de retorno
None
get ( k [ , d ] ) → D [k] si k en D, de lo contrario d. d por defecto es
Ninguno.
get_attributes_by_relation ( object_relation ) [fuente]
Devuelve la lista de atributos con la relación de objeto dada en el
objeto

Tipo de retorno
List[ MISPAttribute]
has_attributes_by_relation ( list_of_relations ) [fuente]
Verdadero si todas las relaciones en la lista están definidas en el objeto

items ( ) → un objeto tipo conjunto que proporciona una vista de los


elementos de D
jsonable ( )
Este método lo utiliza el codificador JSON

Tipo de retorno
dict

Página 66 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
keys ( ) → un objeto tipo conjunto que proporciona una vista de las
teclas de D
pop ( k [ , d ] ) → v, elimina la clave especificada y devuelve el valor
correspondiente.
Si no se encuentra la clave, se devuelve d si se proporciona; de lo
contrario, se genera KeyError.

popitem ( ) → (k, v), eliminar y devolver algún par (clave, valor)


como una tupla de 2; pero aumenta KeyError si D está vacío.

set_not_jsonable ( args )
Establezca __not_jsonable en una nueva lista

Tipo de retorno
None
setdefault ( k [ , d ] ) → D.get (k, d), también establezca D [k] = d si
k no está en D
to_dict ( estricto = Falso ) [fuente]
Volcar la clase a un diccionario. Este método elimina automáticamente
la marca de tiempo de forma recursiva en cada objeto que se ha
editado para permitir que MISP actualice el evento en consecuencia.

Tipo de retorno
dict
to_json ( sort_keys = False , sangría = Ninguno , estricto = False ) [
fuente]
Volcar recursivamente cualquier clase de tipo MISPAbstract en una
cadena json

update ( [ E , ] ** F ) → Ninguno. Actualice D desde el mapeo / E y F.


iterables
Si E está presente y tiene un método .keys (), hace: for k en E: D [k] =
E [k] Si E está presente y carece del método .keys (), hace: for (k, v) en
E: D [k] = v En cualquier caso, esto es seguido por: para k, v en F.items
(): D [k] = v

Página 67 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
update_not_jsonable ( * args )
Agregar entradas a la lista __not_jsonable

Tipo de retorno
None
values ( ) → un objeto que proporciona una vista de los valores de D

MISPObjectAttribute
clase pymisp. MISPObjectAttribute ( definición ) [fuente]
add_proposal ( shadow_attribute = Ninguno , ** kwargs )
Alias para add_shadow_attribute

Tipo de retorno
MISPShadowAttribute
add_shadow_attribute ( shadow_attribute = Ninguno , ** kwargs )

Agregue un atributo de sombra al atributo (por nombre o un objeto


MISPShadowAttribute)

Tipo de retorno
MISPShadowAttribute
add_sighting ( avistamiento = Ninguno , ** kwargs )
Agregue un avistamiento al atributo (por nombre o un objeto
MISPSighting)

Tipo de retorno
MISPSighting
clear ( ) → Ninguno. Eliminar todos los elementos de D.
delete ( )
Marcar el atributo como eliminado (eliminación suave)

propiedad edited
Verifique recursivamente si un objeto ha sido editado y actualice la
bandera de acuerdo con los objetos principales

Página 68 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Tipo de retorno
bool
from_dict ( object_relation , value , ** kwargs ) [fuente]
Cargando todos los parámetros como propiedades de clase, si no
son Ninguno . Este método pretende ser llamado cuando se procesan
todas las propiedades que requieren un tratamiento especial. Nota:
Este método se utiliza cuando inicializa un objeto con datos existentes,
por lo que, de manera predeterminada, la clase se desglosa como no
editada.

from_json ( json_string )
Cargar una cadena JSON

Tipo de retorno
None
get ( k [ , d ] ) → D [k] si k en D, de lo contrario d. d por defecto es
Ninguno.
hash_values ( algoritmo = 'sha512' )
Calcule el hash de cada valor para búsquedas rápidas

Tipo de retorno
List[ str]
items ( ) → un objeto tipo conjunto que proporciona una vista de los
elementos de D
jsonable ( )
Este método lo utiliza el codificador JSON

Tipo de retorno
dict
keys ( ) → un objeto tipo conjunto que proporciona una vista de las
teclas de D
propiedad known_types
Devuelve una lista de todos los tipos de atributos MISP conocidos

Tipo de retorno
List[ str]

Página 69 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
propiedad malware_binary
Devuelve un BytesIO del malware (si el atributo tiene uno, obvs).

Tipo de retorno
Optional[ BytesIO]
pop ( k [ , d ] ) → v, elimina la clave especificada y devuelve el valor
correspondiente.
Si no se encuentra la clave, se devuelve d si se proporciona; de lo
contrario, se genera KeyError.

popitem ( ) → (k, v), eliminar y devolver algún par (clave, valor)


como una tupla de 2; pero aumenta KeyError si D está vacío.

set_not_jsonable ( args )
Establezca __not_jsonable en una nueva lista

Tipo de retorno
None
setdefault ( k [ , d ] ) → D.get (k, d), también establezca D [k] = d si
k no está en D
propiedad tags
Devuelve una pérdida de etiquetas asociadas a este atributo

Tipo de retorno
List[ MISPTag]
to_dict ( )
Volcar la clase a un diccionario. Este método elimina automáticamente
la marca de tiempo de forma recursiva en cada objeto que se ha
editado para permitir que MISP actualice el evento en consecuencia.

Tipo de retorno
dict
to_json ( sort_keys = False , sangría = Ninguno )
Volcar recursivamente cualquier clase de tipo MISPAbstract en una
cadena json

Página 70 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
update ( [ E , ] ** F ) → Ninguno. Actualice D desde el mapeo / E y F.
iterables
Si E está presente y tiene un método .keys (), hace: for k en E: D [k] =
E [k] Si E está presente y carece del método .keys (), hace: for (k, v) en
E: D [k] = v En cualquier caso, esto es seguido por: para k, v en F.items
(): D [k] = v

update_not_jsonable ( * args )
Agregar entradas a la lista __not_jsonable

Tipo de retorno
None
values ( ) → un objeto que proporciona una vista de los valores de D

MISPObjectReference
clase pymisp. MISPObjectReference [fuente]
clear ( ) → Ninguno. Eliminar todos los elementos de D.
propiedad edited
Verifique recursivamente si un objeto ha sido editado y actualice la
bandera de acuerdo con los objetos principales

Tipo de retorno
bool
from_dict ( ** kwargs ) [fuente]
Cargando todos los parámetros como propiedades de clase, si no
son Ninguno . Este método pretende ser llamado cuando se procesan
todas las propiedades que requieren un tratamiento especial. Nota:
Este método se utiliza cuando inicializa un objeto con datos existentes,
por lo que, de manera predeterminada, la clase se desglosa como no
editada.

from_json ( json_string )
Cargar una cadena JSON

Tipo de retorno

Página 71 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
None
get ( k [ , d ] ) → D [k] si k en D, de lo contrario d. d por defecto es
Ninguno.
items ( ) → un objeto tipo conjunto que proporciona una vista de los
elementos de D
jsonable ( )
Este método lo utiliza el codificador JSON

Tipo de retorno
dict
keys ( ) → un objeto tipo conjunto que proporciona una vista de las
teclas de D
pop ( k [ , d ] ) → v, elimina la clave especificada y devuelve el valor
correspondiente.
Si no se encuentra la clave, se devuelve d si se proporciona; de lo
contrario, se genera KeyError.

popitem ( ) → (k, v), eliminar y devolver algún par (clave, valor)


como una tupla de 2; pero aumenta KeyError si D está vacío.

set_not_jsonable ( args )
Establezca __not_jsonable en una nueva lista

Tipo de retorno
None
setdefault ( k [ , d ] ) → D.get (k, d), también establezca D [k] = d si
k no está en D
to_dict ( )
Volcar la clase a un diccionario. Este método elimina automáticamente
la marca de tiempo de forma recursiva en cada objeto que se ha
editado para permitir que MISP actualice el evento en consecuencia.

Tipo de retorno
dict
to_json ( sort_keys = False , sangría = Ninguno )

Página 72 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Volcar recursivamente cualquier clase de tipo MISPAbstract en una
cadena json

update ( [ E , ] ** F ) → Ninguno. Actualice D desde el mapeo / E y F.


iterables
Si E está presente y tiene un método .keys (), hace: for k en E: D [k] =
E [k] Si E está presente y carece del método .keys (), hace: for (k, v) en
E: D [k] = v En cualquier caso, esto es seguido por: para k, v en F.items
(): D [k] = v

update_not_jsonable ( * args )
Agregar entradas a la lista __not_jsonable

Tipo de retorno
None
values ( ) → un objeto que proporciona una vista de los valores de D

MISPTag
clase pymisp. MISPTag ( ** kwargs ) [fuente]
clear ( ) → Ninguno. Eliminar todos los elementos de D.
propiedad edited
Verifique recursivamente si un objeto ha sido editado y actualice la
bandera de acuerdo con los objetos principales

Tipo de retorno
bool
from_dict ( ** kwargs ) [fuente]
Cargando todos los parámetros como propiedades de clase, si no
son Ninguno . Este método pretende ser llamado cuando se procesan
todas las propiedades que requieren un tratamiento especial. Nota:
Este método se utiliza cuando inicializa un objeto con datos existentes,
por lo que, de manera predeterminada, la clase se desglosa como no
editada.

from_json ( json_string )

Página 73 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Cargar una cadena JSON

Tipo de retorno
None
get ( k [ , d ] ) → D [k] si k en D, de lo contrario d. d por defecto es
Ninguno.
items ( ) → un objeto tipo conjunto que proporciona una vista de los
elementos de D
jsonable ( )
Este método lo utiliza el codificador JSON

Tipo de retorno
dict
keys ( ) → un objeto tipo conjunto que proporciona una vista de las
teclas de D
pop ( k [ , d ] ) → v, elimina la clave especificada y devuelve el valor
correspondiente.
Si no se encuentra la clave, se devuelve d si se proporciona; de lo
contrario, se genera KeyError.

popitem ( ) → (k, v), eliminar y devolver algún par (clave, valor)


como una tupla de 2; pero aumenta KeyError si D está vacío.

set_not_jsonable ( args )
Establezca __not_jsonable en una nueva lista

Tipo de retorno
None
setdefault ( k [ , d ] ) → D.get (k, d), también establezca D [k] = d si
k no está en D
to_dict ( )
Volcar la clase a un diccionario. Este método elimina automáticamente
la marca de tiempo de forma recursiva en cada objeto que se ha
editado para permitir que MISP actualice el evento en consecuencia.

Tipo de retorno

Página 74 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
dict
to_json ( sort_keys = False , sangría = Ninguno )
Volcar recursivamente cualquier clase de tipo MISPAbstract en una
cadena json

update ( [ E , ] ** F ) → Ninguno. Actualice D desde el mapeo / E y F.


iterables
Si E está presente y tiene un método .keys (), hace: for k en E: D [k] =
E [k] Si E está presente y carece del método .keys (), hace: for (k, v) en
E: D [k] = v En cualquier caso, esto es seguido por: para k, v en F.items
(): D [k] = v

update_not_jsonable ( * args )
Agregar entradas a la lista __not_jsonable

Tipo de retorno
None
values ( ) → un objeto que proporciona una vista de los valores de D

MISPUser
clase pymisp. MISPUser ( ** kwargs ) [fuente]
clear ( ) → Ninguno. Eliminar todos los elementos de D.
propiedad edited
Verifique recursivamente si un objeto ha sido editado y actualice la
bandera de acuerdo con los objetos principales

Tipo de retorno
bool
from_dict ( ** kwargs ) [fuente]
Cargando todos los parámetros como propiedades de clase, si no
son Ninguno . Este método pretende ser llamado cuando se procesan
todas las propiedades que requieren un tratamiento especial. Nota:
Este método se utiliza cuando inicializa un objeto con datos existentes,
por lo que, de manera predeterminada, la clase se desglosa como no
editada.

Página 75 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
from_json ( json_string )
Cargar una cadena JSON

Tipo de retorno
None
get ( k [ , d ] ) → D [k] si k en D, de lo contrario d. d por defecto es
Ninguno.
items ( ) → un objeto tipo conjunto que proporciona una vista de los
elementos de D
jsonable ( )
Este método lo utiliza el codificador JSON

Tipo de retorno
dict
keys ( ) → un objeto tipo conjunto que proporciona una vista de las
teclas de D
pop ( k [ , d ] ) → v, elimina la clave especificada y devuelve el valor
correspondiente.
Si no se encuentra la clave, se devuelve d si se proporciona; de lo
contrario, se genera KeyError.

popitem ( ) → (k, v), eliminar y devolver algún par (clave, valor)


como una tupla de 2; pero aumenta KeyError si D está vacío.

set_not_jsonable ( args )
Establezca __not_jsonable en una nueva lista

Tipo de retorno
None
setdefault ( k [ , d ] ) → D.get (k, d), también establezca D [k] = d si
k no está en D
to_dict ( )
Volcar la clase a un diccionario. Este método elimina automáticamente
la marca de tiempo de forma recursiva en cada objeto que se ha
editado para permitir que MISP actualice el evento en consecuencia.

Página 76 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Tipo de retorno
dict
to_json ( sort_keys = False , sangría = Ninguno )
Volcar recursivamente cualquier clase de tipo MISPAbstract en una
cadena json

update ( [ E , ] ** F ) → Ninguno. Actualice D desde el mapeo / E y F.


iterables
Si E está presente y tiene un método .keys (), hace: for k en E: D [k] =
E [k] Si E está presente y carece del método .keys (), hace: for (k, v) en
E: D [k] = v En cualquier caso, esto es seguido por: para k, v en F.items
(): D [k] = v

update_not_jsonable ( * args )
Agregar entradas a la lista __not_jsonable

Tipo de retorno
None
values ( ) → un objeto que proporciona una vista de los valores de D

MISPOrganización
clase pymisp. MISPOrganisation ( ** kwargs ) [fuente]
clear ( ) → Ninguno. Eliminar todos los elementos de D.
propiedad edited
Verifique recursivamente si un objeto ha sido editado y actualice la
bandera de acuerdo con los objetos principales

Tipo de retorno
bool
from_dict ( ** kwargs ) [fuente]
Cargando todos los parámetros como propiedades de clase, si no
son Ninguno . Este método pretende ser llamado cuando se procesan
todas las propiedades que requieren un tratamiento especial. Nota:
Este método se utiliza cuando inicializa un objeto con datos existentes,

Página 77 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
por lo que, de manera predeterminada, la clase se desglosa como no
editada.

from_json ( json_string )
Cargar una cadena JSON

Tipo de retorno
None
get ( k [ , d ] ) → D [k] si k en D, de lo contrario d. d por defecto es
Ninguno.
items ( ) → un objeto tipo conjunto que proporciona una vista de los
elementos de D
jsonable ( )
Este método lo utiliza el codificador JSON

Tipo de retorno
dict
keys ( ) → un objeto tipo conjunto que proporciona una vista de las
teclas de D
pop ( k [ , d ] ) → v, elimina la clave especificada y devuelve el valor
correspondiente.
Si no se encuentra la clave, se devuelve d si se proporciona; de lo
contrario, se genera KeyError.

popitem ( ) → (k, v), eliminar y devolver algún par (clave, valor)


como una tupla de 2; pero aumenta KeyError si D está vacío.

set_not_jsonable ( args )
Establezca __not_jsonable en una nueva lista

Tipo de retorno
None
setdefault ( k [ , d ] ) → D.get (k, d), también establezca D [k] = d si
k no está en D
to_dict ( )

Página 78 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
Volcar la clase a un diccionario. Este método elimina automáticamente
la marca de tiempo de forma recursiva en cada objeto que se ha
editado para permitir que MISP actualice el evento en consecuencia.

Tipo de retorno
dict
to_json ( sort_keys = False , sangría = Ninguno )
Volcar recursivamente cualquier clase de tipo MISPAbstract en una
cadena json

update ( [ E , ] ** F ) → Ninguno. Actualice D desde el mapeo / E y F.


iterables
Si E está presente y tiene un método .keys (), hace: for k en E: D [k] =
E [k] Si E está presente y carece del método .keys (), hace: for (k, v) en
E: D [k] = v En cualquier caso, esto es seguido por: para k, v en F.items
(): D [k] = v

update_not_jsonable ( * args )
Agregar entradas a la lista __not_jsonable

Tipo de retorno
None
values ( ) → un objeto que proporciona una vista de los valores de D

Depuración
Tienes dos opciones allí:

1. Pase debug=True a PyMISP y habilitará logging.DEBUG para stderr en todo el


módulo

2. Use el módulo de registro de Python directamente:

registro de importación
logger = logging.getLogger ( ' pymisp ' )

# Configúrelo como desee, por ejemplo, habilite el modo DEBUG:


logger.setLevel (registro. DEPURACIÓN )

Página 79 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
O si desea escribir la salida de depuración en un archivo en lugar de stderr:

importar pymisp
registro de importación

logger = logging.getLogger ( ' pymisp ' )


logging.basicConfig ( nivel = logging. DEBUG , filename = " debug.log " ,
filemode = ' w ' , format = pymisp. FORMAT )

Casos de prueba

1. El contenido de mispevent.py se prueba en cada confirmación


2. Los casos de prueba que requieren una instancia de MISP en ejecución se
pueden ejecutar de la siguiente manera:

# De la poesía

nosetests-3.4 -s --with-coverage --cover-package = pymisp, tests --cover-tests


tests / testlive_comprehensive.py: TestComprehensive. [test_name]

Documentación
La documentación de la API PyMISP está disponible .

La documentación se puede generar con epydoc:

epydoc --url https://github.com/MISP/PyMISP --graph all --name PyMISP --pdf


pymisp -o doc

Cuaderno Jupyter
Una serie de cuadernos Jupyter para el tutorial PyMISP están disponibles en el
repositorio.

Todo es un mapeo mutable


... o al menos todo lo que se puede importar / exportar desde / a un bloc json

AbstractMISP es la clase maestra, y


hereda collections.MutableMapping MutableMapping collections.MutableMapping qu
e significa que la clase se puede representar como un diccionario de Python.

Página 80 // Abril 2020 – Versión 01


FLUJOGRAMAS PARA PyMISP - Biblioteca de Python para
acceder a MISP
Software MISP
La abstracción asume que todas las propiedades que no deberían verse en el
diccionario se anteponen con un _ , o su nombre se agrega a la lista
privada __not_jsonable (accesible a través
de update_not_jsonable y set_not_jsonable .
Esta clase maestra tiene ayudantes que harán que sea fácil cargar y exportar hacia y
desde una cadena json.

MISPEvent , MISPAttribute , MISPObjectReference , MISPObjectAttribute


y MISPObject so
n subclases de AbstractMISP, lo que significa que pueden manejarse como
diccionarios de Python.

Objetos MISP
La creación de un nuevo generador de objetos MISP debe hacerse usando una
plantilla predefinida y heredar AbstractMISPObjectGenerator .
Su nuevo generador de MISPObject necesita generar atributos y agregarlos como
propiedades de clase usando add_attribute .
Cuando el objeto se envía a MISP, todas las propiedades de clase se exportarán a la
exportación JSON.

Página 81 // Abril 2020 – Versión 01

Das könnte Ihnen auch gefallen