Commit Graph

8 Commits

Author SHA1 Message Date
qcq01083097 fa3d3a6905 feat: Unify the text format of flag default values 2026-06-04 17:40:22 +08:00
qcq01083097 ea37be0e30 feat: Add illegal flag verification 2026-06-04 17:36:47 +08:00
mamba 14371a0647 Merge pull request #5 from lhfer/claude/busy-noether-Rjbaz
security: harden credential handling, pipeline JS execution, and the HTTP/stream layer
2026-06-03 15:06:26 +08:00
Claude bb9f941849 fix(security): require script/js code to be a literal (block untrusted-code RCE)
script/js executes its `code` as host JavaScript (via new Function), and a step's
`code` is a *resolved* input — so it could be written as `{ $from: <chat-step> }`,
turning model/API output into the body of the executed function (untrusted data
-> arbitrary host code execution). Pipeline validation now requires script/js
`code` to be a literal string: any $from/expression-sourced code is rejected.

Authoring a literal script/js step remains supported (the pipeline file is the
trust boundary, like a shell/npm script). Combined with "dry-run never executes
$js", this closes the path where untrusted text reaches the JS sink.

Adds regression tests: $from-sourced code rejected, literal code accepted,
dry-run does not execute $js, getByJsonPointer blocks prototype/inherited keys,
and concurrency clamps to the maximum.

https://claude.ai/code/session_017ZGQCjwNQF5Pz96gLUnnG1
2026-05-29 12:44:48 +00:00
clh02467605 208b1ce459 feat(cli): update the default vision model to qwen3-vl-plus 2026-05-29 17:50:07 +08:00
clh02467605 27494cfd1b refactor(stress): simplify target definitions and enhance trace ID handling 2026-05-29 14:49:36 +08:00
若麒 896eee64c5 chore(cli): drop scene from the package 2026-05-28 18:48:58 +08:00
若麒 1533e2013e Initial commit 2026-05-28 18:37:07 +08:00