mirror of
https://bitbucket.org/siakitem/my-pi.git
synced 2026-10-26 18:55:22 +00:00
for/while/if/case/{ }/函数体此前只按整段文本匹配,
"for d in ...; do n=$(find ...); done" 中的 find 绕过了 find* deny(真实会话复现);
x=$(grep ...)、export X=$(find ...)、! grep ... 同样绕过。
控制流语句仍整段判定,并逐条枚举条件与体内命令;do/else/case 分支容器只下降不单独成单元;
其余语句兜底额外枚举其中的 $(…)。结果只会更严,hard guard 共享同一枚举。
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
28 lines
1.8 KiB
Markdown
28 lines
1.8 KiB
Markdown
# 上游来源(多个)
|
|
|
|
本目录由 `my-pi` 组合包直接维护,组合了两份独立 MIT 许可的来源。
|
|
|
|
## pi-permission-system
|
|
|
|
- 官方仓库:<https://github.com/gotgenes/pi-packages/tree/main/packages/pi-permission-system>
|
|
- 导入快照:`ec4fdb11343dc94f7185b113e559a4cf9f8dc035`
|
|
- 导入版本:`pi-permission-system-v26.2.1`
|
|
- 许可证:MIT,上游 `LICENSE` 原样保留。
|
|
|
|
## pi-permission-auto-review(已整合)
|
|
|
|
- 官方仓库:<https://github.com/mzwing/pi-packages/tree/main/packages/pi-permission-auto-review>
|
|
- 导入快照:`8d196e4ef0884cac8326c366191dad3f585d470a`
|
|
- 导入版本:`@mzwing/pi-permission-auto-review@0.2.0`
|
|
- 许可证:MIT,保留在 `LICENSES/pi-permission-auto-review-MIT.txt`。
|
|
|
|
AutoReview 源码已整合进 `src/auto-review/`,不再保留或加载第二个顶层扩展;其来源记录与本地集成差异见 `docs/auto-review/UPSTREAM.md`。
|
|
|
|
## 本地维护
|
|
|
|
本目录不是 submodule,不保留嵌套 `.git`、上游 `.pi` 本地状态、`dist/` 或构建产物。同步任一上游时必须从其源码仓库的明确 tag/commit 移植并与本地改动对照审查,不得整体覆盖,也不得使用 npm 预编译产物作为导入源。
|
|
|
|
## 本地改动
|
|
|
|
- Bash 命令枚举在保留整条控制流语句为独立 command unit 的基础上递归下降:`for`/`while`/`until`、`if`/`elif`/`else`、`case` 分支、`{ … }` 组合语句、函数定义与 `!` 取反命令体内的命令也按 bash pattern 逐条判定;赋值与声明值(`x=$(…)`、`export X=$(…)`)、值列表、case 词与 `[[ … ]]` 测试中的 `$(…)` 替换同样枚举,而 `do …; done`、`elif`/`else`、`case` 分支等纯容器不再单独产生 unit。藏在循环体、取反前缀或赋值载荷里的 `find`/`grep`/`rm` 等不再绕过 deny 或 hard guard。
|