classifier: occasional UNSAFE on benign odd shapes (bun -e embedded text; verdict contradicting its own SAFE reasoning)

Open
#17 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Active
Tech stack
bun, nodejs, typescript
Domain
cli, security

Research direction

Reproduce the two listed probes and inspect INLINE_CODE_INTERPRETERS plus the parser and overlay paths. Done requires choosing among interpreter scoping, verdict/reason reconciliation, or accepting the behavior as noise, then verifying the benign commands no longer prompt if a fix is selected.

Written by the indexing model from the issue text.

Description

This issue was generated by AI during post-fix verification.

Residual classifier over-flagging after the 2026-08-26/27 fix chain

All systematic over-prompting bugs from this week are fixed (fb2e5a9, a4614e7: VERDICT-prefix parsing, inline-code scoping, credential-material scoping, gh/tag carve-outs) and verified live. Two residual classes remain, both model-variance rather than systematic:

  1. Reasoning/verdict mismatch. The model sometimes answers UNSAFE while its own reason resolves to SAFE. Log example (pid 79753, 2026-08-27T09:42:46):

    verdict=UNSAFE reason="Reading logs is safe, but exfiltrates local data via grep/cut? No remote endpoint; resolve to SAFE."
    cmd="L=/Users/samuelreed/.omp/logs/...; grep -c ..."
    
  2. bun -e with embedded command text flagged. Probes like bun -e ' const mod = await import("./index.ts"); ...' got UNSAFE — executes local script via bun, importing and running code (2026-08-27T10:08, 10:16). bun is not in INLINE_CODE_INTERPRETERS, so the overlay cannot flag it consistently — the verdict is pure model judgment, and embedding command text (test probes that quote log lines) tips it.

Both prompt dialogs for legitimate local-only work. Volume is low (2 of ~20 commands in the verification session). Candidate directions if this keeps biting: (a) add bun/node/tsx to INLINE_CODE_INTERPRETERS with the same obfuscation-marker scoping, (b) teach the parser to reconcile a reason that resolves to the opposite verdict, or (c) accept as known noise. Filing so the shape is discoverable without re-deriving this session.

Dominant language
TypeScript
Stars
0
Forks
1
Avg merge
1h 20m
Merged PRs (30d)
32

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from STRML/omp-classifier

All issues in STRML/omp-classifier

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.