systemd user unit interpolates the install path without rejecting control characters
维护者通常 1 天内回复
评估
调研方向
Start with scripts/install-systemd-user and trace how ROOT becomes UNIT_ROOT and the generated unit text. Then inspect atomic_write_text() in token_meter/app.py, using paths containing newlines, quotes, or backslashes as inputs. Done means unsafe paths are rejected or safely escaped before interpolation, and newly created files use 0600 permissions.
由索引模型根据 Issue 内容生成。
描述
Summary
scripts/install-systemd-user writes user units with:
WorkingDirectory=$UNIT_ROOT
ExecStart="$PYTHON_BIN" "$ROOT/meter.py"
UNIT_ROOT only substitutes spaces (${ROOT// /\x20}). Newlines, quotes, or backslashes in the clone path can break out of the unit file.
This is user-controlled (you pick the clone directory), not remote injection. Still worth rejecting control characters and quotes in ROOT before interpolating, or generating the unit with a language that escapes systemd strings.
atomic_write_text() in token_meter/app.py also leaves new files at the process umask instead of 0600. The Git-delivery SQLite salt lives under ~/.token-meter/.
- 主要语言
- Python
- 星标
- 146
- 派生
- 34
- 平均合并
- 14 小时 35 分钟
- 30 天内合并 PR
- 64
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
splunk/token-meter 的其他 Issue
-
Local dashboard is missing frame-ancestors / X-Frame-Options可能已有人在做 @ascendedent 于 65 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 74/100
splunk/token-meter#40 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
splunk/token-meter#26 · 1 个 reaction ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 35/100
splunk/token-meter#73 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 55/100
splunk/token-meter#72 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 50/100
splunk/token-meter#71 ·
维护者通常 1 天内回复
查看 splunk/token-meter 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
roman-corgi/corgisim#327 ·
维护者通常 2 天内回复
-
[Bug]: opencode_go chat route drops reasoning_effort (even 'none'), while the same endpoint honors it via custom_llm_provider=openai可能已有人在做 @arvindkumar-ship-it 今天认领。 未关闭llm translation
难度 2/5 1-3 小时 新手友好度 70/100
BerriAI/litellm#51871 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
PolicyEngine backdates South Carolina’s EITC into 2015–2017可能已有人在做 @MaxGhenis 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
PolicyEngine/policyengine-us#10944 ·
维护者通常 2 天内回复
-
fix(frontend): resolve SSE parser crash on unhandled Ref methods and undefined actions identifier未关闭bug
难度 2/5 1-3 小时 新手友好度 75/100
kodokbakar/MiroFish-Local#94 ·
维护者通常 1 天内回复