@miller-tech/uap 1.215.1 → 1.216.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/benchmarks/paired/adapter.d.ts.map +1 -1
- package/dist/benchmarks/paired/adapter.js +24 -3
- package/dist/benchmarks/paired/adapter.js.map +1 -1
- package/dist/benchmarks/paired/runner.d.ts.map +1 -1
- package/dist/benchmarks/paired/runner.js +14 -2
- package/dist/benchmarks/paired/runner.js.map +1 -1
- package/dist/benchmarks/paired/types.d.ts +65 -0
- package/dist/benchmarks/paired/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/src/policies/enforcers/enforcement_self_protect.py +45 -0
- package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
- package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
- package/tools/agents/tests/test_conditional_destructive_verbs.py +156 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/paired/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/paired/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -526,6 +526,11 @@ export class RawCompletionAdapter {
|
|
|
526
526
|
// confounded by that; the vs-baseline win is unaffected.)
|
|
527
527
|
const maxIters = useGate ? this.maxGateIters : 1;
|
|
528
528
|
let lastGateOut = null;
|
|
529
|
+
// Per-turn attribution. Every field below is already computed by this loop
|
|
530
|
+
// for the human log; keeping the structure is what makes wasted work
|
|
531
|
+
// attributable after the fact instead of only visible in aggregate.
|
|
532
|
+
const turnTrace = [];
|
|
533
|
+
let stopReason;
|
|
529
534
|
for (let iter = 0; iter < maxIters; iter++) {
|
|
530
535
|
const bare = lazy && iter === 0;
|
|
531
536
|
const messages = buildMessages(bare, lastGateOut);
|
|
@@ -534,6 +539,11 @@ export class RawCompletionAdapter {
|
|
|
534
539
|
totalTokens += chat.tokens;
|
|
535
540
|
if (chat.error) {
|
|
536
541
|
error = chat.error;
|
|
542
|
+
// Recorded BEFORE the break: a turn that errored still happened, and a
|
|
543
|
+
// trace that silently omits it makes the turn count disagree with the
|
|
544
|
+
// trace length for no visible reason.
|
|
545
|
+
turnTrace.push({ turn: turns, files: 0, gateOk: null, truncated: chat.truncated, finishReason: chat.finishReason ?? undefined });
|
|
546
|
+
stopReason = 'error';
|
|
537
547
|
break;
|
|
538
548
|
}
|
|
539
549
|
const blocks = parseFileBlocks(chat.content);
|
|
@@ -548,8 +558,11 @@ export class RawCompletionAdapter {
|
|
|
548
558
|
logParts.push(`--- turn ${turns}: ${blocks.length} file(s)` +
|
|
549
559
|
(chat.truncated ? ' [TRUNCATED: budget exhausted before any answer]' : '') +
|
|
550
560
|
` finish=${chat.finishReason ?? 'n/a'} ---`);
|
|
551
|
-
if (!useGate)
|
|
561
|
+
if (!useGate) {
|
|
562
|
+
turnTrace.push({ turn: turns, files: blocks.length, gateOk: null, truncated: chat.truncated, finishReason: chat.finishReason ?? undefined });
|
|
563
|
+
stopReason = 'no-gate';
|
|
552
564
|
break;
|
|
565
|
+
}
|
|
553
566
|
const gate = spawnSync('bash', ['-lc', ctx.task.gateCmd], {
|
|
554
567
|
cwd: ctx.workdir,
|
|
555
568
|
encoding: 'utf-8',
|
|
@@ -557,16 +570,24 @@ export class RawCompletionAdapter {
|
|
|
557
570
|
env: sanitizedEnv(),
|
|
558
571
|
});
|
|
559
572
|
gateRuns++;
|
|
560
|
-
|
|
573
|
+
const gateOk = gate.status === 0;
|
|
574
|
+
turnTrace.push({ turn: turns, files: blocks.length, gateOk, truncated: chat.truncated, finishReason: chat.finishReason ?? undefined });
|
|
575
|
+
if (gateOk) {
|
|
576
|
+
stopReason = 'solved';
|
|
561
577
|
break;
|
|
562
|
-
|
|
578
|
+
}
|
|
579
|
+
if (iter === maxIters - 1) {
|
|
580
|
+
stopReason = 'budget';
|
|
563
581
|
break; // out of budget
|
|
582
|
+
}
|
|
564
583
|
lastGateOut = `${gate.stdout ?? ''}\n${gate.stderr ?? ''}`.slice(-2000);
|
|
565
584
|
}
|
|
566
585
|
return {
|
|
567
586
|
tokens: totalTokens > 0 ? totalTokens : null,
|
|
568
587
|
costUsd: null,
|
|
569
588
|
turns,
|
|
589
|
+
turnTrace,
|
|
590
|
+
stopReason,
|
|
570
591
|
toolCalls: useGate ? gateRuns : 0,
|
|
571
592
|
wellFormed: null,
|
|
572
593
|
error,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/benchmarks/paired/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/benchmarks/paired/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/paired/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAAgB,SAAS,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/paired/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAAgB,SAAS,EAAE,YAAY,EAA8C,MAAM,YAAY,CAAC;AAQ/G,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,YAAY,CAAC,CAoCvB"}
|
|
@@ -112,7 +112,13 @@ async function executeCell(cell, cfg, suiteDir) {
|
|
|
112
112
|
wellFormed: agent.wellFormed,
|
|
113
113
|
error: verifyErr,
|
|
114
114
|
};
|
|
115
|
-
|
|
115
|
+
// Carry the adapter's per-turn attribution through the runner boundary.
|
|
116
|
+
// This is exactly where it used to be dropped: the aggregate survived and
|
|
117
|
+
// the explanation did not.
|
|
118
|
+
return record(cell, cfg, metrics, {
|
|
119
|
+
turnTrace: agent.turnTrace,
|
|
120
|
+
stopReason: agent.stopReason,
|
|
121
|
+
});
|
|
116
122
|
}
|
|
117
123
|
finally {
|
|
118
124
|
// The cell is settled — its scratch copy has no further purpose (every
|
|
@@ -128,12 +134,18 @@ async function executeCell(cell, cfg, suiteDir) {
|
|
|
128
134
|
}
|
|
129
135
|
}
|
|
130
136
|
}
|
|
131
|
-
function record(cell, cfg, metrics) {
|
|
137
|
+
function record(cell, cfg, metrics, attribution) {
|
|
138
|
+
// Omit the key entirely when the adapter produced nothing, rather than
|
|
139
|
+
// writing `attribution: {}`. An empty object in every subprocess-adapter
|
|
140
|
+
// record reads as "the loop reported no turns", when the truth is that this
|
|
141
|
+
// adapter cannot observe them at all.
|
|
142
|
+
const hasAttribution = attribution && (attribution.turnTrace?.length || attribution.stopReason);
|
|
132
143
|
return {
|
|
133
144
|
taskId: cell.task.id,
|
|
134
145
|
condition: cell.condition.label,
|
|
135
146
|
seed: cell.seed,
|
|
136
147
|
metrics,
|
|
148
|
+
...(hasAttribution ? { attribution } : {}),
|
|
137
149
|
adapter: cfg.adapter.id,
|
|
138
150
|
model: cfg.model,
|
|
139
151
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/benchmarks/paired/runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/benchmarks/paired/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -205,6 +205,19 @@ export interface RunRecord {
|
|
|
205
205
|
/** Seed/epoch index — same value pairs runs across conditions for analysis. */
|
|
206
206
|
seed: number;
|
|
207
207
|
metrics: MetricVector;
|
|
208
|
+
/**
|
|
209
|
+
* Per-turn attribution for this cell, when the adapter drove the loop.
|
|
210
|
+
*
|
|
211
|
+
* A SIBLING of `metrics`, deliberately not a member of it: `MetricVector` is
|
|
212
|
+
* the zod-validated numeric vector that `CONTINUOUS_METRICS` drives the
|
|
213
|
+
* paired-delta analysis from, and a trace array is neither continuous nor
|
|
214
|
+
* differenceable. Putting it here keeps the statistics untouched while the
|
|
215
|
+
* record still carries the evidence for why a delta looks the way it does.
|
|
216
|
+
*/
|
|
217
|
+
attribution?: {
|
|
218
|
+
turnTrace?: TurnTrace[];
|
|
219
|
+
stopReason?: StopReason;
|
|
220
|
+
};
|
|
208
221
|
/** Adapter that produced this run (e.g. 'mock', 'opencode', 'claude'). */
|
|
209
222
|
adapter: string;
|
|
210
223
|
/** Model identifier the adapter ran against. */
|
|
@@ -221,6 +234,49 @@ export interface RunRecord {
|
|
|
221
234
|
* command is applied. `correct` is filled in by the runner from the verify
|
|
222
235
|
* command, so adapters return everything *except* correctness.
|
|
223
236
|
*/
|
|
237
|
+
/**
|
|
238
|
+
* What one turn actually did — the record that makes wasted work ATTRIBUTABLE.
|
|
239
|
+
*
|
|
240
|
+
* The raw adapter already computes every field here inside its loop and folds
|
|
241
|
+
* them into a human log line, then drops the structure at the runner boundary.
|
|
242
|
+
* That is why an aggregate like "a large share of cells burned the whole turn
|
|
243
|
+
* budget and solved nothing" could be SEEN but never explained: answering "did
|
|
244
|
+
* they write files and fail the gate, or never produce a parseable answer at
|
|
245
|
+
* all?" meant re-reading prose logs by hand, per cell.
|
|
246
|
+
*
|
|
247
|
+
* `finishReason` and `truncated` are carried for a specific measured reason: a
|
|
248
|
+
* run whose completions came back empty was diagnosed as a prompt-format
|
|
249
|
+
* problem and chased in the wrong direction for a while, when the cause was
|
|
250
|
+
* `finish_reason=length` — the budget running out mid-reasoning. Those two
|
|
251
|
+
* fields are what separate "answered badly" from "never answered".
|
|
252
|
+
*/
|
|
253
|
+
export interface TurnTrace {
|
|
254
|
+
/** 1-based turn number within the run. */
|
|
255
|
+
turn: number;
|
|
256
|
+
/** Files the model actually wrote this turn (parsed file blocks applied). */
|
|
257
|
+
files: number;
|
|
258
|
+
/** Did the gate pass after this turn? `null` when no gate ran. */
|
|
259
|
+
gateOk: boolean | null;
|
|
260
|
+
/** The completion was cut off before it finished answering. */
|
|
261
|
+
truncated?: boolean;
|
|
262
|
+
/** Provider-reported finish reason, when there was one. */
|
|
263
|
+
finishReason?: string;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Why the agent loop stopped — the field that makes futility measurable.
|
|
267
|
+
*
|
|
268
|
+
* Without it, "solved on the last turn" and "ran out of turns" are the same row
|
|
269
|
+
* once the gate result is aggregated away.
|
|
270
|
+
*/
|
|
271
|
+
export type StopReason =
|
|
272
|
+
/** The gate passed. */
|
|
273
|
+
'solved'
|
|
274
|
+
/** Ran out of the iteration budget without passing. */
|
|
275
|
+
| 'budget'
|
|
276
|
+
/** The completion errored; the loop could not continue. */
|
|
277
|
+
| 'error'
|
|
278
|
+
/** No gate was configured, so one turn is the whole run. */
|
|
279
|
+
| 'no-gate';
|
|
224
280
|
export interface AgentRunResult {
|
|
225
281
|
tokens: number | null;
|
|
226
282
|
costUsd: number | null;
|
|
@@ -230,6 +286,15 @@ export interface AgentRunResult {
|
|
|
230
286
|
error: string | null;
|
|
231
287
|
/** Raw stdout/log for debugging and post-hoc audit (HAL-style log inspection). */
|
|
232
288
|
rawLog?: string;
|
|
289
|
+
/**
|
|
290
|
+
* Per-turn attribution, when the adapter drives the loop itself and can
|
|
291
|
+
* therefore see it. Absent for subprocess adapters, which only ever learn an
|
|
292
|
+
* aggregate turn count from the agent they spawn — absent means "not
|
|
293
|
+
* observable here", never "nothing happened".
|
|
294
|
+
*/
|
|
295
|
+
turnTrace?: TurnTrace[];
|
|
296
|
+
/** Why the loop stopped, when the adapter drives it. */
|
|
297
|
+
stopReason?: StopReason;
|
|
233
298
|
}
|
|
234
299
|
export interface AgentRunContext {
|
|
235
300
|
task: TaskSpec;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/paired/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/paired/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miller-tech/uap",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.216.0",
|
|
4
4
|
"description": "Autonomous AI agent memory system with CLAUDE.md protocol enforcement",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"start": "node dist/bin/cli.js",
|
|
22
22
|
"test": "vitest",
|
|
23
23
|
"test:ci": "vitest run",
|
|
24
|
-
"test:enforcers": "UAP_PROXY_ENV_AUTOLOAD=0 python3 -m unittest tools.agents.tests.test_enforcement_self_protect tools.agents.tests.test_live_deliver_kill tools.agents.tests.test_schema_diff_gate tools.agents.tests.test_schema_diff_inline tools.agents.tests.test_stream_telemetry tools.agents.tests.test_project_telemetry_events tools.agents.tests.test_workdir_scope_enforcer tools.agents.tests.test_gate_evidence tools.agents.tests.test_repeat_call_guard tools.agents.tests.test_gate_integrity tools.agents.tests.test_gate_failclosed_indirection tools.agents.tests.test_gate_failclosed_schema_diff tools.agents.tests.test_rtk_wrap tools.agents.tests.test_expert_review_pr_scope tools.agents.tests.test_path_containment tools.agents.tests.test_path_normalizer_hardened tools.agents.tests.test_sandbox_tool_strip tools.agents.tests.test_proxy_env_loader tools.agents.tests.test_stream_required_tool tools.agents.tests.test_tool_call_wrapper_profiles tools.agents.tests.test_tool_convert_cache tools.agents.tests.test_doubling_break tools.agents.tests.test_error_loop_ignores_correctives tools.agents.tests.test_attractor_detection tools.agents.tests.test_client_disconnect tools.agents.tests.test_confidence_escalation tools.agents.tests.test_coordination_ban tools.agents.tests.test_coordination_early_ban tools.agents.tests.test_cycle_break_exploration tools.agents.tests.test_deferral_break tools.agents.tests.test_deliver_autoroute tools.agents.tests.test_delivery_enforcement_all_langs tools.agents.tests.test_delivery_enforcement_exemptions tools.agents.tests.test_delivery_enforcement_filepath tools.agents.tests.test_delivery_enforcement_write_complexity tools.agents.tests.test_fastpath_config tools.agents.tests.test_delivery_enforcement_web_and_bash tools.agents.tests.test_disconnect_watcher tools.agents.tests.test_empty_maxtokens_recovery tools.agents.tests.test_empty_tool_loop_break tools.agents.tests.test_enforcer_escape_hatches tools.agents.tests.test_error_loop_break tools.agents.tests.test_finalize_suppression tools.agents.tests.test_malformed_unclosed_think tools.agents.tests.test_mandate_beats_recon tools.agents.tests.test_mandate_deliver tools.agents.tests.test_overflow_truncate_count_tokens tools.agents.tests.test_passthrough_oauth tools.agents.tests.test_project_telemetry tools.agents.tests.test_proxy_auth_headers tools.agents.tests.test_prune_preserve_force_write tools.agents.tests.test_recon_deliver_gate tools.agents.tests.test_session_admission tools.agents.tests.test_stream_heartbeat tools.agents.tests.test_stuck_break_reattach tools.agents.tests.test_turn_count_breaker_periodic tools.agents.tests.test_upstream_chokepoint tools.agents.tests.test_vision_passthrough tools.agents.tests.test_worktree_required tools.agents.tests.test_enforcer_suite_coverage tools.agents.tests.test_validate_plan_gate tools.agents.tests.test_validate_plan_inside_project tools.agents.tests.test_anthropic_proxy_streaming tools.agents.tests.test_non_stream_resp_log tools.agents.tests.test_delivery_enforcement_worktree tools.agents.tests.test_output_token_ceilings tools.agents.tests.test_tool_narrowing_core tools.agents.tests.test_models_context_window tools.agents.tests.test_thinking_template_kwargs tools.agents.tests.test_cycle_break_wait_poll",
|
|
24
|
+
"test:enforcers": "UAP_PROXY_ENV_AUTOLOAD=0 python3 -m unittest tools.agents.tests.test_enforcement_self_protect tools.agents.tests.test_conditional_destructive_verbs tools.agents.tests.test_live_deliver_kill tools.agents.tests.test_schema_diff_gate tools.agents.tests.test_schema_diff_inline tools.agents.tests.test_stream_telemetry tools.agents.tests.test_project_telemetry_events tools.agents.tests.test_workdir_scope_enforcer tools.agents.tests.test_gate_evidence tools.agents.tests.test_repeat_call_guard tools.agents.tests.test_gate_integrity tools.agents.tests.test_gate_failclosed_indirection tools.agents.tests.test_gate_failclosed_schema_diff tools.agents.tests.test_rtk_wrap tools.agents.tests.test_expert_review_pr_scope tools.agents.tests.test_path_containment tools.agents.tests.test_path_normalizer_hardened tools.agents.tests.test_sandbox_tool_strip tools.agents.tests.test_proxy_env_loader tools.agents.tests.test_stream_required_tool tools.agents.tests.test_tool_call_wrapper_profiles tools.agents.tests.test_tool_convert_cache tools.agents.tests.test_doubling_break tools.agents.tests.test_error_loop_ignores_correctives tools.agents.tests.test_attractor_detection tools.agents.tests.test_client_disconnect tools.agents.tests.test_confidence_escalation tools.agents.tests.test_coordination_ban tools.agents.tests.test_coordination_early_ban tools.agents.tests.test_cycle_break_exploration tools.agents.tests.test_deferral_break tools.agents.tests.test_deliver_autoroute tools.agents.tests.test_delivery_enforcement_all_langs tools.agents.tests.test_delivery_enforcement_exemptions tools.agents.tests.test_delivery_enforcement_filepath tools.agents.tests.test_delivery_enforcement_write_complexity tools.agents.tests.test_fastpath_config tools.agents.tests.test_delivery_enforcement_web_and_bash tools.agents.tests.test_disconnect_watcher tools.agents.tests.test_empty_maxtokens_recovery tools.agents.tests.test_empty_tool_loop_break tools.agents.tests.test_enforcer_escape_hatches tools.agents.tests.test_error_loop_break tools.agents.tests.test_finalize_suppression tools.agents.tests.test_malformed_unclosed_think tools.agents.tests.test_mandate_beats_recon tools.agents.tests.test_mandate_deliver tools.agents.tests.test_overflow_truncate_count_tokens tools.agents.tests.test_passthrough_oauth tools.agents.tests.test_project_telemetry tools.agents.tests.test_proxy_auth_headers tools.agents.tests.test_prune_preserve_force_write tools.agents.tests.test_recon_deliver_gate tools.agents.tests.test_session_admission tools.agents.tests.test_stream_heartbeat tools.agents.tests.test_stuck_break_reattach tools.agents.tests.test_turn_count_breaker_periodic tools.agents.tests.test_upstream_chokepoint tools.agents.tests.test_vision_passthrough tools.agents.tests.test_worktree_required tools.agents.tests.test_enforcer_suite_coverage tools.agents.tests.test_validate_plan_gate tools.agents.tests.test_validate_plan_inside_project tools.agents.tests.test_anthropic_proxy_streaming tools.agents.tests.test_non_stream_resp_log tools.agents.tests.test_delivery_enforcement_worktree tools.agents.tests.test_output_token_ceilings tools.agents.tests.test_tool_narrowing_core tools.agents.tests.test_models_context_window tools.agents.tests.test_thinking_template_kwargs tools.agents.tests.test_cycle_break_wait_poll",
|
|
25
25
|
"test:coverage": "vitest --coverage",
|
|
26
26
|
"bench": "vitest --config vitest.bench.config.ts",
|
|
27
27
|
"lint": "eslint src --ext .ts",
|
|
Binary file
|
|
@@ -127,6 +127,48 @@ DESTRUCTIVE_VERBS = (
|
|
|
127
127
|
"dd", "cp", "tee", "install", "sed", "find", "ln",
|
|
128
128
|
)
|
|
129
129
|
|
|
130
|
+
|
|
131
|
+
# Verbs from that list that only mutate under a FLAG. Without one they are
|
|
132
|
+
# stdout filters, exactly like `awk` and `grep` -- which this enforcer already
|
|
133
|
+
# allows against a protected path, because READING one is not tampering.
|
|
134
|
+
#
|
|
135
|
+
# Measured on this enforcer (2026-08-20): of six read-only ways to inspect a
|
|
136
|
+
# protected file, five were refused -- `sed -n '1,5p'`, `sed 's/a/b/'`, the same
|
|
137
|
+
# piped to `wc`, `find <dir> -name '*.py'` and `find <dir> -type f` -- while
|
|
138
|
+
# `cat`, `grep`, `head`, `wc` and `awk` were allowed. Those refusals protected
|
|
139
|
+
# nothing and cost real work: in one session they blocked READING this file
|
|
140
|
+
# twice, blocked `cp <protected> /tmp/` (a read FROM a protected path), and
|
|
141
|
+
# blocked a `gh pr close --comment` whose comment text merely quoted a path.
|
|
142
|
+
#
|
|
143
|
+
# Each predicate answers one question -- "does THIS invocation write?" -- and
|
|
144
|
+
# fails CLOSED: an unrecognised short-flag cluster containing `i` counts as a
|
|
145
|
+
# write, and any -exec-family action counts as a write, because what it runs
|
|
146
|
+
# cannot be judged from the flag alone. A verb NOT listed here is unchanged:
|
|
147
|
+
# still unconditionally destructive.
|
|
148
|
+
def _sed_writes(tokens) -> bool:
|
|
149
|
+
"""GNU sed mutates only with -i / --in-place (optionally suffixed)."""
|
|
150
|
+
for t in tokens:
|
|
151
|
+
if t.startswith("--"):
|
|
152
|
+
if t.startswith("--in-place"):
|
|
153
|
+
return True
|
|
154
|
+
continue
|
|
155
|
+
if t.startswith("-") and len(t) > 1:
|
|
156
|
+
# Short-flag cluster: -i, -i.bak, -ni, -Ei all carry the write.
|
|
157
|
+
# Anything after the first '.' is the backup suffix, not flags.
|
|
158
|
+
if "i" in t[1:].split(".", 1)[0]:
|
|
159
|
+
return True
|
|
160
|
+
return False
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
def _find_writes(tokens) -> bool:
|
|
164
|
+
"""`find` mutates via -delete, an -exec-family action, or an -f* writer."""
|
|
165
|
+
mutating = {"-delete", "-exec", "-execdir", "-ok", "-okdir",
|
|
166
|
+
"-fprint", "-fprint0", "-fprintf", "-fls"}
|
|
167
|
+
return any(t in mutating for t in tokens)
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
CONDITIONAL_VERBS = {"sed": _sed_writes, "find": _find_writes}
|
|
171
|
+
|
|
130
172
|
# Paths inside a protected tree that the agent legitimately writes. Without
|
|
131
173
|
# these the enforcer deadlocks the workflows it exists to support: the
|
|
132
174
|
# expert-review gate REQUIRES writing .uap/reviews/<branch>.json, and the visual
|
|
@@ -518,6 +560,9 @@ def _direct_destructive(command: str) -> bool:
|
|
|
518
560
|
continue
|
|
519
561
|
elif verb not in DESTRUCTIVE_VERBS:
|
|
520
562
|
continue
|
|
563
|
+
# A conditionally-destructive verb without its write flag is a READ.
|
|
564
|
+
elif verb in CONDITIONAL_VERBS and not CONDITIONAL_VERBS[verb](tokens[1:]):
|
|
565
|
+
continue
|
|
521
566
|
if cd_into_protected or _mentions_protected(" ".join(tokens[1:])):
|
|
522
567
|
return True
|
|
523
568
|
return False
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"""`sed` and `find` are only destructive when a flag makes them write.
|
|
2
|
+
|
|
3
|
+
Both sit in DESTRUCTIVE_VERBS, but without a write flag they are stdout filters
|
|
4
|
+
-- exactly like `awk` and `grep`, which this enforcer already allows against a
|
|
5
|
+
protected path, because READING one is not tampering.
|
|
6
|
+
|
|
7
|
+
Measured before the fix (2026-08-20): of six read-only ways to inspect a
|
|
8
|
+
protected file, five were refused -- `sed -n '1,5p'`, `sed 's/a/b/'`, the same
|
|
9
|
+
piped to `wc`, `find <dir> -name '*.py'` and `find <dir> -type f`. Those refusals
|
|
10
|
+
protected nothing and cost real work: in one session they blocked READING the
|
|
11
|
+
enforcer twice, blocked `cp <protected> /tmp/` (a read FROM a protected path),
|
|
12
|
+
and blocked a `gh pr close --comment` whose comment text merely quoted a path.
|
|
13
|
+
|
|
14
|
+
The predicates fail CLOSED, so the second class below matters more than the
|
|
15
|
+
first: every way of making `sed` or `find` write must still be refused.
|
|
16
|
+
"""
|
|
17
|
+
import importlib.util
|
|
18
|
+
import json
|
|
19
|
+
import os
|
|
20
|
+
import subprocess
|
|
21
|
+
import sys
|
|
22
|
+
import unittest
|
|
23
|
+
from pathlib import Path
|
|
24
|
+
|
|
25
|
+
ENF = Path(__file__).resolve().parents[3] / "src" / "policies" / "enforcers" / "enforcement_self_protect.py"
|
|
26
|
+
REPO = Path(__file__).resolve().parents[3]
|
|
27
|
+
T = "src/policies/enforcers/enforcement_self_protect.py"
|
|
28
|
+
D = "src/policies/enforcers"
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def blocked(cmd):
|
|
32
|
+
e = dict(os.environ)
|
|
33
|
+
e["UAP_REPO_ROOT"] = str(REPO)
|
|
34
|
+
e.pop("UAP_SELF_PROTECT_OFF", None)
|
|
35
|
+
p = subprocess.run(
|
|
36
|
+
[sys.executable, str(ENF), "--operation", "Bash", "--args", json.dumps({"command": cmd})],
|
|
37
|
+
capture_output=True, text=True, env=e,
|
|
38
|
+
)
|
|
39
|
+
return p.returncode != 0
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class ReadsAreAllowedTest(unittest.TestCase):
|
|
43
|
+
"""A read of a protected file is not tampering, whatever tool does it."""
|
|
44
|
+
|
|
45
|
+
def test_sed_without_in_place_is_a_read(self):
|
|
46
|
+
for cmd in (
|
|
47
|
+
"sed -n '1,5p' " + T,
|
|
48
|
+
"sed 's/a/b/' " + T,
|
|
49
|
+
"sed -E 's/a+/b/' " + T,
|
|
50
|
+
"sed -n '1,5p' " + T + " | wc -l",
|
|
51
|
+
):
|
|
52
|
+
with self.subTest(cmd=cmd):
|
|
53
|
+
self.assertFalse(blocked(cmd), cmd)
|
|
54
|
+
|
|
55
|
+
def test_find_without_a_mutating_action_is_a_read(self):
|
|
56
|
+
for cmd in ("find " + D + " -name '*.py'", "find " + D + " -type f"):
|
|
57
|
+
with self.subTest(cmd=cmd):
|
|
58
|
+
self.assertFalse(blocked(cmd), cmd)
|
|
59
|
+
|
|
60
|
+
def test_the_readers_that_always_worked_still_work(self):
|
|
61
|
+
# Controls. If these ever start blocking, the regression is upstream of
|
|
62
|
+
# the conditional-verb logic, not in it.
|
|
63
|
+
for cmd in ("cat " + T, "grep -n x " + T, "awk 'NR<5' " + T, "head -5 " + T):
|
|
64
|
+
with self.subTest(cmd=cmd):
|
|
65
|
+
self.assertFalse(blocked(cmd), cmd)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class WritesStayRefusedTest(unittest.TestCase):
|
|
69
|
+
"""Every way of making these two verbs write must still be refused."""
|
|
70
|
+
|
|
71
|
+
def test_sed_in_place_in_all_its_spellings(self):
|
|
72
|
+
for cmd in (
|
|
73
|
+
"sed -i 's/a/b/' " + T,
|
|
74
|
+
"sed --in-place 's/a/b/' " + T,
|
|
75
|
+
"sed -i.bak 's/a/b/' " + T, # suffixed backup
|
|
76
|
+
"sed -ni 's/a/b/' " + T, # bundled short flags
|
|
77
|
+
"sed -Ei 's/a/b/' " + T, # bundled with -E
|
|
78
|
+
"sed --in-place=.bak 's/a/b/' " + T,
|
|
79
|
+
):
|
|
80
|
+
with self.subTest(cmd=cmd):
|
|
81
|
+
self.assertTrue(blocked(cmd), cmd)
|
|
82
|
+
|
|
83
|
+
def test_find_mutating_actions(self):
|
|
84
|
+
for cmd in (
|
|
85
|
+
"find " + D + " -name '*.py' -delete",
|
|
86
|
+
"find " + D + " -name '*.py' -exec rm {} ;",
|
|
87
|
+
"find " + D + " -execdir rm {} ;",
|
|
88
|
+
"find " + D + " -ok rm {} ;",
|
|
89
|
+
"find " + D + " -fprintf " + T + " %p",
|
|
90
|
+
):
|
|
91
|
+
with self.subTest(cmd=cmd):
|
|
92
|
+
self.assertTrue(blocked(cmd), cmd)
|
|
93
|
+
|
|
94
|
+
def test_unconditional_verbs_are_untouched(self):
|
|
95
|
+
# A verb NOT in CONDITIONAL_VERBS keeps its old, flag-independent
|
|
96
|
+
# treatment. This is the guard against the fix widening past its scope.
|
|
97
|
+
for cmd in (
|
|
98
|
+
"rm " + T,
|
|
99
|
+
"mv " + T + " /tmp/x",
|
|
100
|
+
"cp /tmp/x " + T,
|
|
101
|
+
"echo x | tee " + T,
|
|
102
|
+
"echo x > " + T,
|
|
103
|
+
"chmod 000 " + T,
|
|
104
|
+
"truncate -s 0 " + T,
|
|
105
|
+
"shred " + T,
|
|
106
|
+
"ln -sf /tmp/x " + T,
|
|
107
|
+
):
|
|
108
|
+
with self.subTest(cmd=cmd):
|
|
109
|
+
self.assertTrue(blocked(cmd), cmd)
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
class PredicatesFailClosedTest(unittest.TestCase):
|
|
113
|
+
"""Unit-level: an unrecognised flag must read as a WRITE, not a read."""
|
|
114
|
+
|
|
115
|
+
@classmethod
|
|
116
|
+
def setUpClass(cls):
|
|
117
|
+
spec = importlib.util.spec_from_file_location("esp", ENF)
|
|
118
|
+
cls.m = importlib.util.module_from_spec(spec)
|
|
119
|
+
sys.modules["esp"] = cls.m
|
|
120
|
+
spec.loader.exec_module(cls.m)
|
|
121
|
+
|
|
122
|
+
def test_sed_short_flag_cluster_containing_i_is_a_write(self):
|
|
123
|
+
for toks in (["-i"], ["-i.bak"], ["-ni"], ["-Ei"], ["-i", "s/a/b/"]):
|
|
124
|
+
with self.subTest(toks=toks):
|
|
125
|
+
self.assertTrue(self.m._sed_writes(toks), toks)
|
|
126
|
+
|
|
127
|
+
def test_sed_flags_without_i_are_reads(self):
|
|
128
|
+
for toks in (["-n"], ["-E"], ["-r"], ["-e", "s/a/b/"], ["--expression=s/a/b/"]):
|
|
129
|
+
with self.subTest(toks=toks):
|
|
130
|
+
self.assertFalse(self.m._sed_writes(toks), toks)
|
|
131
|
+
|
|
132
|
+
def test_sed_backup_suffix_is_not_parsed_as_flags(self):
|
|
133
|
+
# `-n.i` would otherwise look like a write because of the trailing i;
|
|
134
|
+
# everything after the first '.' is the suffix, not a flag cluster.
|
|
135
|
+
self.assertFalse(self.m._sed_writes(["-n.i"]))
|
|
136
|
+
|
|
137
|
+
def test_find_exec_family_is_a_write_whatever_it_runs(self):
|
|
138
|
+
# What -exec runs cannot be judged from the flag, so it counts as a write.
|
|
139
|
+
for tok in ("-delete", "-exec", "-execdir", "-ok", "-okdir",
|
|
140
|
+
"-fprint", "-fprint0", "-fprintf", "-fls"):
|
|
141
|
+
with self.subTest(tok=tok):
|
|
142
|
+
self.assertTrue(self.m._find_writes([tok]))
|
|
143
|
+
|
|
144
|
+
def test_find_pure_predicates_are_reads(self):
|
|
145
|
+
for toks in (["-name", "*.py"], ["-type", "f"], ["-maxdepth", "2"], ["-print"]):
|
|
146
|
+
with self.subTest(toks=toks):
|
|
147
|
+
self.assertFalse(self.m._find_writes(toks), toks)
|
|
148
|
+
|
|
149
|
+
def test_only_these_two_verbs_are_conditional(self):
|
|
150
|
+
# Widening this map is a security decision; pin the membership so it
|
|
151
|
+
# cannot grow by accident.
|
|
152
|
+
self.assertEqual(set(self.m.CONDITIONAL_VERBS), {"sed", "find"})
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
if __name__ == "__main__":
|
|
156
|
+
unittest.main()
|