Skip to content

fix(data): 修正 #6 优先 n8n 样本的入口与关键操作语义 - #81

Open
cgflag wants to merge 6 commits into
Tencent:mainfrom
cgflag:feat/issue-6-n8n-semantics
Open

fix(data): 修正 #6 优先 n8n 样本的入口与关键操作语义#81
cgflag wants to merge 6 commits into
Tencent:mainfrom
cgflag:feat/issue-6-n8n-semantics

Conversation

@cgflag

@cgflag cgflag commented Jul 30, 2026

Copy link
Copy Markdown

关联 Issue

Fixes #6

做了什么

#6 要求,对官方优先的 6 条 n8n 样本重确认 entry_point / critical_operation / trace,对照各 entry 的 vuln commit(并参考修复补丁)。已更新 data/entries.jsonl 中这 6 行。verify 仍为 0

#6 交付/验收的对应

Issue 要求 本 PR
修正后的 {file, line, code, desc} data/entries.jsonl;另有 tools/semantic_rebuild/out/entries.fixed.jsonl
每条:原问题、位置、为何选/不选 entry-*/DECISION.mdCANDIDATES.md
便于 review 的 diff out/semantic_diff.csv
节点能在对应 commit 源码中对上 python tools/semantic_rebuild/run_all.py(只做行号/code 对齐)
entry 体现输入如何进入;critical 非包装/静态/} 见下表
满足 SCHEMA 字段形态未改;verify 保持 0

逐条摘要

entry 原问题 现在
00099 critical 在 PrototypeSanitizer 定义;entry 仅 @Post entry:executeManually(req.body, …);critical:evaluateExpression(sanitizer 缺口留在 trace,见 CRITICAL_RULE.md
00100 critical 在 sanitizer 函数体 critical 同 00099
00103 entry 标在 } entry:setResponseHeaders;critical 仍为缺 trim(补丁 553b24458e
00176 critical 在静态 BLOCKED_ATTRIBUTES = { critical:node.attr in BLOCKED_ATTRIBUTES
00511 「选出 Function」与 .apply 易混 critical:无检查 native 返回 82-84;修复 1acdafe6ac 在入口拦名字,未改 .apply
00512 entry/desc 偏弱 entry:vmEvaluator.evaluate;critical:可写 __sanitize(与修复同行)

critical 选取规则:tools/semantic_rebuild/CRITICAL_RULE.md(优先补丁落点;仅 00099/00100 因 #6 不认可 RCE critical 落 sanitizer 钩子而退到执行出口)。

如何检查

python tools/semantic_rebuild/run_all.py

检查格式,以及引用的 code 是否与 checkout 一致。不能证明语义选择一定正确。

说明

  • 更细的修复说明:tools/semantic_rebuild/out/NOTES.md
  • verify 故意保持 0(见 VERIFY_POLICY.md);若维护者认可,再 bump 即可

cgflag and others added 6 commits July 30, 2026 05:54
Deliver three verified entry fixes (00099/00100/00176) with decision notes,
code-level verify scripts, and fixed JSONL fragment without bumping verify.

Co-authored-by: Cursor <cursoragent@cursor.com>
Rewrite NOTES/PR body/decisions in plain language, shorten node descs,
and state clearly that only 3 of 6 priority entries are delivered.

Co-authored-by: Cursor <cursoragent@cursor.com>
Cover all six official priority entries (00103/511/512 added), with
source-aligned nodes, plain-language notes, and verify left at 0.

Co-authored-by: Cursor <cursoragent@cursor.com>
Retarget entry/critical/trace for 00099, 00100, 00103, 00176, 00511,
and 00512; write the rows into data/entries.jsonl. Add per-entry
candidates and patch notes, CRITICAL_RULE / VERIFY_POLICY, and a
run_all check for code alignment. Keep verify=0.

Co-authored-by: Cursor <cursoragent@cursor.com>
Match Tencent#6 deliverable checklist; keep the wording plain for review.

Co-authored-by: Cursor <cursoragent@cursor.com>
Reject path traversal in verify/lint and validate git refs/paths before materialize, then re-trigger the opensource security scan gate.
@cgflag

cgflag commented Aug 1, 2026

Copy link
Copy Markdown
Author

CI follow-up (CodeCC null + path hardening)

GITHUB_OPENSOURCE_SCAN_PIPELINE previously failed with CodeCC quality gate reporting 「安全漏洞严重问题数」= null (contrast: sibling PR #61 reports 0). That usually means the scan job aborted / returned no metric rather than a confirmed High finding; local bandit -ll on this branch also showed no High issues.

Still hardened the rebuild tooling that shells out / reads repo paths:

  • verify_nodes.resolve_repo_file: reject .., absolute, and out-of-repo escapes
  • run_verify_batch.materialize: hex-only commit + refuse unsafe paths before git show
  • lint_semantics: reject .. in file fields

Please re-run / wait for GITHUB_OPENSOURCE_SCAN_PIPELINE on c1d18b5. If CodeCC still returns null, this is likely an infra flaky on the fork PR rather than a remaining code High.

@cgflag

cgflag commented Aug 1, 2026

Copy link
Copy Markdown
Author

Scan re-check

GITHUB_OPENSOURCE_SCAN_PIPELINE on tip c1d18b5 is now pass (CodeCC no longer returning null on the prior fail). Path/input hardening from that tip remains in place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

【2026犀牛鸟】修正 n8n 沙箱逃逸样本的入口点和关键操作语义

1 participant