# 🌈 zizmor
[![CI](https://github.com/woodruffw/zizmor/actions/workflows/ci.yml/badge.svg)](https://github.com/woodruffw/zizmor/actions/workflows/ci.yml)
[![Crates.io](https://img.shields.io/crates/v/zizmor)](https://crates.io/crates/zizmor)
[![Packaging status](https://repology.org/badge/tiny-repos/zizmor.svg)](https://repology.org/project/zizmor/versions)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/woodruffw?style=flat&logo=githubsponsors&labelColor=white&color=white)](https://github.com/sponsors/woodruffw)
`zizmor` is a static analysis tool for GitHub Actions. It can find
many common security issues in typical GitHub Actions CI/CD setups.
![zizmor demo](https://raw.githubusercontent.com/woodruffw/zizmor/main/docs/assets/zizmor-demo.gif)
See [`zizmor`'s documentation](https://woodruffw.github.io/zizmor/)
for [installation steps], as well as a [quickstart] and
[detailed usage recipes].
[please file them]: https://github.com/woodruffw/zizmor/issues/new?assignees=&labels=bug%2Ctriage&projects=&template=bug-report.yml&title=%5BBUG%5D%3A+
[installation steps]: https://woodruffw.github.io/zizmor/installation/
[quickstart]: https://woodruffw.github.io/zizmor/quickstart/
[detailed usage recipes]: https://woodruffw.github.io/zizmor/usage/
## License
`zizmor` is licensed under the [MIT License](./LICENSE).
## Contributing
See [our contributing guide!](./CONTRIBUTING.md)
## The name?
*[Now you can have beautiful clean workflows!]*
[Now you can have beautiful clean workflows!]: https://www.youtube.com/watch?v=ol7rxFCvpy8
## Star History
<a href="https://star-history.com/#woodruffw/zizmor&Date">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=woodruffw/zizmor&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=woodruffw/zizmor&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=woodruffw/zizmor&type=Date" />
</picture>
</a>
Raw data
{
"_id": null,
"home_page": "https://github.com/woodruffw/zizmor",
"name": "zizmor",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "cli, github-actions, static-analysis, security",
"author": "William Woodruff <william@yossarian.net>",
"author_email": "William Woodruff <william@yossarian.net>",
"download_url": "https://files.pythonhosted.org/packages/06/8e/8fd00098f81d61b1f6c913e81e67150adeee308c40c37887944fe53eb042/zizmor-1.1.1.tar.gz",
"platform": null,
"description": "# \ud83c\udf08 zizmor\n\n[![CI](https://github.com/woodruffw/zizmor/actions/workflows/ci.yml/badge.svg)](https://github.com/woodruffw/zizmor/actions/workflows/ci.yml)\n[![Crates.io](https://img.shields.io/crates/v/zizmor)](https://crates.io/crates/zizmor)\n[![Packaging status](https://repology.org/badge/tiny-repos/zizmor.svg)](https://repology.org/project/zizmor/versions)\n[![GitHub Sponsors](https://img.shields.io/github/sponsors/woodruffw?style=flat&logo=githubsponsors&labelColor=white&color=white)](https://github.com/sponsors/woodruffw)\n\n`zizmor` is a static analysis tool for GitHub Actions. It can find\nmany common security issues in typical GitHub Actions CI/CD setups.\n\n![zizmor demo](https://raw.githubusercontent.com/woodruffw/zizmor/main/docs/assets/zizmor-demo.gif)\n\nSee [`zizmor`'s documentation](https://woodruffw.github.io/zizmor/)\nfor [installation steps], as well as a [quickstart] and\n[detailed usage recipes].\n\n[please file them]: https://github.com/woodruffw/zizmor/issues/new?assignees=&labels=bug%2Ctriage&projects=&template=bug-report.yml&title=%5BBUG%5D%3A+\n\n[installation steps]: https://woodruffw.github.io/zizmor/installation/\n\n[quickstart]: https://woodruffw.github.io/zizmor/quickstart/\n\n[detailed usage recipes]: https://woodruffw.github.io/zizmor/usage/\n\n## License\n\n`zizmor` is licensed under the [MIT License](./LICENSE).\n\n## Contributing\n\nSee [our contributing guide!](./CONTRIBUTING.md)\n\n## The name?\n\n*[Now you can have beautiful clean workflows!]*\n\n[Now you can have beautiful clean workflows!]: https://www.youtube.com/watch?v=ol7rxFCvpy8\n\n## Star History\n\n<a href=\"https://star-history.com/#woodruffw/zizmor&Date\">\n <picture>\n <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=woodruffw/zizmor&type=Date&theme=dark\" />\n <source media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=woodruffw/zizmor&type=Date\" />\n <img alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=woodruffw/zizmor&type=Date\" />\n </picture>\n</a>\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Static analysis for GitHub Actions",
"version": "1.1.1",
"project_urls": {
"Homepage": "https://github.com/woodruffw/zizmor",
"Source Code": "https://github.com/woodruffw/zizmor"
},
"split_keywords": [
"cli",
" github-actions",
" static-analysis",
" security"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2cc4ea52e32cc489b15edfe8ede2388b4dc6a9903599dece0a1834cab0201e28",
"md5": "a49919e1806114a4191bd4398e8172be",
"sha256": "9b8602ae8920cd1f88092ff4f21fea9d9eb1166456cb6e529c41605beaf611e7"
},
"downloads": -1,
"filename": "zizmor-1.1.1-py3-none-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "a49919e1806114a4191bd4398e8172be",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4423734,
"upload_time": "2025-01-13T16:12:39",
"upload_time_iso_8601": "2025-01-13T16:12:39.087888Z",
"url": "https://files.pythonhosted.org/packages/2c/c4/ea52e32cc489b15edfe8ede2388b4dc6a9903599dece0a1834cab0201e28/zizmor-1.1.1-py3-none-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f81055661bb21e9e6f7e39e7dbea4b5c1421a7e2578c8744ba7fa5b0e96e47a2",
"md5": "d98fb43cdc57ea726b938efcfb0a2726",
"sha256": "d86764621627cfefe8d40422cea4af01152a4bcb9c7e1df7a4d4193820e96c90"
},
"downloads": -1,
"filename": "zizmor-1.1.1-py3-none-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "d98fb43cdc57ea726b938efcfb0a2726",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4174986,
"upload_time": "2025-01-13T16:12:36",
"upload_time_iso_8601": "2025-01-13T16:12:36.768313Z",
"url": "https://files.pythonhosted.org/packages/f8/10/55661bb21e9e6f7e39e7dbea4b5c1421a7e2578c8744ba7fa5b0e96e47a2/zizmor-1.1.1-py3-none-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e558ea209fd7b7fc0648f0b9610b8695cd09e51feac88d9d9754ca3f27798542",
"md5": "22470a3504812fb2e819864db10de6a8",
"sha256": "db6cc9665608a42df406e5a4ccd0939ab5a0e81c0adeef9a4dd7fbbd532590ad"
},
"downloads": -1,
"filename": "zizmor-1.1.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "22470a3504812fb2e819864db10de6a8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4434802,
"upload_time": "2025-01-13T16:12:18",
"upload_time_iso_8601": "2025-01-13T16:12:18.320484Z",
"url": "https://files.pythonhosted.org/packages/e5/58/ea209fd7b7fc0648f0b9610b8695cd09e51feac88d9d9754ca3f27798542/zizmor-1.1.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "20859d72035dcabdabbf31dd21bd4f189900d0783b84ed56e13ba52617c7f5fc",
"md5": "7d6dff5bda41ea123e1c6f9c7bd26501",
"sha256": "7f84872e2b6f7dac4cb49f5c6dbd3e21dcee1c1a3531f60a7d8298840e6bb760"
},
"downloads": -1,
"filename": "zizmor-1.1.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "7d6dff5bda41ea123e1c6f9c7bd26501",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4541721,
"upload_time": "2025-01-13T16:12:28",
"upload_time_iso_8601": "2025-01-13T16:12:28.627566Z",
"url": "https://files.pythonhosted.org/packages/20/85/9d72035dcabdabbf31dd21bd4f189900d0783b84ed56e13ba52617c7f5fc/zizmor-1.1.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "21fe8fcb5af22e054be1fc073d535c4e09ce328ed7258b00460385d5fadcca93",
"md5": "432f86d5aeccb349ce668987ab6a4d0b",
"sha256": "65566ce87c50a9d249f318d2f3684320987885f65748e645d4ab92ed04948d17"
},
"downloads": -1,
"filename": "zizmor-1.1.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"has_sig": false,
"md5_digest": "432f86d5aeccb349ce668987ab6a4d0b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4828579,
"upload_time": "2025-01-13T16:12:21",
"upload_time_iso_8601": "2025-01-13T16:12:21.588348Z",
"url": "https://files.pythonhosted.org/packages/21/fe/8fcb5af22e054be1fc073d535c4e09ce328ed7258b00460385d5fadcca93/zizmor-1.1.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "dbf96bd324f83d4718e6a86438456d0f39fae1e570fd6d78d7f4d1c4d61da3ee",
"md5": "24373e9cd028ed4d47ee20e9ffe1c174",
"sha256": "2070128a22f6139f12606c0ee31864ec07ad20462c3a56fdae01d7cf28877947"
},
"downloads": -1,
"filename": "zizmor-1.1.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"has_sig": false,
"md5_digest": "24373e9cd028ed4d47ee20e9ffe1c174",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 5931399,
"upload_time": "2025-01-13T16:12:25",
"upload_time_iso_8601": "2025-01-13T16:12:25.615728Z",
"url": "https://files.pythonhosted.org/packages/db/f9/6bd324f83d4718e6a86438456d0f39fae1e570fd6d78d7f4d1c4d61da3ee/zizmor-1.1.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3ae273fd210a5c3b8ccb0defdda959bbbc0c6f1f061107ae9326675d4aa8eed7",
"md5": "9c45966997d27fcc67aeee3c009245f0",
"sha256": "1b3763349f848385e0a69c1ad264121745ef3c6aa7fef0222fb91f393a89304f"
},
"downloads": -1,
"filename": "zizmor-1.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "9c45966997d27fcc67aeee3c009245f0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4658746,
"upload_time": "2025-01-13T16:12:33",
"upload_time_iso_8601": "2025-01-13T16:12:33.895390Z",
"url": "https://files.pythonhosted.org/packages/3a/e2/73fd210a5c3b8ccb0defdda959bbbc0c6f1f061107ae9326675d4aa8eed7/zizmor-1.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "be976d1139b1b60c7eed6ad28e4a45f851ba7a2a15667e9988ba9ea8ba81a118",
"md5": "ba6a558d9ee82afee77c41dc26b044e9",
"sha256": "b74e5235f238118cf873576b94a335f1e251d8cc03b95caac2833f22ca72e2bb"
},
"downloads": -1,
"filename": "zizmor-1.1.1-py3-none-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "ba6a558d9ee82afee77c41dc26b044e9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4376284,
"upload_time": "2025-01-13T16:12:40",
"upload_time_iso_8601": "2025-01-13T16:12:40.983108Z",
"url": "https://files.pythonhosted.org/packages/be/97/6d1139b1b60c7eed6ad28e4a45f851ba7a2a15667e9988ba9ea8ba81a118/zizmor-1.1.1-py3-none-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cdbc70337a9e26ddeedc237cf08944ee84a3c797ff7629bd22d24730ed7fa229",
"md5": "c99740caecd72c85c7faaa77eca48b76",
"sha256": "b303d133970e722f3b8a7101b454fb839444483eb157b9f7ac42d8b8caef04f2"
},
"downloads": -1,
"filename": "zizmor-1.1.1-py3-none-musllinux_1_2_armv7l.whl",
"has_sig": false,
"md5_digest": "c99740caecd72c85c7faaa77eca48b76",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4358049,
"upload_time": "2025-01-13T16:12:45",
"upload_time_iso_8601": "2025-01-13T16:12:45.801882Z",
"url": "https://files.pythonhosted.org/packages/cd/bc/70337a9e26ddeedc237cf08944ee84a3c797ff7629bd22d24730ed7fa229/zizmor-1.1.1-py3-none-musllinux_1_2_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d3e82d3d184ab7bedf6af2dd0e0d9f5a34348245096c0616e80ad40261ab4d9b",
"md5": "12892cea716ee99315f028546f5cf43a",
"sha256": "fc9ca4fc047d5852d83240de2b00555c2172d4dd6a0fbed8c70abde3485bf032"
},
"downloads": -1,
"filename": "zizmor-1.1.1-py3-none-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "12892cea716ee99315f028546f5cf43a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4453204,
"upload_time": "2025-01-13T16:12:51",
"upload_time_iso_8601": "2025-01-13T16:12:51.305978Z",
"url": "https://files.pythonhosted.org/packages/d3/e8/2d3d184ab7bedf6af2dd0e0d9f5a34348245096c0616e80ad40261ab4d9b/zizmor-1.1.1-py3-none-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7639bd08732e74d0c57d926ce8a7a35475142f756a4cf9fdd303794f6b7cdb66",
"md5": "34257142482ff0984c4e8e6b2e034c70",
"sha256": "f8ca41eddaed2ace169ce9a42353822e2631090dc6fbc6086689d311b3252e99"
},
"downloads": -1,
"filename": "zizmor-1.1.1-py3-none-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "34257142482ff0984c4e8e6b2e034c70",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4700011,
"upload_time": "2025-01-13T16:12:53",
"upload_time_iso_8601": "2025-01-13T16:12:53.087995Z",
"url": "https://files.pythonhosted.org/packages/76/39/bd08732e74d0c57d926ce8a7a35475142f756a4cf9fdd303794f6b7cdb66/zizmor-1.1.1-py3-none-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "100ba3126850fb8e3494c994ae77169f15414562829f87c77f05fc4eddafff89",
"md5": "2567748080986b6ffe7d2648cd12dba3",
"sha256": "823f9067c06711404f7d7f875c4982e138e65e7f17de639455ebf2578ed27b8a"
},
"downloads": -1,
"filename": "zizmor-1.1.1-py3-none-win32.whl",
"has_sig": false,
"md5_digest": "2567748080986b6ffe7d2648cd12dba3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 3757581,
"upload_time": "2025-01-13T16:12:58",
"upload_time_iso_8601": "2025-01-13T16:12:58.022394Z",
"url": "https://files.pythonhosted.org/packages/10/0b/a3126850fb8e3494c994ae77169f15414562829f87c77f05fc4eddafff89/zizmor-1.1.1-py3-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b1b23ab017488a5b976a216c492758d3656fec845b981e222be51e5f5be2e990",
"md5": "2d0b8c42c422347815045b1ff4b6ac12",
"sha256": "3aa43a268038e0dc07d8eab0ea0804dfbd60197fa4c3a7e45cfb23dc73cac1d0"
},
"downloads": -1,
"filename": "zizmor-1.1.1-py3-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "2d0b8c42c422347815045b1ff4b6ac12",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4255204,
"upload_time": "2025-01-13T16:12:56",
"upload_time_iso_8601": "2025-01-13T16:12:56.120853Z",
"url": "https://files.pythonhosted.org/packages/b1/b2/3ab017488a5b976a216c492758d3656fec845b981e222be51e5f5be2e990/zizmor-1.1.1-py3-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "068e8fd00098f81d61b1f6c913e81e67150adeee308c40c37887944fe53eb042",
"md5": "eadf88325aa2bdd048b6b3fa7d9020f6",
"sha256": "2fd1f5af1a9b4b44a828eed1f570b02c8bd5eb590236bcbda3d06754ddbe5a2f"
},
"downloads": -1,
"filename": "zizmor-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "eadf88325aa2bdd048b6b3fa7d9020f6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 215983,
"upload_time": "2025-01-13T16:12:54",
"upload_time_iso_8601": "2025-01-13T16:12:54.623788Z",
"url": "https://files.pythonhosted.org/packages/06/8e/8fd00098f81d61b1f6c913e81e67150adeee308c40c37887944fe53eb042/zizmor-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-13 16:12:54",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "woodruffw",
"github_project": "zizmor",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "zizmor"
}