MCPcopy
hub / github.com/cft0808/edict / _append_audit

Function _append_audit

scripts/kanban_update.py:137–158  ·  view source on GitHub ↗

追加一条审计记录到 data/audit_log.json(原子操作)。

(task_id, agent, action, old_val=None, new_val=None, reason="")

Source from the content-addressed store, hash-verified

135MAX_AUDIT_LOG = 5000 # 审计日志最大条数
136
137def _append_audit(task_id, agent, action, old_val=None, new_val=None, reason=""):
138 """追加一条审计记录到 data/audit_log.json(原子操作)。"""
139 entry = {
140 "ts": now_iso(),
141 "task": task_id or "",
142 "agent": agent or "",
143 "action": action,
144 "from": old_val,
145 "to": new_val,
146 "reason": reason,
147 }
148 try:
149 def modifier(logs):
150 if logs is None:
151 logs = []
152 logs.append(entry)
153 if len(logs) > MAX_AUDIT_LOG:
154 logs = logs[-MAX_AUDIT_LOG:]
155 return logs
156 atomic_json_update(AUDIT_FILE, modifier, [])
157 except Exception as e:
158 log.warning(f"审计日志写入失败: {e}")
159
160
161# ── 越权检测(Agent 权限策略)──

Callers 14

_check_permissionFunction · 0.85
cmd_createFunction · 0.85
cmd_stateFunction · 0.85
cmd_flowFunction · 0.85
cmd_doneFunction · 0.85
cmd_blockFunction · 0.85
cmd_confirmFunction · 0.85
cmd_progressFunction · 0.85
cmd_todoFunction · 0.85
cmd_memoryFunction · 0.85
cmd_task_memoFunction · 0.85
cmd_shared_memoFunction · 0.85

Calls 2

now_isoFunction · 0.90
atomic_json_updateFunction · 0.90

Tested by

no test coverage detected