{ "info": { "author": "Thinkst Applied Research", "author_email": "canary@thinkst.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Build Tools", "Topic :: Utilities" ], "description": "Python Canary API Wrapper\n===================================\n\nThinkst Applied Research\n\nOverview\n------------\nThe Python Canary API Wrapper allows access to the Canary Web API.\n\n.. _installation:\n\nInstallation\n------------\n\nThe API is supported on python 2.7. The recommended way to\ninstall the API Wrapper is via `pip `_.\n\n.. code-block:: bash\n\n pip install canarytools\n\nFor instructions on installing python and pip see \"The Hitchhiker's Guide to\nPython\" `Installation Guides\n`_.\n\nQuickstart\n----------\n\nAssuming you have your API key handy as well as the domain of your website:\n\n.. code-block:: python\n\n import canarytools\n console = canarytools.Console(api_key='API_KEY', domain='CLIENT_DOMAIN')\n\n**Note:** You can find your API key and domain on your console. Head over to the console's setup page and under\n*Canary Console API* you'll find your API key. Your domain is the tag in-front of 'canary.tools' in the console's\nurl. For example in https://testconsole.canary.tools/settings **testconsole** is the domain.\n\nAlternatively,\nyou can download a configurations file from the *Canary Console API* tab. Inside the file you'll find instructions\non where to place it. If you have this on your system the *api_key* and *domain* parameters are no longer\nnecessary when instantiating a *Console* object.\n\nWith the ``console`` instance you can then interact with a Canary Console:\n\n.. code-block:: python\n\n # Get all devices\n console.devices.all()\n\n # Acknowledge all incidents for a device older than 3 days\n console.incidents.acknowledge(node_id='329921d242c30b5e', older_than='3d')\n\n # Iterate all devices and start the update process\n for device in console.devices.all():\n device.update(update_tag='4ae023bdf75f14c8f08548bf5130e861')\n\n # Acknowledge and delete all host port scan Incidents\n for incident in console.incidents.unacknowledged():\n if isinstance(incident, canarytools.IncidentHostPortScan):\n incident.acknowledge()\n incident.delete()\n\n # Create a web image Canarytoken\n console.tokens.create(\n kind=canarytools.CanaryTokenKinds.KIND_WEB_IMAGE,\n memo='Drop this token on DC box',\n web_image='/path/to/test.png',\n mimetype='image/png')\n\n # Print out the name of all incidents and the source IP address\n for incident in console.incidents.all():\n print incident.description, incident.src_host\n\nPlease see the API doc's `documentation `_ for\nmore examples of what you can do with the Canary Console API.\n\nDiscussion and Support\n---------------------------\n\nPlease file bugs and feature requests as issues on `GitHub\n`_ after first searching to ensure a\nsimilar issue was not already filed. If such an issue already exists please\ngive it a thumbs up reaction. Comments to issues containing additional\ninformation are certainly welcome.\n\nDocumentation\n-------------\n\nThe documentation is located at http://canarytools.readthedocs.io.\n\nLicense\n-------\n\nThe Python Canary API Wrapper's source (v1.0.0+) is provided under the `Revised BSD License\n`_.\n\n* Copyright (c), 2017, Thinkst Applied Research\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://canary.tools/", "keywords": "canary thinkst canarytools api wrapper", "license": "Revised BSD License", "maintainer": "", "maintainer_email": "", "name": "canarytools", "package_url": "https://pypi.org/project/canarytools/", "platform": "", "project_url": "https://pypi.org/project/canarytools/", "project_urls": { "Homepage": "https://canary.tools/" }, "release_url": "https://pypi.org/project/canarytools/1.0.11/", "requires_dist": [ "requests (>=2.10.0)", "python-dateutil (>=2.1)", "pytz (>=2013b)" ], "requires_python": "", "summary": "An API for the Thinkst Canary Console", "version": "1.0.11" }, "last_serial": 5707803, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "7ca0138ae685ea7c2761fc939e6be264", "sha256": "2e4264ebacc266f0e1214786cf3e82ba8bbe82d65404c97e3d617416fef8b9ff" }, "downloads": -1, "filename": "canarytools-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7ca0138ae685ea7c2761fc939e6be264", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21316, "upload_time": "2017-02-07T15:32:45", "url": "https://files.pythonhosted.org/packages/78/be/a5f4bb0b4e8891b9a0be780274d1f1bd668f3dd49379511fdade887c3520/canarytools-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc5e44c8ae132c0733ca1b2a53566db6", "sha256": "8db8a7f292e94925b372033427d6b79468aa73d68a22c2a1e91f03b27cb43f7e" }, "downloads": -1, "filename": "canarytools-1.0.0.tar.gz", "has_sig": false, "md5_digest": "fc5e44c8ae132c0733ca1b2a53566db6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14903, "upload_time": "2017-02-07T15:32:48", "url": "https://files.pythonhosted.org/packages/b9/e7/6409093b93c7b770e25bc8479a759e2bf2562850a996dc42f42a4ffcf711/canarytools-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "0f6742dd64f162abad65a8b8bd6801d9", "sha256": "fdffd8233e6e296741e97e7b375802821530c23bd68fbd381bdec1900a455094" }, "downloads": -1, "filename": "canarytools-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0f6742dd64f162abad65a8b8bd6801d9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21313, "upload_time": "2017-02-08T07:24:58", "url": "https://files.pythonhosted.org/packages/d2/94/642b19f0db382f47466685829788ee9d1cb90bac8d68b5061549288f9308/canarytools-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f496bb19f1feeb8984fe549888e9f4da", "sha256": "69e1c87966af805e3af2fb58bdeb12c48b219ce71c089559467bc4033c4323bc" }, "downloads": -1, "filename": "canarytools-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f496bb19f1feeb8984fe549888e9f4da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14897, "upload_time": "2017-02-08T07:25:00", "url": "https://files.pythonhosted.org/packages/b3/14/8e1eb51a9a3327b861675c54d2e46984ce6c2e9fe9f9541d179374cc44b9/canarytools-1.0.1.tar.gz" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "670b486473efb12fdf072a1517d36f31", "sha256": "f87ad24ada022cf57193d89bbaacc9a2b39e9670158e104f9c17425745f2297a" }, "downloads": -1, "filename": "canarytools-1.0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "670b486473efb12fdf072a1517d36f31", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21751, "upload_time": "2019-07-16T11:46:13", "url": "https://files.pythonhosted.org/packages/36/7b/7637a0b058ffcabed07a558ef86147301eff2162f85c1de4e5434b208059/canarytools-1.0.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31882ab556ecc8f0734a1c2a5859a6f1", "sha256": "dd86e099630264c74fff81aceee24629ae5337de4cbd8d36f9deb83341141108" }, "downloads": -1, "filename": "canarytools-1.0.10.tar.gz", "has_sig": false, "md5_digest": "31882ab556ecc8f0734a1c2a5859a6f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16449, "upload_time": "2019-07-16T11:46:15", "url": "https://files.pythonhosted.org/packages/98/99/663545e2d6fae1979ddb9fa02bee2dd74f8b0aa3e7119fe2a4d218e53ff3/canarytools-1.0.10.tar.gz" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "43cad895065b072042baf2ee1d6d608b", "sha256": "f7c4c08785324be5616174fd92a0a12e64b2245a87009e324c8b29bca10c788a" }, "downloads": -1, "filename": "canarytools-1.0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "43cad895065b072042baf2ee1d6d608b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20492, "upload_time": "2019-08-21T08:20:48", "url": "https://files.pythonhosted.org/packages/90/87/369f8092f85b0d746940d8f27173859134d4df9ce0d4841133e55f9078e9/canarytools-1.0.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fbfd6d72c20cc60f15742b2f52168372", "sha256": "927ecd7ed47f3fae7e003ee7f06aa1de9e2148cc1e50382886d8f719d40cae5e" }, "downloads": -1, "filename": "canarytools-1.0.11.tar.gz", "has_sig": false, "md5_digest": "fbfd6d72c20cc60f15742b2f52168372", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16675, "upload_time": "2019-08-21T08:20:50", "url": "https://files.pythonhosted.org/packages/d4/cd/37e6bd188f631045449d56708169a7845e2f0dac35132d1b2b724417a10b/canarytools-1.0.11.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "ae23e9476582adfb6681627d168f8064", "sha256": "224b77ab7fc7334a22b15245766a42b2d4aa4fce3a9178e9708ee344a14d3d3c" }, "downloads": -1, "filename": "canarytools-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ae23e9476582adfb6681627d168f8064", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22100, "upload_time": "2017-03-17T12:29:37", "url": "https://files.pythonhosted.org/packages/01/19/a71403960d8d8a71a6b6216e598368022f33e7c6bc587d2f595d96df10cf/canarytools-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba6805ee23f2d696997420b6c44b02b9", "sha256": "84a80e1b7d52b391309d3df63414c93ba601b28738aae24a3a35be281fb0daed" }, "downloads": -1, "filename": "canarytools-1.0.2.tar.gz", "has_sig": false, "md5_digest": "ba6805ee23f2d696997420b6c44b02b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14975, "upload_time": "2017-03-17T12:29:44", "url": "https://files.pythonhosted.org/packages/35/4c/ec7bda94324b7c0afbbefde4510bfe152d87cde22048e01d1468dedf1897/canarytools-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "0a4931c019d6ba2a82279098dc8c20c6", "sha256": "bf857a23a4703713365af44e897edbec4022ec1af2af4d0be11f1b3e54e7fd48" }, "downloads": -1, "filename": "canarytools-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0a4931c019d6ba2a82279098dc8c20c6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21365, "upload_time": "2017-04-26T08:37:06", "url": "https://files.pythonhosted.org/packages/9c/8d/5a828f627ed4e2c8e7515801892776750e80d77c656123334e2debd3df19/canarytools-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9880b1039ff83ea760f086c5afde8e43", "sha256": "b6f6b2b6e64d0033c6e07c7af440471ceaa4ccccf5fa9c8012f5ae2d8668b890" }, "downloads": -1, "filename": "canarytools-1.0.3.tar.gz", "has_sig": false, "md5_digest": "9880b1039ff83ea760f086c5afde8e43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14991, "upload_time": "2017-04-26T08:37:09", "url": "https://files.pythonhosted.org/packages/e3/60/fa52ed65bf72cfb4e3d815b0e4c833fca07f27be7e4cc087cf628f8448d1/canarytools-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "34fea8f30b82fa698adad40be7c86339", "sha256": "1ca5344a562a3f1437c0b5ea9f3e8ca1c5e668e53f812b7b738d6e41a0b2505c" }, "downloads": -1, "filename": "canarytools-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "34fea8f30b82fa698adad40be7c86339", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22115, "upload_time": "2017-05-15T08:33:49", "url": "https://files.pythonhosted.org/packages/12/01/12edea91e93a7e967b79ddf64988e889c7a4c7f44147e5d8bd785bdb9c24/canarytools-1.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "650fd21cfd9c97d9a77518e8e680c719", "sha256": "0de6460da76fd33a58eed293c470f5b2fd3b6dda4432431ef375f599d0afb6fb" }, "downloads": -1, "filename": "canarytools-1.0.4.tar.gz", "has_sig": false, "md5_digest": "650fd21cfd9c97d9a77518e8e680c719", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15005, "upload_time": "2017-05-15T08:33:52", "url": "https://files.pythonhosted.org/packages/f9/c7/2c6fdbbfda78aebdc044aba7797952d397a8886d07b9657b5da570ada3c0/canarytools-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "f8b4a2dc97f6c602067a1fd98b60eb96", "sha256": "067580f70cf00f0df63d83211a41d42538aa6834e0a9f18e7dace5ed875b101e" }, "downloads": -1, "filename": "canarytools-1.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f8b4a2dc97f6c602067a1fd98b60eb96", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22134, "upload_time": "2017-05-15T09:05:34", "url": "https://files.pythonhosted.org/packages/95/dd/0e1acd6f2e3e1e79de8c602d5bcbbb440ab5fe5b6db3d67964bb6001bf14/canarytools-1.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1e5839386fd51bd35a014412281839de", "sha256": "c9c42967677068f341103a2c36895341242eada7e5c8b4b9f7f639f2a91b5e3d" }, "downloads": -1, "filename": "canarytools-1.0.5.tar.gz", "has_sig": false, "md5_digest": "1e5839386fd51bd35a014412281839de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15014, "upload_time": "2017-05-15T09:05:36", "url": "https://files.pythonhosted.org/packages/34/70/7b53644a5703a7297b59888571d89f5728d3e717d5d1c5244eb6a287d120/canarytools-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "0ade7887b4766c56b9b9ab9535976c80", "sha256": "84d340d3331a1fae0047baffd97f321af2e7e47b5feb1e1cd0fec28afd3df552" }, "downloads": -1, "filename": "canarytools-1.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0ade7887b4766c56b9b9ab9535976c80", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22171, "upload_time": "2017-06-02T11:25:41", "url": "https://files.pythonhosted.org/packages/4b/1e/2a8f7d82d9ccdb71618917c89098e52068355ab5c984719989a4896b5a2d/canarytools-1.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cbc9c20e7b7705d133109299007a33dd", "sha256": "3d76ff50419b9731fadfd7865e81e274cc2c4265cbb7a2420e9444ca22be84c3" }, "downloads": -1, "filename": "canarytools-1.0.6.tar.gz", "has_sig": false, "md5_digest": "cbc9c20e7b7705d133109299007a33dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15078, "upload_time": "2017-06-02T11:25:44", "url": "https://files.pythonhosted.org/packages/39/1f/c546f8992543d651de54087f3b68fa09dc76cc2a703e0116aa7b35fff9fe/canarytools-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "72247b88900fe17b63efce6c56de68c5", "sha256": "1e1c136ea67af86a9d823a39ce93edc07d361ba437157f6a29dee310ab185e07" }, "downloads": -1, "filename": "canarytools-1.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "72247b88900fe17b63efce6c56de68c5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22183, "upload_time": "2018-02-23T09:49:05", "url": "https://files.pythonhosted.org/packages/44/5f/f0f7d164833bc7c7cefb27fb2ca4c5be8ad14a4ee4a9e1cb36d5d01d9c55/canarytools-1.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6dd97379e946fb9d0d0787b8089acac", "sha256": "5717815d00629b726268508489e5db62ce163fd62ecc93e2cede89857dc6e18a" }, "downloads": -1, "filename": "canarytools-1.0.7.tar.gz", "has_sig": false, "md5_digest": "c6dd97379e946fb9d0d0787b8089acac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15101, "upload_time": "2018-02-23T09:49:07", "url": "https://files.pythonhosted.org/packages/a9/60/c15903f04c20047194716f153355e07a47d01415356785b204188a783fa5/canarytools-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "a5bfa14a5af93a372db2c5c7d7e0436f", "sha256": "e426b9a008853b925c847bb9a64cd16aae13253f0ee101654dc5f247203f40a6" }, "downloads": -1, "filename": "canarytools-1.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a5bfa14a5af93a372db2c5c7d7e0436f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20343, "upload_time": "2019-03-18T08:08:01", "url": "https://files.pythonhosted.org/packages/2e/9b/0d0411b6353d592d730c9eff4910612eb8d88f8cf1e090f25a2f56e4c3bb/canarytools-1.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "058f83e50d82a90772cbeeb91e4c515f", "sha256": "85544bd953a7c130a888793a97a2c0a3c4b0a4882ddb01b8e9d1987b9a774861" }, "downloads": -1, "filename": "canarytools-1.0.8.tar.gz", "has_sig": false, "md5_digest": "058f83e50d82a90772cbeeb91e4c515f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16532, "upload_time": "2019-03-18T08:08:03", "url": "https://files.pythonhosted.org/packages/43/00/b2e689111f4a3b335df13a208326c7851c8eb336e216be3c8912f82b9f72/canarytools-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "42bec78aacbc9f88664eb34cf583a606", "sha256": "5ecb41b4caee4d74b7c60a568e2a690e69288a545a047b3f47046615e0f4b06b" }, "downloads": -1, "filename": "canarytools-1.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "42bec78aacbc9f88664eb34cf583a606", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21745, "upload_time": "2019-07-15T15:43:46", "url": "https://files.pythonhosted.org/packages/1e/35/49b2e2873ad35a6060b870aa4596f58a8b44d848e8413f4493d824243539/canarytools-1.0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee0a015f3c641ed929096f3eddd572b0", "sha256": "b83cc3602fc3e8403638a22226280efd8a1f6199ff5c64af66411b167081629b" }, "downloads": -1, "filename": "canarytools-1.0.9.tar.gz", "has_sig": false, "md5_digest": "ee0a015f3c641ed929096f3eddd572b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16452, "upload_time": "2019-07-15T15:43:48", "url": "https://files.pythonhosted.org/packages/4b/ea/088370b6919709cf377e99dda9917d7d012a0b9991ae65b2f44665a52a28/canarytools-1.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "43cad895065b072042baf2ee1d6d608b", "sha256": "f7c4c08785324be5616174fd92a0a12e64b2245a87009e324c8b29bca10c788a" }, "downloads": -1, "filename": "canarytools-1.0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "43cad895065b072042baf2ee1d6d608b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20492, "upload_time": "2019-08-21T08:20:48", "url": "https://files.pythonhosted.org/packages/90/87/369f8092f85b0d746940d8f27173859134d4df9ce0d4841133e55f9078e9/canarytools-1.0.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fbfd6d72c20cc60f15742b2f52168372", "sha256": "927ecd7ed47f3fae7e003ee7f06aa1de9e2148cc1e50382886d8f719d40cae5e" }, "downloads": -1, "filename": "canarytools-1.0.11.tar.gz", "has_sig": false, "md5_digest": "fbfd6d72c20cc60f15742b2f52168372", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16675, "upload_time": "2019-08-21T08:20:50", "url": "https://files.pythonhosted.org/packages/d4/cd/37e6bd188f631045449d56708169a7845e2f0dac35132d1b2b724417a10b/canarytools-1.0.11.tar.gz" } ] }