Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

API providing a limited CRUD for manipulating OpenIOC formatted Indicators of Compromise.

Project Description


The source code in this package is made available under the terms of the Apache License , Version 2.0. See the “LICENSE ” file for more information.



William Gibb william.gibb at fireeye dot com


Provide a python library that allows for basic creation and editing of OpenIOC objects. It supports a basic CRUD (Create, Read, Update, Delete) for various items:

item Create Read Update Delete
IOC name Yes No Yes Yes
IOC description Yes No Yes Yes
created date Yes No Yes N/A
last modified date Yes No Yes N/A
published date Yes No Yes N/A
link metadata Yes No Yes Yes
IndicatorItem nodes Yes No NotYet Yes
Indicator nodes Yes No NotYet Yes
Parameters Yes No Yes Yes

Items do not have built in Read operations, since all items can be accesed with built in ElementTree syntax or the use of XPATH to select portions of the IOC.

No decision has been made about whether or not to support changing of existing Indicator/IndicatorItem nodes.

See the Docs located at and the examples directory for examples of working with the library. The user code should avoid having to call functionality in ioc_writer.ioc_et.


The python “lxml” library must be installed. This can be obtained from


See the file named “INSTALL” for instructions on installing this library locally.


Example code lives in the examples folder of the repository.

  1. examples/11_to_10_downgrade Script to downgrade OpenIOC 1.1 to OpenIOC 1.1.
  2. examples/openioc_to_yara Scripts that support encapsulating YARA signatures in OpenIOC 1.1 format.
  3. examples/simple_ioc_writer Script that consumes a csv of data to build an IOC. this csv contains the content, context, et cetera. An example CSV is provided.

Bug reports / questions / feedback / feature requests

william.gibb at fireeye dot com

Release History

Release History

This version
History Node


History Node


History Node


History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
ioc_writer-0.3.3.tar.gz (26.4 kB) Copy SHA256 Checksum SHA256 Source Sep 8, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting