facebook/pyre-check

GitHub: facebook/pyre-check

Pyre 是 Meta 开源的高性能 Python 静态类型检查器,支持增量分析并内置 Pysa 安全分析模块,用于检测类型错误和代码安全漏洞。

Stars: 7152 | Forks: 451

[![tests](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/88a5fd9061182656.svg)](https://github.com/facebook/pyre-check/actions/workflows/tests.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Gitter](https://badges.gitter.im/pyre-check/community.svg)](https://gitter.im/pyre-check/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)

Pyre 是一个高性能的 Python 类型检查器,符合 [PEP 484](https://www.python.org/dev/peps/pep-0484/) 标准。Pyre 可以增量分析拥有数百万行代码的代码库——在开发者编写代码时提供即时反馈。你可以在 [Pyre Playground](https://pyre-check.org/play) 中试用示例。 Pyre 附带 **Pysa**,这是一个我们基于 Pyre 构建的专注于安全的静态分析工具,用于推理 Python 应用程序中的数据流。请参阅我们的[文档](https://pyre-check.org/docs/pysa-quickstart)以开始使用我们的安全分析。 Pysa 也可以在 [GitHub Marketplace 上作为 Github Action 使用](https://github.com/marketplace/actions/pysa-action) ## 环境要求 首先,你需要系统中安装 [Python 3.9 或更高版本](https://www.python.org/getit/)以及 [watchman](https://facebook.github.io/watchman/)。在 *MacOS* 上,你可以通过 [homebrew](https://brew.sh/) 获取这一切: ``` $ brew install python3 watchman ``` 在 *Ubuntu*、*Mint* 或 *Debian* 上,使用 `apt-get` 和 [homebrew](https://brew.sh/): ``` $ sudo apt-get install python3 python3-pip python3-venv $ brew install watchman ``` 我们在 *Ubuntu 18.04.5 LTS*、*CentOS 7* 以及 *OSX 10.11* 及更高版本上测试了 Pyre。 ## 设置项目 我们首先创建一个空的项目目录并设置一个虚拟环境: ``` $ mkdir my_project && cd my_project $ python3 -m venv ~/.venvs/venv $ source ~/.venvs/venv/bin/activate (venv) $ pip install pyre-check ``` 接下来,我们让 Pyre 识别我们的新项目: ``` (venv) $ pyre init ``` 此命令将在你的项目目录中为 Pyre(`.pyre_configuration`)以及 watchman(`.watchmanconfig`)创建配置。暂时接受默认值即可——如有必要,你可以稍后更改它们。 ## 运行 Pyre 我们现在准备好运行 Pyre 了: ``` (venv) $ echo "i: int = 'string'" > test.py (venv) $ pyre ƛ Found 1 type error! test.py:1:0 Incompatible variable type [9]: i is declared to have type `int` but is used as type `str`. ``` 第一次调用将启动一个监听文件系统更改的守护进程——在你编辑代码时增量地对项目进行类型检查。你会注意到随后调用 `pyre` 的速度会比第一次更快。 有关更详细的文档,请参阅 https://pyre-check.org。 ## 加入 Pyre 社区 关于如何提供帮助,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 许可证 Pyre 根据 MIT 许可证授权。
标签:Facebook, LNA, PEP 484, Pyre, Pysa, Python, SAST, TLS抓取, Web安全扫描, 云安全监控, 代码审查, 增量分析, 威胁情报, 开发者工具, 性能优化, 无后门, 检测绕过, 漏洞数据库, 盲注攻击, 类型检查, 自动化安全检测, 软件安全, 逆向工具, 静态分析, 静态类型检查器