Peternasarah/permi
GitHub: Peternasarah/permi
一款轻量级 AI 驱动的代码漏洞扫描器,帮助中小企业和独立开发者快速发现并过滤 SQL 注入、XSS、硬编码机密等安全问题。
Stars: 1 | Forks: 0
[](https://pypi.org/project/permi/)
[](https://github.com/Peternasarah/permi/actions/workflows/ci.yml)
# Permi
**面向尼日利亚开发者和全球中小企业的 AI 驱动漏洞扫描器。**
Permi 扫描您的代码以查找安全漏洞,并使用 AI 过滤掉误报
—— 让您只看到真正重要的发现。
生于尼日利亚。为尼日利亚而生。然后走向世界。
## Permi 检测的内容
- SQL 注入(字符串拼接、f-string、% 格式化)
- 跨站脚本攻击(innerHTML、document.write、Jinja2 |safe)
- 硬编码机密(密码、API 密钥、AWS 密钥、Paystack/Flutterwave 密钥)
- 不安全做法(eval/exec、pickle.loads、禁用 SSL 验证、调试模式)
- USSD 漏洞(尼日利亚特有 —— 未经验证的 sessionId、phoneNumber、serviceCode)
## 安装
```
pip install permi
```
需要 Python 3.9+
## 用法
**扫描本地项目:**
```
permi scan --path ./myapp
```
**扫描 GitHub 仓库:**
```
permi scan --path https://github.com/user/repo
```
**仅显示高危发现:**
```
permi scan --path ./myapp --severity high
```
**输出为 JSON(用于 CI/CD 流水线):**
```
permi scan --path ./myapp --output json
```
**跳过 AI 过滤(离线模式):**
```
permi scan --path ./myapp --offline
```
## 设置
Permi 使用 [OpenRouter](https://openrouter.ai) 进行 AI 驱动的误报
过滤。创建一个免费账户,生成 API 密钥,并将其添加到项目根目录下的 `.env`
文件中:
OPENROUTER_API_KEY=sk-or-your-key-here
没有 API 密钥?使用 `--offline` 模式。所有发现将不经过滤直接显示。
## 示例输出
[1] [HIGH] SQL001 SQL Injection — string concatenation
File : app/auth.py
Line : 42
Code : cursor.execute("SELECT * FROM users WHERE name = " + username)
Why : Raw string concatenation used to build a SQL query.
AI : REAL User input is directly embedded into a SQL query with no sanitisation.
## 作者
Peter N. D. — 网络安全学生,尼日利亚乔斯大学。
*Permi 正处于活跃开发中。欢迎反馈和贡献。*
标签:AI安全, Chat Copilot, CISA项目, DNS 反向解析, LNA, OpenRouter, Python安全工具, SAST, SQL注入检测, USSD安全, XSS检测, 中小企业安全, 加密, 安全专业人员, 安全助手, 尼日利亚开发, 漏洞扫描器, 盲注攻击, 硬编码密钥, 网络安全, 误报过滤, 逆向工具, 错误基检测, 隐私保护, 静态代码分析