ishvaproducts-png/ishvacerto

GitHub: ishvaproducts-png/ishvacerto

一款零依赖的本地代码验证工具,通过实际执行对 AI 生成的代码做出「已验证、已反驳(含确切失败输入)或弃权」的三值判定。

Stars: 0 | Forks: 0

# ishvacerto [![PyPI](https://img.shields.io/pypi/v/ishvacerto.svg)](https://pypi.org/project/ishvacerto/) [![CI](https://github.com/ishvaproducts-png/ishvacerto/actions/workflows/ci.yml/badge.svg)](https://github.com/ishvaproducts-png/ishvacerto/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Python 3.9+](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org) [![零依赖](https://img.shields.io/badge/dependencies-0-brightgreen.svg)](pyproject.toml) **证明你的 AI 编写代码——或者获得确切的破坏性输入。绝不含糊其辞。** AI 编码助手速度很快,但它们也会交付充满自信的 bug 和幻觉行为。`ishvacerto` 是构建在它们之上的安全网: 给它一个函数以及一种检查方式(其自身的 doctest、你的测试或参考实现),它会返回以下三种答案之一—— **绝不返回听起来 plausible 的模棱两可答案**: - ✅ **VERIFIED**(已验证)——它通过了 spec(带有 witness)。 - ❌ **REFUTED**(已反驳)——它失败了,并且这里是**确切的破坏性输入**。 - 🤷 **ABSTAIN**(弃权)——无法捕获可检查的 spec,因此它会如实说明,而不是盲目盖章通过。 它**完全在你的机器上运行。你的代码永远不会离开本地。**无需账号,无需云服务,无需遥测。纯标准 库——零依赖。 ## 为什么需要 无法验证的代码建议就是一种隐患。`ishvacerto` 做了 LLM 在结构上无法做到的一件事:通过 执行来**证明或反驳**,当它无法做到时,它会选择**弃权**而不是虚张声势。它不与你的 AI 编码器竞争——它让其输出可以安全交付。 ## 安装 ``` pip install ishvacerto ``` ## 使用 **针对代码自身的 doctest 进行验证:** ``` ishvacerto my_function.py ``` **在 Python 中:** ``` from ishvacerto import verify, verify_against_reference verify(open("f.py").read()) # uses doctests if present verify(code, tests=[("f(3)", "9"), "assert f(0) == 0"]) # against your tests verify_against_reference(ai_code, known_good_code, "f") # where does the AI code diverge? ``` **差分测试——高杠杆模式(无需测试,只需参考实现):** ``` ishvacerto --ref reference.py --entry my_func ai_generated.py ``` `ishvacerto` 会生成输入,运行两者,并展示它们不一致的第一个输入。 **在 CI 中(REFUTED 时退出代码为 1):** ``` # .github/workflows/verify.yml - run: pip install ishvacerto - run: ishvacerto changed_function.py ``` ## 示例 ``` $ ishvacerto buggy.py REFUTED [doctest] fn=square counterexample: square(3) (got 6, expected 9) ``` 这就是 bug 所在——`square(3)` 返回了 `6`,而不是 `9`。不是“看起来可疑”。而是确切的失败输入。 ## 它如何决策 - **VERIFIED** 仅在捕获的 spec 在它所能执行的每一个输入上都通过时才会返回。 - **REFUTED** 仅在明确的错误匹配时返回——并且它会告诉你具体的输入。 - **ABSTAIN** 在它无法捕获可用的 spec 时返回(这种原则使其避免了对优质代码的误报)。 差分运行在独立的进程中进行沙盒处理,并设有超时。该超时旨在防止挂起;它**不是** 针对恶意代码的安全沙盒——请验证你信任其来源的代码(例如你自己助手的输出),或者在 container 中运行它。 ## License MIT — 详情请见 [LICENSE](LICENSE)。 ## 状态 `v0.1` ——验证或弃权的核心。正在开发中:更丰富的 spec 捕获(一个参考 *proposer*,使其能够覆盖 没有附带测试的代码)、更多的目标语言以及编辑器扩展。欢迎贡献。
标签:AI辅助编程, pocsuite3, Python, 代码验证, 无后门, 本地工具, 软件测试, 逆向工具