Flag context-padding scan evasion#2490
Conversation
|
@vyctorbrzezowski is attempting to deploy a commit to the Amantus Machina Team on Vercel. A member of the Team first needs to authorize it. |
|
Codex review: needs real behavior proof before merge. Reviewed June 18, 2026, 4:15 PM ET / 20:15 UTC. Summary Reproducibility: yes. for source-level behavior: current main has no context-padding detector, while the PR body includes copied static scan output and tests for padded artifacts. I did not run tests because this is a read-only review. Review metrics: 3 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Rebase the detector onto current main so context-padding evidence feeds the existing full ClawScan pipeline through the Node wrapper, then have maintainers explicitly approve or reject any padding-only installability exception. Do we have a high-confidence way to reproduce the issue? Yes for source-level behavior: current main has no context-padding detector, while the PR body includes copied static scan output and tests for padded artifacts. I did not run tests because this is a read-only review. Is this the best way to solve the issue? No, not yet: the detector is plausible, but the PR must be repaired so it feeds current main's full GitHub ClawScan pipeline and preserves the Node wrapper. The padding-only clean-install exception also needs explicit maintainer acceptance or removal. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 22d3cd133cb6. Label changesLabel changes:
Label justifications:
Evidence reviewedSecurity concerns:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
@clawsweeper re-review Added redacted |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
c08969e to
63fe7fd
Compare
463c299 to
1245c11
Compare
Summary
This PR adds a deterministic static scan signal for extreme context padding in skill artifacts.
Scenario this protects
If someone uploads a
SKILL.mdwith normal-looking instructions near the top, then a very large whitespace gap, then important behavior after the gap, context-limited previews or model review may focus on the beginning and miss the later content.ClawHub's static scan already reads the full text file. This PR teaches that deterministic layer to notice the evasive layout itself.
What changed
suspicious.context_padding_truncationas a static scan reason code.What maintainers should expect
A padded artifact can now produce a clear static finding that points reviewers and ClawScan to the evasion pattern. Ordinary markdown spacing should not be affected.
This does not change uploader bans, hide/unhide behavior, or final moderation policy by itself. It adds a signal the rest of the scan pipeline can use.
Validation
bunx vitest run convex/lib/moderationEngine.test.ts --reporter=verbose(88 passed)bun run ci:staticbun run ci:unit(2,667 passed)bun run ci:types-buildgit diff --check upstream/main...HEADBehavior proof
Copied output from executing
runStaticPublishScanagainst a redacted uploadedSKILL.mdfixture with 2,500 blank lines before later content:{ "status": "suspicious", "reasonCodes": [ "suspicious.context_padding_truncation" ], "findings": [ { "code": "suspicious.context_padding_truncation", "severity": "warn", "file": "SKILL.md", "line": 2, "message": "Extreme context padding hides later artifact content from context-limited review.", "evidence": "2500 consecutive blank/whitespace-only lines before later artifact content; content resumes at line 2502." } ] }