floor: the secret-file check can't see runtime values (globs, expansion side effects, symlinks, code)
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- python, shell, typescript
- 領域
- security
調査の方向性
Start with floor.ts and section 4 of docs/plans/2026-09-22-real-shell-parser.md, then review the runtime file resolution described in #67 and spawn interception in the eval kernel from #13. Done means the reviewer sees the files opened at runtime or the argv actually spawned, rather than only source spellings.
索引モデルが issue の本文から書いたものです。
説明
The floor's secret-file check is a check on names, and names don't cover runtime values. PR #96 hit the Codex review cap on this: each of three rounds found a new runtime spelling, and the class doesn't close by adding spellings.
| Passes the floor | Why a name check can't see it |
|---|---|
cat .e* |
the glob matches whatever is on disk |
cat ${x:=key.txt} ${x/txt/pem} |
the first expansion assigns x, the second reads it |
ln -s ~/.aws/credentials notes.txt && cat notes.txt |
a symlink renames any file |
subprocess.run(["o" "p", "read", "op://v/i/c"]) in eval |
Python joins the literals, and the floor doesn't evaluate Python |
What #96 does about it: the floor reads each word as the text it's written as, so *.pem still asks and .e* doesn't. The limit is written down as a decision in docs/plans/2026-09-22-real-shell-parser.md section 4. Every one of these reaches the reviewer.
This issue tracks whether anything below the reviewer should close it. Two ways that would actually work, not more spellings:
- For shell, judge the file the command opens, not its name. That means resolving it at run time, the same move #67 makes for script bodies. Symlinks need this too.
- For code, intercept the spawn in the eval kernel (#13) so the floor sees the argv the kernel runs, not the source text.
Until then, don't add glob samples, expansion simulation, or language-specific string parsing to floor.ts. Rounds 2 and 3 on #96 show where that goes.
Related: #95 (the summary's version of the same limit), #91.
- 主要言語
- TypeScript
- スター
- 0
- フォーク
- 1
- 平均マージ
- 1時間 15分
- マージ済み PR(30日)
- 49
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
STRML/omp-classifier のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
STRML/omp-classifier#111 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
STRML/omp-classifier#107 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
STRML/omp-classifier#88 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
STRML/omp-classifier#86 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
STRML/omp-classifier#81 ·
STRML/omp-classifier の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
security
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
IBM/node-sdk-core#373 ·
-
e2e-failure ready-to-code
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
chore
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100