63 lines
2.6 KiB
Plaintext
63 lines
2.6 KiB
Plaintext
==============================================================================
|
||
PBL-RTX-0005 实库取证(修复后 DDL 装载 + 守卫行为)
|
||
时间: 2026-09-22 14:58:29 +0800
|
||
git HEAD: dfffebb 模块目录: /d/pipeline/workspaces/0/sdlc_general/modules/pbl_runtime_ext
|
||
==============================================================================
|
||
[1] 连接参数来源: projects/pbls/env/test.json db 段(dbname=pbls user=pbls,凭据不打印)
|
||
[2] mariadb-install-db rc=0
|
||
[3] mariadbd 就绪: 10.6.23-MariaDB-0ubuntu0.22.04.1
|
||
[4] 建库建号 rc=0
|
||
[5] full_script() 渲染 12346 bytes(修复后,无过程体 RETURN)
|
||
[6] DDL 装载 rc=0
|
||
stdout: note | m11b-1 migrate: 人工执行,见注释
|
||
stderr: (空) <-- 修复前此处为 ERROR 1064 (42000) at line 65
|
||
|
||
[7] SHOW PROCEDURE STATUS(过程真实存在)
|
||
|
||
[8] SHOW TRIGGERS(触发器真实存在)
|
||
TRIGGER_NAME EVENT_MANIPULATION ACTION_TIMING EVENT_OBJECT_TABLE
|
||
trg_pbl_runtime_event_append_only_del DELETE BEFORE pbl_runtime_event
|
||
trg_pbl_runtime_event_append_only_upd UPDATE BEFORE pbl_runtime_event
|
||
|
||
[9] 分区清单
|
||
PARTITION_NAME PARTITION_DESCRIPTION
|
||
p202609 '2026-10-01'
|
||
p202610 '2026-11-01'
|
||
p202611 '2026-12-01'
|
||
p202612 '2027-01-01'
|
||
p202701 '2027-02-01'
|
||
p202702 '2027-03-01'
|
||
pmax MAXVALUE
|
||
|
||
[10] CALL pbl_runtime_event_ensure_partitions(9)(修复前报 1305 does not exist)
|
||
rc=0 stderr=(空)
|
||
调用后分区数=11
|
||
[11] append-only 守卫:非 break-glass 会话 CALL pbl_assert_append_only 必须被拒(45001)
|
||
rc=1 stderr=--------------
|
||
CALL pbl_assert_append_only('pbl_runtime_event','update','probe-deny')
|
||
--------------
|
||
|
||
ERROR 45001 (45000) at line 1: PBL_APPEND_ONLY_DENIED
|
||
PASS: 拒绝生效(SQLSTATE 45000 / MYSQL_ERRNO 45001)
|
||
[12] break-glass 放行:SET @pbl_guard_ctx='append_only_admin' 后同一 CALL 不报错
|
||
rc=0 stderr=(空)
|
||
[13] 非守护表不受影响:CALL pbl_assert_append_only('other_table',...) 应放行
|
||
rc=0 stderr=(空)
|
||
[14] 触发器层:INSERT 允许 / UPDATE 拒绝 / DELETE 拒绝(同会话内逐条验证)
|
||
UPDATE 段 rc=1 stderr=--------------
|
||
UPDATE pbl_runtime_event SET event_type='x' WHERE tenant_id='t_rtx5'
|
||
--------------
|
||
|
||
ERROR 45001 (45000) at line 3: PBL_APPEND_ONLY_DENIED
|
||
DELETE 段 rc=1 stderr=--------------
|
||
DELETE FROM pbl_runtime_event WHERE tenant_id='t_rtx5'
|
||
--------------
|
||
|
||
ERROR 45001 (45000) at line 1: PBL_APPEND_ONLY_DENIED
|
||
PASS: INSERT 成功、UPDATE/DELETE 均被触发器拒绝
|
||
break-glass 清理探针 rc=0 stderr=(空)
|
||
|
||
[15] 取证结论: PASS
|
||
[16] 沙箱 datadir 已销毁: /tmp/rtx0005_evidence_db 存在=False
|
||
[17] 本取证正文已同步落盘: tests/evidence/rtx0005_live_evidence.txt
|