safishamsi and Claude Opus 4.8
8595749021
security(skillgen): neutralize the --watch INPUT_PATH sink in add-watch reference
...
Completes #3742 : the Step 1 fix closed the .graphify_root shell line, but
the progressive-disclosure add-watch reference still passed the raw,
agent-substituted INPUT_PATH placeholder unquoted into a bash command
($(cat .graphify_python) -m graphify.watch INPUT_PATH), the same
injection class - a scan root like $(...) / ; rm ... would execute.
The watcher targets the folder graphify already extracted, so read the
trusted graphify-out/.graphify_root that Step 1 resolves (the same
sidecar pattern this reference already uses for .graphify_python)
instead of re-substituting the untrusted placeholder. Regenerated all
14 host add-watch artifacts + expected/ snapshots; monolith-roundtrip
and always-on-roundtrip stay green (cores untouched).
The identical sink in the aider/devin monolith cores is tracked
separately (editing a core requires a gen.py sanctioned-diff).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-09-25 16:07:51 +01:00
..
2026-06-29 10:01:06 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-09-25 16:01:53 +01:00
2026-08-05 22:08:29 +01:00
2026-09-25 16:01:53 +01:00
2026-09-25 16:01:53 +01:00
2026-09-25 16:01:53 +01:00
2026-09-25 16:01:53 +01:00
2026-08-05 22:08:29 +01:00
2026-09-25 16:01:53 +01:00
2026-09-25 16:01:53 +01:00
2026-09-25 16:01:53 +01:00
2026-09-25 16:01:53 +01:00
2026-09-25 16:01:53 +01:00
2026-09-25 16:01:53 +01:00
2026-09-25 16:01:53 +01:00
2026-09-25 16:01:53 +01:00
2026-09-25 16:01:53 +01:00
2026-09-25 16:07:51 +01:00
2026-06-23 17:26:49 +01:00
2026-06-28 16:57:00 +01:00
2026-06-23 17:26:49 +01:00
2026-06-23 17:26:49 +01:00
2026-07-03 11:37:22 +01:00
2026-06-23 17:26:49 +01:00
2026-07-20 13:30:26 +01:00
2026-09-25 16:07:51 +01:00
2026-06-19 15:37:11 +01:00
2026-06-28 16:57:00 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-07-03 11:37:22 +01:00
2026-06-19 15:37:11 +01:00
2026-07-20 13:30:26 +01:00
2026-09-25 16:07:51 +01:00
2026-06-19 15:37:11 +01:00
2026-06-28 16:57:00 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-07-03 11:37:22 +01:00
2026-06-19 15:37:11 +01:00
2026-07-20 13:30:26 +01:00
2026-09-25 16:07:51 +01:00
2026-06-19 15:37:11 +01:00
2026-06-28 16:57:00 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-07-03 11:37:22 +01:00
2026-06-19 15:37:11 +01:00
2026-07-20 13:30:26 +01:00
2026-09-25 16:07:51 +01:00
2026-06-19 15:37:11 +01:00
2026-06-28 16:57:00 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-07-03 11:37:22 +01:00
2026-06-19 15:37:11 +01:00
2026-07-20 13:30:26 +01:00
2026-09-25 16:07:51 +01:00
2026-06-19 15:37:11 +01:00
2026-06-28 16:57:00 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-07-03 11:37:22 +01:00
2026-06-19 15:37:11 +01:00
2026-07-20 13:30:26 +01:00
2026-09-25 16:07:51 +01:00
2026-06-19 15:37:11 +01:00
2026-06-28 16:57:00 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-07-03 11:37:22 +01:00
2026-06-19 15:37:11 +01:00
2026-07-20 13:30:26 +01:00
2026-09-25 16:07:51 +01:00
2026-06-19 15:37:11 +01:00
2026-06-28 16:57:00 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-07-03 11:37:22 +01:00
2026-06-19 15:37:11 +01:00
2026-07-20 13:30:26 +01:00
2026-09-25 16:07:51 +01:00
2026-06-19 15:37:11 +01:00
2026-06-28 16:57:00 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-07-03 11:37:22 +01:00
2026-06-19 15:37:11 +01:00
2026-07-20 13:30:26 +01:00
2026-09-25 16:07:51 +01:00
2026-06-19 15:37:11 +01:00
2026-06-28 16:57:00 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-07-03 11:37:22 +01:00
2026-06-19 15:37:11 +01:00
2026-07-20 13:30:26 +01:00
2026-09-25 16:07:51 +01:00
2026-06-19 15:37:11 +01:00
2026-06-28 16:57:00 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-07-03 11:37:22 +01:00
2026-06-19 15:37:11 +01:00
2026-07-20 13:30:26 +01:00
2026-09-25 16:07:51 +01:00
2026-06-19 15:37:11 +01:00
2026-06-28 16:57:00 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-07-03 11:37:22 +01:00
2026-06-19 15:37:11 +01:00
2026-07-20 13:30:26 +01:00
2026-09-25 16:07:51 +01:00
2026-06-19 15:37:11 +01:00
2026-06-28 16:57:00 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-07-03 11:37:22 +01:00
2026-06-19 15:37:11 +01:00
2026-07-20 13:30:26 +01:00
2026-09-25 16:07:51 +01:00
2026-06-19 15:37:11 +01:00
2026-06-28 16:57:00 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-07-03 11:37:22 +01:00
2026-06-19 15:37:11 +01:00
2026-07-20 13:30:26 +01:00