{ "info": { "author": "Flying Circus Internet Operations GmbH", "author_email": "mail@flyingcircus.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: System :: Systems Administration" ], "description": "Nix(OS) vulnerability scanner\n=============================\n\nThis is a utility that validates a Nix store for any packages that are\nreachable from live paths and likely to be affected by vulnerabilities\nlisted in the NVD.\n\nIt implements a CLI utility to inspect the current status and a\nmonitoring integration for Sensu.\n\nExample output::\n\n 2 derivations with active advisories\n\n ------------------------------------------------------------------------\n libxslt-1.1.29\n\n CVEs:\n CVE-2017-5029\n\n ------------------------------------------------------------------------\n pcre-8.40\n\n CVEs:\n CVE-2017-7245\n CVE-2017-7244\n [...]\n\n\nTheory of operation\n-------------------\n\n`vulnix` pulls all published CVEs from NIST_ and caches them locally. It\nmatches name and version of all derivations referenced from the command line\nagainst known CVE entries. A *whitelist* is used to filter out unwanted results.\n\n\nSystem requirements\n-------------------\n\n- Depends on common Nix tools like `nix-store`. These are expected to be in\n $PATH.\n- Depends on being able to interact with the Nix store database\n (/nix/var/nix/db). This means that it must either run as the same user that\n owns the Nix store database or `nix-daemon` must be active.\n- Parses `*.drv` files directly. Tested with Nix >=1.10 and 2.x.\n- It refuses to work without some locale environment settings. Try `export\n LANG=C.UTF-8` if you see encoding errors.\n\n\nUsage Example\n=============\n\n- What vulnerabilities are listed for my current system::\n\n vulnix --system\n\n- Check `nix-build` output together with its transitive closure::\n\n vulnix result/\n\n- Check all passed derivations, but don't determine requisites::\n\n vulnix -R /nix/store/*.drv\n\n- JSON output for machine post-processing::\n\n vulnix --json /nix/store/my-derivation.drv\n\nSee `vulnix --help` for a list of all options.\n\n\nWhitelisting\n============\n\n`vulnix` output may contain false positives, unfixable packages or stuff which\nis known to be addressed. The *whitelist* feature allows to exclude packages\nmatching certain criteria.\n\nUsage\n-----\n\nLoad whitelists from either local files or HTTP servers::\n\n vulnix -w /path/to/whitelist.toml \\\n -w https://example.org/published-whitelist.toml\n\nSyntax\n------\n\nWhitelists are TOML_ files which contain the package to be filtered as section\nheaders, followed by further per-package options.\n\nSection headings - package selection\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nExclude a package at a specific version::\n\n [\"openjpeg-2.3.0\"]\n ...\n\nExclude a package regardless of version (additional CVE filters may apply, see\nbelow)::\n\n [\"openjpeg\"]\n\nExclude all packages (see below for CVE filters, again)::\n\n [\"*\"]\n\nOptions\n^^^^^^^\n\ncve\n List of CVE identifiers to match. The whitelist rule is valid as long as the\n detected CVEs are a subset of the CVEs listed here. If additional CVEs are\n detected, this whitelist rule is not effective anymore.\n\nuntil\n Date in the form \"YYYY-MM-DD\" which confines this rule's lifetime. On the\n specified date and later, this whitelist rule is not effective anymore.\n\nissue_url\n URL or list of URLs that point to any issue tracker. Informational only.\n\ncomment\n String or list of strings containing free text. Informational only.\n\n\nExamples\n--------\n\nCreate a ticket on your favourite issue tracker. Estimate the time to get the\nvulnerable package fixed. Create whitelist entry::\n\n [\"ffmpeg-3.4.2\"]\n cve = [\"CVE-2018-6912\", \"CVE-2018-7557\"]\n until = \"2018-05-01\"\n issue_url = \"https://issues.example.com/29952\"\n comment = \"need to backport patch\"\n\nThis particular version of ffmpeg will be left out from reports until either\nanother CVE gets published or the specified date is reached.\n\n\nCVE patch auto-detection\n========================\n\n`vulnix` will inspect derivations for patches which supposedly fix specific\nCVEs. When a patch filename contains one or more CVE identifiers, these will not\nreported anymore. Example Nix code::\n\n patches = [ ./CVE-2018-6951.patch ];\n\nPatches which fix multiple CVEs should name them all with a non-numeric\nseparator, e.g. `CVE-2017-14159+CVE-2017-17740.patch`.\n\nAuto-detection even works when patches are pulled via `fetchpatch` and friends\nas long as there is a CVE identifier in the name. Example::\n\n patches = [\n (fetchpatch {\n name = \"CVE-2018-9055.patch\";\n url = http://paste.opensuse.org/view/raw/330751ce;\n sha256 = \"0m798m6c4v9yyhql7x684j5kppcm6884n1rrb9ljz8p9aqq2jqnm\";\n })\n ];\n\n\n.. _NIST: https://nvd.nist.gov/vuln/\n.. _TOML: https://github.com/toml-lang/toml/\n\n\nBuilding vulnix\n===============\n\nTo create a development environment, use a Python 3 virtualenv::\n\n python3 -m venv .\n bin/pip install -e \".[test]\"\n\nRun tests::\n\n bin/py.test\n\n\nBuilding man pages\n==================\n\nThe provided makefile needs ronn_ to convert Markdown to troff::\n\n make -C doc\n\n.. _ronn: https://rtomayko.github.io/ronn/\n\n\nChanges\n=======\n\n\n1.8.2 (2019-06-17)\n------------------\n\n- Process package versions containing a hyphen properly (e.g., R versions)\n (#50).\n\n\n1.8.1 (2019-04-08)\n------------------\n\n- Builds with both PyYAML 3.13 and 5.1 (#49).\n\n\n1.8.0 (2019-03-09)\n------------------\n\n- Exit code 1 is returned only in conjunction with `--show-whitelisted` (#45).\n- Fix bug in the processing of the 'until' whitelist field (#43).\n\n\n1.7.1 (2018-07-23)\n------------------\n\n- Improve error messages when TOML files contain syntax errors.\n- Fix install requirements so that they match upstream nixpkgs\n (NixOS/nixpkgs#43999).\n\n\n1.7 (2018-07-20)\n----------------\n\n- Selective CVE reporting: Only those CVEs are reported for which no whitelist\n entry exists (#41).\n- Consider all applicable whitelist entries for a given package (pkg-version,\n pkg, \"*\") (#42).\n- Refine TOML section header check.\n\n\n1.6.3 (2018-05-02)\n------------------\n\n- *Really* fix FC-101294. Now for whitelists containing more than one line :)\n- Fail on spaces between package and version in whitelist headers.\n\n\n1.6.2 (2018-05-02)\n------------------\n\n- Sort CVEs in JSON output.\n- Bugfix: fail clearly if section headers are not quoted (FC-101294).\n\n\n1.6.1 (2018-04-20)\n------------------\n\n- Parse derivation files with `__structuredAttrs = true` (#37).\n\n\n1.6.0 (2018-04-19)\n------------------\n\n- Completely reworked whitelisting subsystem. Whitelists can now be written as\n TOML files and support a more expressive range of options including expiry\n datedates. The old YAML syntax is still supported (#36).\n- Ignore case when guessing CVE identifiers from patch file names (thanks to\n @adisbladis).\n- Add man pages (#29).\n\n\n1.4.0 (2017-11-27)\n------------------\n\n- Guesses applied CVE patches out of the `patches` derivation envVar (see\n nixpkgs FC-15660).\n\n\n1.3.4 (2017-10-29)\n------------------\n\n- Add '--no-requisites' flag which stops vulnix from determining the transitive\n closure of derivations passed on the command line.\n- Provide structured JSON output with `--json`.\n- Remove whitelist from README as it is quite buggy right now.\n\n\n1.3.3 (2017-10-16)\n------------------\n\n- Fix return code bug (FC-28741).\n- Fix partial whitelisting of products where several vulnerable versions are\n present on the system at the same time (#24).\n- Improve error reporting for incorrectly formed whitelist rules.\n\n\n1.3.2 (2017-10-06)\n------------------\n\n- Minor: fix packaging issues.\n\n\n1.3.1 (2017-10-06)\n------------------\n\n- Security: Fix arbitrary code execution bug during derivation evaluation.\n\n\n1.3.0 (2017-09-18)\n------------------\n\n- `.drv` files may be specified directly on the command line.\n- Updated PyPI dependencies.\n- Document system requirements (#12).\n- Don't leave large files in /tmp around.\n- Remove duplicate CVEs in output (#25).\n- Fix bug with reporting less than 3 vulnerabilities (#28).\n\n\n1.2.2 (2017-01-28)\n------------------\n\n- Packaging improvements: pin versions in setup.py, include NVDCVE test data in\n sdist.\n- Reduce NVDCVE fixture size. This cuts tests run time by more than 50%.\n\n\n1.2.1 (2017-01-27)\n------------------\n\n- Skip `/nix/var/nix/gcroots/booted-system` during system check.\n- Make output a bit easier to read by removing visual clutter.\n\n\n1.2 (2016-12-22)\n----------------\n\n- Improve CPU and memory usage: refactored the way we fetch, parse, store and\n process data. We now leverage ZODB as the storage for parsed data that is\n efficient to look up.\n\n On our test systems this caused memory usage to drop from > 1GiB to ~70MiB\n and a pure evaluation of existing data to around 7-10 seconds.\n\n This change requires a re-retrieval of all historic sources.\n\n- Improve unit test coverage with at least a smoke test for our new fetching\n procedure.\n\n1.1.5 (2016-10-13)\n------------------\n\n- Keep a reverse index: product name -> vulnerabilities to speed up scan process.\n- Mark 'in progress' vulnerabilities with an asterisk\n- The '-w' switch accepts URLs, too\n- vulnix no longer scans /var/nix/var/gcroots/booted-system\n- only cached files are saved (archives are to be deleted)\n- added travis build: runs periodically against nixpkgs/master and updates\n requirements*.nix files in case of success\n\n\n1.1.4 (2016-08-25)\n------------------\n\n- Add `src` to PYTHONPATH so that tests run also on older NixOS versions\n (tested on 15.09).\n- Correct URL, add metadata.\n- Add nix to propagatedBuildInputs, as vulnix calls `nix-store` at runtime.\n\n\n1.1.3 (2016-08-16)\n------------------\n\n- Pin the Python version to 3.4 (Nix only)\n\n\n1.1.2 (2016-08-15)\n------------------\n\n- Add Nix expressions (Nix/NixOS) to MANIFEST.in\n\n\n1.1.1 (2016-08-12)\n------------------\n\n- Add VERSION to MANIFEST.in\n\n\n1.1 (2016-08-11)\n----------------\n\n- Scans the whole system (NixOS only), the current user environment, or a\n project-specific path (e.g., ./result). #1\n\n- Allow to specify site-specific whitelists in addition to the builtin default\n whitelist. #4\n\n- Fully repeatable install using default.nix. Thanks to Rok Garbas. #4\n\n- Cache pre-parsed NVD files for improved scanning speed. #2\n\n- Support multiple whitelists (repeat -w option). #3\n\n- Cache NVD files in `~/.cache/vulnix`. #7\n\n- Document whitelist file format. #10\n\n- Fix Nix build on macOS. #11", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/flyingcircusio/vulnix", "keywords": "security", "license": "BSD-3-Clause", "maintainer": "", "maintainer_email": "", "name": "vulnix", "package_url": "https://pypi.org/project/vulnix/", "platform": "", "project_url": "https://pypi.org/project/vulnix/", "project_urls": { "Homepage": "https://github.com/flyingcircusio/vulnix" }, "release_url": "https://pypi.org/project/vulnix/1.8.2/", "requires_dist": null, "requires_python": "", "summary": "Scans a Nix store for derivations that are affected by vulnerabilities.", "version": "1.8.2" }, "last_serial": 5409058, "releases": { "1.1": [ { "comment_text": "", "digests": { "md5": "e0982acb1d4c62df90b9c9792a5532ef", "sha256": "1c075fcdb95285139498d69301dc54b05210227b865056823449b5eaf58b3f4e" }, "downloads": -1, "filename": "vulnix-1.1.tar.gz", "has_sig": false, "md5_digest": "e0982acb1d4c62df90b9c9792a5532ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9975, "upload_time": "2016-08-11T14:07:21", "url": "https://files.pythonhosted.org/packages/1d/11/0db72ceeaf2f579b3c2aab186eb0b757e584cb839713de94e2284a9a7a10/vulnix-1.1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "5efa50a04f809cdb1f357ea0077d06e6", "sha256": "eaf468560a9e3e8281435d2f9d15c114bad6f56f0c3710b8c792b04a20eed638" }, "downloads": -1, "filename": "vulnix-1.1.1.tar.gz", "has_sig": false, "md5_digest": "5efa50a04f809cdb1f357ea0077d06e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11490, "upload_time": "2016-08-12T07:45:50", "url": "https://files.pythonhosted.org/packages/5d/54/927b99e918224c767fdf8f5ac053fe20c20c44d25e22d30c3b5044077f29/vulnix-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "668bbc3f74f046b5391d28c0bd0d0355", "sha256": "bd6fce4468d5068a02fd1e93db3b4ee82694fe937ea9d86a1817b4f82ad62caa" }, "downloads": -1, "filename": "vulnix-1.1.2.tar.gz", "has_sig": false, "md5_digest": "668bbc3f74f046b5391d28c0bd0d0355", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16381, "upload_time": "2016-08-15T14:36:03", "url": "https://files.pythonhosted.org/packages/b1/34/cfdadba4503de5953c38f11e5dc484159de8b40eb59987de0e1b0806f9e2/vulnix-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "fad0d87ad16d2e3583080cbeb92870fe", "sha256": "559efd4a24b03ed8e1d45dc3f0e3b91c9b2b2ab97079714f92f90e0034d443d5" }, "downloads": -1, "filename": "vulnix-1.1.3.tar.gz", "has_sig": false, "md5_digest": "fad0d87ad16d2e3583080cbeb92870fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16456, "upload_time": "2016-08-16T17:23:18", "url": "https://files.pythonhosted.org/packages/bf/22/44c7b7e581b11d8bf30764a38f92b2a4fad5508ca9f19912da758236f97d/vulnix-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "4854446dc2a6a7d32403ac4b8ca8b5ff", "sha256": "1bc93d804985b4cf2363f4c0713d372a54d09949b90a45dcd4130f1f94bc2d07" }, "downloads": -1, "filename": "vulnix-1.1.4.tar.gz", "has_sig": false, "md5_digest": "4854446dc2a6a7d32403ac4b8ca8b5ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16032, "upload_time": "2016-08-25T08:14:04", "url": "https://files.pythonhosted.org/packages/ed/57/e34a12836ffb6dacb98850abaa63724199e3ba12405d50f38e0d096603c4/vulnix-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "3e4b6d189b6c1ee3513282a94d83cd03", "sha256": "9b729d4ba29aaac2c2735b38b97bb96d42762a8d81ac66e77aa9bda39eca3241" }, "downloads": -1, "filename": "vulnix-1.1.5.tar.gz", "has_sig": false, "md5_digest": "3e4b6d189b6c1ee3513282a94d83cd03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23178, "upload_time": "2016-10-13T15:52:24", "url": "https://files.pythonhosted.org/packages/de/1e/66ce22166bfcf60853511ba2d0b663ece96dd5df34a5077d176391db927d/vulnix-1.1.5.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "a2716de9965a27b7216e70ad04f414bb", "sha256": "a51caf118e35da7de3e734ebc495ce1f36c256fc4571b556ddb55e5621c85a3e" }, "downloads": -1, "filename": "vulnix-1.2.tar.gz", "has_sig": false, "md5_digest": "a2716de9965a27b7216e70ad04f414bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21618, "upload_time": "2016-12-22T13:06:40", "url": "https://files.pythonhosted.org/packages/06/4a/2e599efe40ca43e38bbef31be38fcc0469ffee00ebd06507e59fbd90f39e/vulnix-1.2.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "c98066bb62cd019ef62e5ad3bf82d04c", "sha256": "6eb92209aeff6ebd25fe5799b44eabba40009a5d95c4f18f82b4e705897e61f8" }, "downloads": -1, "filename": "vulnix-1.2.1.tar.gz", "has_sig": false, "md5_digest": "c98066bb62cd019ef62e5ad3bf82d04c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21590, "upload_time": "2017-01-27T17:47:04", "url": "https://files.pythonhosted.org/packages/88/55/42ff8a5805e3daae24685e600cf1937c9c7b8c4a7813455f606876627081/vulnix-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "876ab03cabbd50763987660905ba2215", "sha256": "22e4a564b73857fdd06152380bb6464eb309061ea3316afb0290291e3fbd49c5" }, "downloads": -1, "filename": "vulnix-1.2.2.tar.gz", "has_sig": false, "md5_digest": "876ab03cabbd50763987660905ba2215", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25139, "upload_time": "2017-01-28T09:43:46", "url": "https://files.pythonhosted.org/packages/90/c9/ebef9243334a99edb8598061efae0f00d7a199b01bea574a84e31e06236d/vulnix-1.2.2.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "20ce7b95f183f9f52633241aebf8e296", "sha256": "d32fab9e2a75930176fca3510837391932c33d52d8ce463e7c593b2a89da85a2" }, "downloads": -1, "filename": "vulnix-1.3.0.tar.gz", "has_sig": false, "md5_digest": "20ce7b95f183f9f52633241aebf8e296", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27893, "upload_time": "2017-09-18T19:46:54", "url": "https://files.pythonhosted.org/packages/d1/90/c91e8f3607d01e267f1fd85872c9410aa230856ebc1c175fad1aaf20095c/vulnix-1.3.0.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "adf37932e84122f63e812eead7bedeb4", "sha256": "b1769ff55099a460216aa5d400e702e1e993964e894133fdd14aceb2f0eabfa6" }, "downloads": -1, "filename": "vulnix-1.3.2.tar.gz", "has_sig": false, "md5_digest": "adf37932e84122f63e812eead7bedeb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30112, "upload_time": "2017-10-06T16:23:36", "url": "https://files.pythonhosted.org/packages/a9/66/f3e435c6d74f61afc944e29630a73e10b11e2a7e4f4ecd3e117518823127/vulnix-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "22f47c08a02765b3c3786a08ae332af1", "sha256": "c29fe62f364220ed4291e4c64d7768a4ad40dff5069ba5b888e85a74ee7e14ba" }, "downloads": -1, "filename": "vulnix-1.3.3.tar.gz", "has_sig": false, "md5_digest": "22f47c08a02765b3c3786a08ae332af1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30871, "upload_time": "2017-10-16T19:09:22", "url": "https://files.pythonhosted.org/packages/b8/11/16478573b2f341b84fb6357785511d33551f4515ef6c3661a79cf04da786/vulnix-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "c36319878a20a4160f3cad99da3ce425", "sha256": "053c6d14a8ca99b2cf4f191140369de97c55f3992c87fb7d6278ce770d8a41cb" }, "downloads": -1, "filename": "vulnix-1.3.4.tar.gz", "has_sig": false, "md5_digest": "c36319878a20a4160f3cad99da3ce425", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30780, "upload_time": "2017-10-29T14:22:55", "url": "https://files.pythonhosted.org/packages/8d/f5/f48075c86f3b328e307617c2973ceda1ec8b285a472f11f8c5ff4b5be850/vulnix-1.3.4.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "2e4db4a367e0d1582bda4e9787516aba", "sha256": "880e05e9ea6a31c9a555adba5958841e3a911538d5804e8ee52fbf9869c76ea6" }, "downloads": -1, "filename": "vulnix-1.4.0.tar.gz", "has_sig": false, "md5_digest": "2e4db4a367e0d1582bda4e9787516aba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33934, "upload_time": "2017-11-27T17:46:09", "url": "https://files.pythonhosted.org/packages/3f/d8/02b51bc5f45b75a728b533b0366b841a144d329abe479bf750d1ffad006e/vulnix-1.4.0.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "3ff0a55844f1e995c3b008fa0be9d527", "sha256": "c73c1a93a1f7765f0c830ee7470ff0f09f4d06fef41bdc29e7d4c961caf68cad" }, "downloads": -1, "filename": "vulnix-1.6.0.tar.gz", "has_sig": false, "md5_digest": "3ff0a55844f1e995c3b008fa0be9d527", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37622, "upload_time": "2018-04-19T16:01:22", "url": "https://files.pythonhosted.org/packages/e1/c4/26f98b1267673e557fb908241db121ccdb6fdd35b10f9aaee5f0e3260b0b/vulnix-1.6.0.tar.gz" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "c15c47fcc59848680aef9d2c0c180974", "sha256": "6e9920bf7fd8ce8b492a6fff175e84ebf8b4bdb6def6fef7b558d981e135db48" }, "downloads": -1, "filename": "vulnix-1.6.1.tar.gz", "has_sig": false, "md5_digest": "c15c47fcc59848680aef9d2c0c180974", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36745, "upload_time": "2018-04-20T11:24:21", "url": "https://files.pythonhosted.org/packages/3f/11/4375419c3d0936ad4219255054863ba6b6cdb05552ac9603992180fdd3f9/vulnix-1.6.1.tar.gz" } ], "1.6.3": [ { "comment_text": "", "digests": { "md5": "8c2926f11e616093ddc22baa3d506ec2", "sha256": "11e3a2343d31671cd2ffba920c5fbbd502d2353be0ad615c67af8120000d4745" }, "downloads": -1, "filename": "vulnix-1.6.3.tar.gz", "has_sig": false, "md5_digest": "8c2926f11e616093ddc22baa3d506ec2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37381, "upload_time": "2018-05-02T13:21:34", "url": "https://files.pythonhosted.org/packages/24/fc/73ff29a3dd644a8ad59a06e5a3d49dcee31af4d5cc73e2bac7c082af5121/vulnix-1.6.3.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "6e1721cd319cbe46234acf89ad7446bb", "sha256": "92ea9eca384eb3ac24396567b4e3524154009b9a8acc6c5909654db501474298" }, "downloads": -1, "filename": "vulnix-1.7.tar.gz", "has_sig": false, "md5_digest": "6e1721cd319cbe46234acf89ad7446bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38830, "upload_time": "2018-07-20T13:02:29", "url": "https://files.pythonhosted.org/packages/32/87/a94e67fd6de99d0e8640229b2395adc133a34bf827dd711e88958df4623c/vulnix-1.7.tar.gz" } ], "1.7.1": [ { "comment_text": "", "digests": { "md5": "5766d706c5b03497bb17e9f0920a1cea", "sha256": "15bd27ad837ecf35338209a96067d802c0325df8263edb2365653d6d4e128395" }, "downloads": -1, "filename": "vulnix-1.7.1.tar.gz", "has_sig": false, "md5_digest": "5766d706c5b03497bb17e9f0920a1cea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39084, "upload_time": "2018-07-23T13:17:02", "url": "https://files.pythonhosted.org/packages/9b/ee/4a707c0c8f2a238603f46f5659cae38339c576bf595c9b22ae6948b03b0e/vulnix-1.7.1.tar.gz" } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "49e9ee11b3abfb55164f663b5c99c343", "sha256": "cbc3b74171b6bc8f80e17d1d56afe710036b67b01e811ae136ccb88acfff4896" }, "downloads": -1, "filename": "vulnix-1.8.0.tar.gz", "has_sig": false, "md5_digest": "49e9ee11b3abfb55164f663b5c99c343", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37564, "upload_time": "2019-03-09T17:25:50", "url": "https://files.pythonhosted.org/packages/61/a5/ce869d675793cdd57b4740b1f22735261f2e01a061ad5f18bbf36c95cd9d/vulnix-1.8.0.tar.gz" } ], "1.8.1": [ { "comment_text": "", "digests": { "md5": "b9df4fb4c23ea6caa604a2e6b7c336cb", "sha256": "39710c11e9ce32fd00402a1bbcac394d105c34a19f2a2884893acaf3adc6fcce" }, "downloads": -1, "filename": "vulnix-1.8.1.tar.gz", "has_sig": false, "md5_digest": "b9df4fb4c23ea6caa604a2e6b7c336cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37766, "upload_time": "2019-04-08T08:12:30", "url": "https://files.pythonhosted.org/packages/79/ca/d3f4a20577b41d9519ec7c9dcd241ed749afa81dddae3c6bb1c492000333/vulnix-1.8.1.tar.gz" } ], "1.8.2": [ { "comment_text": "", "digests": { "md5": "9c4ed94cb1b83933de52c177909a8171", "sha256": "5e94f27461ff62074cadb87fb53d38278f9879c9bf100d883e3fb45d820cc27e" }, "downloads": -1, "filename": "vulnix-1.8.2.tar.gz", "has_sig": false, "md5_digest": "9c4ed94cb1b83933de52c177909a8171", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37846, "upload_time": "2019-06-17T08:24:36", "url": "https://files.pythonhosted.org/packages/8a/00/8b081ae0b6521346318e2c2ab159380898c51e98dcf51050b81958a01cce/vulnix-1.8.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9c4ed94cb1b83933de52c177909a8171", "sha256": "5e94f27461ff62074cadb87fb53d38278f9879c9bf100d883e3fb45d820cc27e" }, "downloads": -1, "filename": "vulnix-1.8.2.tar.gz", "has_sig": false, "md5_digest": "9c4ed94cb1b83933de52c177909a8171", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37846, "upload_time": "2019-06-17T08:24:36", "url": "https://files.pythonhosted.org/packages/8a/00/8b081ae0b6521346318e2c2ab159380898c51e98dcf51050b81958a01cce/vulnix-1.8.2.tar.gz" } ] }