thomaschristory/panorama-super-cli
GitHub: thomaschristory/panorama-super-cli
一款面向 Palo Alto Panorama 的 CLI 工具,用于安全地查找、去重、合并和管理防火墙地址与服务对象,解决配置腐化问题。
Stars: 0 | Forks: 0
# panorama-super-cli (`psc`)
[](https://pypi.org/project/panorama-super-cli/)
[](https://github.com/thomaschristory/panorama-super-cli/actions/workflows/test.yml)
[](https://thomaschristory.github.io/panorama-super-cli/)
[](LICENSE)
**面向 Agent 友好的 Palo Alto Panorama 对象管理工具。** 查找 IP 的归属位置,排查重复的地址/服务对象,安全地合并它们(重写引用它们的每一个组和规则),执行命名规范,并审查对象的规范性——所有操作默认均为**dry-run(试运行)**,并提供 **PAN-OS `set`** 和 **JSON** 输出,满足人类和 Agent 的需求。
```
$ psc --config panorama.xml find ip 10.0.0.10
$ psc --config panorama.xml dedup addresses
$ psc --config panorama.xml dedup merge --keep h-web1 --into web-primary --apply
```
## 为什么需要它
Panorama 的配置会逐渐腐化:同一个 `10.0.0.10` 最终可能会变成 `h-web1`、`web-primary` 和 `WEB_PRD_01`;服务会与已知端口重复;对象的生命周期会超过使用它们的规则。`psc` 提供了一种快速、可脚本化且**安全**的方式来查看和修复这些问题——既可以针对导出的配置进行离线操作,也可以直接对 Panorama 进行实时操作。
## 安装说明
```
uv tool install panorama-super-cli # recommended
# 或
pipx install panorama-super-cli
# 或
pip install panorama-super-cli
```
## 指定配置的两种方式
- **离线**(无需凭据,绝对安全):`psc --config exported.xml `。从 Panorama 导出(使用 `scp export configuration ...` 或通过 GUI),然后在你的笔记本电脑上进行审查。
- **实时**:配置一个配置文件(`psc init`、`psc login`),`psc` 即可通过 [`pan-os-python`](https://github.com/PaloAltoNetworks/pan-os-python) 与 PAN-OS XML API 进行通信。读取操作是无风险的;写入操作仍需使用 `--apply`。
## 功能说明
| 领域 | 命令 |
| --- | --- |
| **查找 / 解析** | `psc find ip `, `find ip -e ` (仅精确匹配), `find ip -f ips.txt`, `find object ` |
| **重复项** | `psc dedup addresses`, `dedup services`, `dedup groups`, `dedup merge`, `dedup merge-group` |
| **审查** | `psc audit overlaps` (重叠/包含的 CIDR 范围) |
| **对象 CRUD** | `psc set address\|address-group\|service\|service-group\|tag ...` (通过 PAN-OS 验证进行创建/更新) |
| **规则编辑** | `psc rule edit-member --rule R --field F --add/--remove M` (幂等) |
| **下线** | `psc decommission ...` (引用安全的级联拆除) |
| **命名** | `psc name suggest`, `name lint`, `name apply` (可选模板) |
| **引用** | `psc refs
标签:Docker 部署, Linux安全, Palo Alto, Python, 无后门, 网络调试, 网络运维, 网络防火墙, 自动化, 逆向工具