设备联动封禁智能体
这是一个基于 FastMCP 最新版本构建的 AiPy 扩展脚手架,用于后续接入 AF 设备联动封禁能力。
项目结构
device_block_agent/:核心 Python 源码与 MCP 工具实现。docs/:API 整理文档、方案文档与原始 PDF。assets/:图标等静态资源。examples/:白名单样例和参考素材。- 根目录:保留
main.py、manifest.json、requirements.txt、README.md等项目入口文件。
当前状态
- 已接入 FastMCP 3.2.4。
- 已提供 Streamable HTTP MCP 服务入口,默认暴露路径为
/mcp。 - 已提供 AiPy 要求的
addition-system-instructionprompt。 - 已提供
auth_login、auth_keepalive、auth_logout三个认证工具。 - 已提供
block_list_temp、block_list_business、block_get_total_count、block_get_block_time四个只读查询工具。 - 已提供白名单规则加载与人工确认判定模块,可供后续写操作工具直接复用。
- 已提供
block_add_business、block_delete_temp、block_delete_business、block_clear_attackers、block_clear_temp、block_clear_business、block_set_block_time七个写操作工具。 - 已提供本地 JSONL 审计日志与按操作类型细化的回检结果。
- 已支持通过本地 JSON 文件持久化登录会话,用于跨进程复用登录态。
- 已支持本地会话超时判断与临近过期自动 keepalive。
- 已支持默认 AF 账号与连接配置,认证和封禁工具可直接复用。
- 已提供最小工具
agent_info,用于验证 AiPy 到 MCP 服务的发现链路。 - 已接入首版业务级回检策略,
block_clear_attackers已升级为前后基线对比判定。
本地运行
- 安装依赖:
pip install -r requirements.txt - 启动服务:
python main.py - 服务启动后会在标准输出打印随机端口号。
风控配置
examples/whitelist.sample.json提供本地白名单示例。confirm_mode支持manual和auto两种模式。WHITELIST_FILE和CONFIRM_MODE可通过manifest.json的user_config注入运行环境。- 清空类操作始终要求显式确认;批量新增、批量删除在
manual模式下要求显式确认。 LOG_FILE可用于指定本地 JSONL 审计日志路径。SESSION_FILE可用于指定本地 JSON 会话持久化路径。SESSION_TIMEOUT_SECONDS和SESSION_REFRESH_WINDOW_SECONDS可用于控制本地会话超时与自动保活窗口。
账号配置
af_host用于配置默认 AF 主机地址。af_namespace用于配置默认命名空间,默认public。af_username和af_password用于配置默认登录账号。af_verify_tls用于配置默认 HTTPS 证书校验开关。- 配置完成后,
auth_login、auth_keepalive、auth_logout以及封禁相关工具都可直接复用这些默认值。
当前已实现工具
agent_infoauth_loginauth_keepaliveauth_logoutaccount_config_statusblock_list_tempblock_list_businessblock_get_total_countblock_get_block_timeblock_add_businessblock_delete_tempblock_delete_businessblock_clear_attackersblock_clear_tempblock_clear_businessblock_set_block_time
下一步实现
- 如需生产落地,再补日志轮转和敏感字段分级脱敏。
- 如需更强回检能力,再补基于业务记录 ID 或操作结果对象的精确比对。
- 如需长期运行,再补 token 失效后的自动重新认证策略。