SuperAPI AI 工具集

audit-trail

安全与审计

查看项目

更新于 10-15 19:49

技能介绍

用途:为 NodeJS-Starter-V1 提供结构化审计事件日志,用于合规、取证与活动追踪,遵循 Privacy Act 1988 的 7 年保留要求。核心原则为不可变性(仅追加写入,应用代码不得更新或删除)、完整性(每个状态变更操作都产生事件)、关联性(每个事件携带 correlation_id 关联请求、会话与智能体运行)。

主要能力:Pydantic 的 AuditEvent 模型与 AuditAction 枚举(create、read、update、delete、login、login_failed、logout、permission_denied、export、escalate);PostgreSQL audit_log 表及按时间、操作者、资源、关联 ID、结果建立的索引;AuditTrail 追加式事件发射器(含批量写入,写入失败只记录日志不抛异常);FastAPI AuditMiddleware 捕获 POST/PUT/PATCH/DELETE 请求并回传 x-correlation-id;认证事件记录(登录成功/失败、登出、权限拒绝等);通过 AuditedEventPublisher 扩展 AgentEventPublisher 关联智能体活动;按数据分类的保留与归档策略;GET /api/audit/events 查询接口。

使用方式:在 scripts/init-db.sql 的 SECTION 6 之后添加审计表;在 apps/backend/src/api/main.py 中通过 app.add_middleware(AuditMiddleware) 注册中间件;认证模块可用 login_with_audit 包装现有 JWT 函数;清理任务实现 cleanup_audit_log(store, retention_days=90, security_retention_days=365),可配合 cron-scheduler 每日执行。

适用场景:为 API 端点或认证流程添加审计日志、实现合规级活动追踪、构建安全事件取证能力、创建用户活动时间线管理面板、为审计数据添加保留与归档。

限制:不适用于应用级调试日志(用 structured-logging)、智能体执行事件发布(用现有 AgentEventPublisher)、前端 UI 审计证据收集(用 EvidenceCollector)或指标采集(用 metrics-collector)。审计查询接口必须仅限管理员访问,不得暴露给非管理员;不应存储原始请求体,只记录操作、资源与结果。资料未提供具体安装命令、收费与价格信息。