{ "info": { "author": "Martin Prpi\u010d, Red Hat Product Security", "author_email": "mprpic@redhat.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Security" ], "description": "Advisory Parser\n===============\n\n.. image:: https://img.shields.io/travis/mprpic/advisory-parser/master.svg\n :target: https://travis-ci.org/mprpic/advisory-parser\n :alt: Travis CI test status\n\nUpstream repository: ``_\n\nThis library allows you to parse data from security advisories of certain\nprojects to extract information about security issues. The parsed\ninformation includes metadata such as impact, CVSS score, summary,\ndescription, and others; for a full list, see the\n``advisory_parser/flaw.py`` file.\n\n**DISCLAIMER**: Much of the advisory parsing is fairly fragile. Because web\npages change all the time, it is not uncommon for parsers to break when a\npage is changed in some way. Also, the advisory parsers only work with the\nlatest version of the advisory pages.\n\nThe need for parsing raw security advisories in this way could be avoided\nif vendors provided their security pages in a machine readable (and\npreferably standardized) format. An example of this would be Red Hat's\nsecurity advisories that can be pulled in from a separate Security Data API\n(`RHSA-2016:1883.json `_)\nor downloaded as an XML file\n(`cvrf-rhsa-2016-1883.xml `_),\nor OpenSSL's list of issues available in XML\n(`vulnerabilities.xml `_).\n\nIf you are a vendor or an upstream project owner interested in providing\nyour security advisories in a machine readable format and don't know where\nto start, feel free to reach out to mprpic@redhat.com.\n\nCurrently available parsers include:\n\n.. csv-table::\n :header: \"Project\", \"Example URL\"\n :widths: 20, 80\n\n \"Google Chrome\", ``_\n \"Adobe Flash\", ``_\n \"Jenkins\", \"\"\n \"MySQL\", ``_\n \"phpMyAdmin\", \"\"\n \"Wireshark\", \"\"\n\nInstallation\n------------\n\n::\n\n pip install advisory-parser\n\nUsage\n-----\n\n.. code-block:: python\n\n from pprint import pprint\n from advisory_parser import Parser\n\n\n url = 'https://helpx.adobe.com/security/products/flash-player/apsb17-17.html'\n flaws, warnings = Parser.parse_from_url(url)\n\n for flaw in flaws:\n print()\n pprint(vars(flaw))\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mprpic/advisory-parser", "keywords": "security advisory parser scraper", "license": "LGPLv3+", "maintainer": "", "maintainer_email": "", "name": "advisory-parser", "package_url": "https://pypi.org/project/advisory-parser/", "platform": "", "project_url": "https://pypi.org/project/advisory-parser/", "project_urls": { "Homepage": "https://github.com/mprpic/advisory-parser" }, "release_url": "https://pypi.org/project/advisory-parser/1.8/", "requires_dist": [ "beautifulsoup4 (>=4.0.0)" ], "requires_python": "", "summary": "Security flaw parser for upstream security advisories", "version": "1.8" }, "last_serial": 5681432, "releases": { "1.3": [ { "comment_text": "", "digests": { "md5": "3067fc8b35966f2443ed75734effebe4", "sha256": "6cce6e6c3a20dbce9655a9e376f7fbc7496f779530bb77627cf0ac6e15bfc971" }, "downloads": -1, "filename": "advisory_parser-1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3067fc8b35966f2443ed75734effebe4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13807, "upload_time": "2017-09-25T11:25:14", "url": "https://files.pythonhosted.org/packages/8e/1a/4d0c64e3430e1fdc89263487759c701559f0908d26b1046385930e958f73/advisory_parser-1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "94e41f5aa5b4ad1ccad3b4b054003ac5", "sha256": "f52c9d896022fd31c40b9f3884422b3eaa0938d637cb6feb38d4fe2963017447" }, "downloads": -1, "filename": "advisory-parser-1.3.tar.gz", "has_sig": false, "md5_digest": "94e41f5aa5b4ad1ccad3b4b054003ac5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8025, "upload_time": "2017-10-12T15:24:42", "url": "https://files.pythonhosted.org/packages/2a/87/1dee23a0978a873a93796cc18abe5d0ba22b6a00a7d6a789e8241efe333b/advisory-parser-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "1663864c67a5e97fe55b3d100cd415ef", "sha256": "f41d4e58b2eeec1d457aaa6af8eb76dc22af45124c47e98a1955072ba382477a" }, "downloads": -1, "filename": "advisory_parser-1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1663864c67a5e97fe55b3d100cd415ef", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13901, "upload_time": "2017-10-18T11:31:42", "url": "https://files.pythonhosted.org/packages/a7/2a/09fe256e20926cae0ba20982dc43e763ef986ffb35d54c46f128e23d6a1a/advisory_parser-1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "621d6b82451094b44e67e9343e19195e", "sha256": "1e34bdba5d2343a52a3f05eedb201d5089d4bfd6cccb14e9bbcf591639be1874" }, "downloads": -1, "filename": "advisory-parser-1.4.tar.gz", "has_sig": false, "md5_digest": "621d6b82451094b44e67e9343e19195e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49326, "upload_time": "2017-10-18T11:31:44", "url": "https://files.pythonhosted.org/packages/f7/8a/2f8f298a5f4a6fee6bc003f361b7d471e879734a0807f30559cc9348688e/advisory-parser-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "b768ed1719298e021e52d76514175b16", "sha256": "e54f5a07e32d37736b4853668bb9e03ffa3c0dae9e1930eab4ed9655749f0a61" }, "downloads": -1, "filename": "advisory_parser-1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b768ed1719298e021e52d76514175b16", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14415, "upload_time": "2017-11-03T08:16:45", "url": "https://files.pythonhosted.org/packages/2e/93/870bdb958961389e64fee6ef254aca30f20c17178d8377d3664080d239ac/advisory_parser-1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ebd0991c5c44fee1b7e3a104c87bf32f", "sha256": "46bb712cbda0cd1d4799f81b90e5ee92536df358f019cbd01ea653310bb38a95" }, "downloads": -1, "filename": "advisory-parser-1.5.tar.gz", "has_sig": false, "md5_digest": "ebd0991c5c44fee1b7e3a104c87bf32f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49830, "upload_time": "2017-11-03T08:16:47", "url": "https://files.pythonhosted.org/packages/df/4f/d0b8f1597a86e8923ad69f43eceabaf7330ce283d8038e7ef2738337c51f/advisory-parser-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "3e67dc45ae9de86063f6193bd080f022", "sha256": "56f7452c93c1f6406349dede7f874524da519ae3ae23fe99488747e97a014e08" }, "downloads": -1, "filename": "advisory_parser-1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3e67dc45ae9de86063f6193bd080f022", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14781, "upload_time": "2018-01-17T09:43:07", "url": "https://files.pythonhosted.org/packages/24/58/f2ef4790041c80eac09f304fd6cc983c97178885d966e2316c141f682fc7/advisory_parser-1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6acbf11e5e612b9fb5375c2c429e9355", "sha256": "058b0f422453efacb744a44010bad6a8f4917afa87b37ccfe74f7dc33505f5f1" }, "downloads": -1, "filename": "advisory-parser-1.6.tar.gz", "has_sig": false, "md5_digest": "6acbf11e5e612b9fb5375c2c429e9355", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78121, "upload_time": "2018-01-17T09:43:08", "url": "https://files.pythonhosted.org/packages/e0/01/d0fc982589b11028e38f89d9f60fb02ca8fde9a02faa76189bc23ac58040/advisory-parser-1.6.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "6bbb408655f19e06c8e21a3980386a4e", "sha256": "d1ba11896a9ebd28d71d1a4a6ddda474e6609f8491cd25cb61611d5d78f246a4" }, "downloads": -1, "filename": "advisory_parser-1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6bbb408655f19e06c8e21a3980386a4e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14784, "upload_time": "2018-04-11T07:48:21", "url": "https://files.pythonhosted.org/packages/0b/9c/5bade5ca38893cee1d5c7292cf86a24fd993fa631331d83f20696f04b805/advisory_parser-1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b74c1b54f55c9c9675d6519ff93cf40", "sha256": "f1fcd969d0b05696aeffb1c523f6ad7782df276cb4e24bb292ca2c69c330bbd9" }, "downloads": -1, "filename": "advisory-parser-1.7.tar.gz", "has_sig": false, "md5_digest": "6b74c1b54f55c9c9675d6519ff93cf40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78134, "upload_time": "2018-04-11T07:48:22", "url": "https://files.pythonhosted.org/packages/a7/a0/8f53fc04f2aedd0d2921c03fb56dd1262918b8c7908beffc415a69cd6ee9/advisory-parser-1.7.tar.gz" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "7ab5fc8c9da21462decfcab2de777549", "sha256": "742e5db6359f89b226f741c494877b8d11026f53137d46f2e5131ae183ffe8bc" }, "downloads": -1, "filename": "advisory_parser-1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7ab5fc8c9da21462decfcab2de777549", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15558, "upload_time": "2019-08-15T09:52:59", "url": "https://files.pythonhosted.org/packages/c1/68/603d69142bd3540909ea1cdc7092a8e14a62332dae01d4631f5d3e91e0a7/advisory_parser-1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "447cd141b8527d138d91c7b16cb027df", "sha256": "dbddc92214af488e5e4cf9403523f7787b25c8864fc38b02c356907ff93bb5b5" }, "downloads": -1, "filename": "advisory-parser-1.8.tar.gz", "has_sig": false, "md5_digest": "447cd141b8527d138d91c7b16cb027df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79285, "upload_time": "2019-08-15T09:53:00", "url": "https://files.pythonhosted.org/packages/e7/14/359bc7e2bcd37738bdc88f5e9780e49e4b7bc2a0e3c96caafe2289c7ba93/advisory-parser-1.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7ab5fc8c9da21462decfcab2de777549", "sha256": "742e5db6359f89b226f741c494877b8d11026f53137d46f2e5131ae183ffe8bc" }, "downloads": -1, "filename": "advisory_parser-1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7ab5fc8c9da21462decfcab2de777549", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15558, "upload_time": "2019-08-15T09:52:59", "url": "https://files.pythonhosted.org/packages/c1/68/603d69142bd3540909ea1cdc7092a8e14a62332dae01d4631f5d3e91e0a7/advisory_parser-1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "447cd141b8527d138d91c7b16cb027df", "sha256": "dbddc92214af488e5e4cf9403523f7787b25c8864fc38b02c356907ff93bb5b5" }, "downloads": -1, "filename": "advisory-parser-1.8.tar.gz", "has_sig": false, "md5_digest": "447cd141b8527d138d91c7b16cb027df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79285, "upload_time": "2019-08-15T09:53:00", "url": "https://files.pythonhosted.org/packages/e7/14/359bc7e2bcd37738bdc88f5e9780e49e4b7bc2a0e3c96caafe2289c7ba93/advisory-parser-1.8.tar.gz" } ] }