Clarify and harden cleanroom rules around reference executable instrumentation
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 45/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- docker
调研方向
从当前的 ProgramBench 和 mini-SWE-agent 指令以及 issue 中描述的推荐 Docker 设置开始。将明确允许的黑盒探测与对环境、loader、进程状态和文件系统的插桩进行比较,然后确定文档化的 cleanroom 边界是否足够,或者是否需要一个隔离的结构化 oracle harness。规则以及(如果继续实施)harness 的行为明确且可复现,即视为完成。
由索引模型根据 Issue 内容生成。
描述
Hi ProgramBench team, thanks for releasing the benchmark.
I wanted to ask for clarification about the intended cleanroom boundary for the provided reference executable during inference.
The current ProgramBench / mini-SWE-agent instructions are very clear that agents should infer behavior only by running the provided executable and reading bundled documentation. The default ProgramBench config also disallows internet access (--network none), runs as a non-root user, and drops SYS_PTRACE. The prompt explicitly forbids source lookup, wrapping/reusing the original binary, decompilation/disassembly, and strace/ltrace or similar instrumentation.
My question is whether the following should also be explicitly considered cleanroom violations, which I have observed during inference of my tested model:
- executing the reference with a polluted environment, e.g.
PATH=/tmp:$PATH ./executable ...to make it call agent-written fake dependencies - using loader instrumentation such as
LD_PRELOAD,LD_LIBRARY_PATH, or dynamic linker tricks against./executable - inspecting runtime process state via
/proc/$pid/{maps,fd,environ,cmdline}or core/memory dumps - changing cwd/tmp/config files specifically to observe implementation-level effects rather than normal public CLI behavior
These are different from normal allowed black-box probing, such as running ./executable --help, passing inputs, and observing stdout/stderr/exit codes/filesystem side effects.
The current recommended Docker setup appears to run the agent and the reference executable in the same container. This blocks important classes of abuse (--network none, non-root user, SYS_PTRACE dropped), but it does not fully isolate the true reference executable from agent-controlled environment variables, writable /tmp/workspace state, PATH/cwd pollution, or same-container process observation.
Would you consider either:
- documenting the above behaviors explicitly as disallowed instrumentation/wrapping of the oracle, and/or
- adding an optional hardened inference harness where the true reference executable runs behind a separate sanitized oracle process/container, with the agent only able to issue structured black-box execution requests?
This is not intended as a security vulnerability report. It is a benchmark semantics / reproducibility question: the goal is to ensure scores measure behavioral inference from the public interface, not implementation-level oracle instrumentation.
- 主要语言
- Python
- 星标
- 928
- 派生
- 67
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
facebookresearch/ProgramBench 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 68/100
-
难度 4/5 3-5 天 新手友好度 55/100
-
难度 4/5 3-5 天 新手友好度 35/100
-
难度 4/5 3-5 天 新手友好度 48/100
-
难度 4/5 3-5 天 新手友好度 58/100
查看 facebookresearch/ProgramBench 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 75/100
xinnan-tech/xiaozhi-fde-talk#263 ·
-
rules
难度 1/5 1 小时以内 新手友好度 90/100
-
难度 2/5 1-3 小时 新手友好度 70/100
huggingface/Repo2RLEnv#163 · 1 条评论 ·
-
难度 1/5 1 小时以内 新手友好度 95/100
huggingface/sentence-transformers#4074 ·
-
comp/dashboard invalid P3
难度 2/5 1-3 小时 新手友好度 70/100
NousResearch/hermes-agent#121143 ·