招投标安全查询
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_03fbb66c/guoyuanxin-tender-safe-query。
技能介绍
解决哪些具体问题
招投标业务中,直接访问数据库或平台数据常面临三重风险:敏感信息(采购人、预算、联系方式等)易泄露,使用有写权限的账号可能误操作篡改数据,跨渠道(如对外发飞书/企微)分发时脱敏规则不统一,且查询操作缺乏审计留痕难以追溯。这些场景下,传统方式要么牺牲安全性,要么增加人工校验成本。
技能如何工作
该技能以“只读+脱敏+审计”为核心,通过四步实现安全查询:
- 只读账号约束:使用CloudBase MySQL的
tender_ro@%账号,仅授予SELECT ON tender_sandbox.*权限,从权限层杜绝写操作风险。 - 脱敏规则执行:
desensitize.py按PERSONA.md要求,自动剥离purchaser(采购人)、budget(预算)、winning_amount(中标金额)、contact/phone(联系方式)等敏感字段,对外渠道(如channel='external')调用时自动生效。 - 异常熔断机制:查询超时设
connect_timeout=5,非SELECT语句直接抛PermissionError,爬虫侧设置重试上限,避免无效请求或恶意操作。 - 全量审计留痕:
audit()函数将操作人、时间、SQL语句、返回行数、渠道等信息写入audit/audit.log.jsonl,实现查询行为全链路可追溯。
关键步骤包括:本机演示脱敏逻辑(无需DB网络)、云函数内VPC直连查询、生产替换时指向真实库(如GRANT SELECT ON tender_prod.*)、删除沙箱数据、按渠道路由自动脱敏,以及源平台(爬虫/API)只读拉取后落地分析库再查询。
适用边界与注意点
- 生产环境需通过CloudBase环境变量注入
tender_ro口令,勿将真实凭据提交到代码仓库。 - 该账号仅有
SELECT权限,即便凭据泄露也无法篡改业务数据,但仍需警惕查询结果泄露风险。 - 招标源平台采集需遵守
robots协议,限频且不回写,确保合规性。 - 审计日志在运行时生成于
audit/audit.log.jsonl,发布包不含演示日志,需自行维护审计文件路径。
使用场景
- 需要查询招投标项目信息但必须脱敏后发给外部人员的场景
- 需要审计招投标数据查询操作以追溯谁查了什么的场景
- 需要从招投标平台只读拉取数据做分析报表的场景
- 需要向飞书/企微等外部渠道发送招投标数据但必须隐藏采购人、预算、联系方式的场景
适合人员
- IT运维工程师,需要给业务团队提供安全的招投标数据查询接口
- 合规专员,需要确保招投标数据对外分发时敏感字段已脱敏
- 数据分析人员,需要查询招投标数据做报表但不能接触敏感字段
- 安全审计人员,需要追踪招投标数据的查询记录以备审查