最近,一家头部 AI 公司的创始人被曝出专门安排团队调查自家员工。消息一出来,技术圈和职场社区都炸了:“至于吗?”“内部要有‘调查天团’?”“先别管是不是真的,这操作已经够让人后背发凉。”
但先放下对具体人物的讨论,我们用一个工程师的视角重新看这件事:一家以核心技术为核心资产的公司,为什么要把安全矛头转向内部员工?靠“专人调查”真的能解决问题吗?
我的判断是:靠“人盯人”做内部安全管理,效率低、风险大、隐私合规上还容易翻车。真正成熟的做法,是把内部威胁检测做成一套“技术 + 流程 + 合规”的工程体系。
这篇文章不聊八卦,只聊技术。我会从内部威胁检测、日志审计、UEBA 用户行为分析、DLP 数据防泄漏、零信任权限收敛这几个维度出发,给出可落地的思路和示例代码。读完你会明白:企业里“干净”的环境,不是靠一两个调查员盯出来的,而是靠基础设施和策略“养”出来的。
1. 为什么 AI 公司要把安全矛头转向“内部员工”
先说一个经常被低估的事实:外部攻击者想拿走 AI 公司的模型权重,难度极高;但内部员工如果真想泄露,路径往往非常短。
模型权重、训练数据、独家算法、客户清单,这些都是 AI 公司最值钱的东西。偏偏这些东西的访问者,就是研发、算法、运维、数据工程这些自己人。外部黑客要攻破一堆防火墙和零信任网关,而内部员工可能只需要一条scp命令、一次网盘上传请求,甚至一个 Slack 通知。
内部威胁通常分三类:
- 恶意窃取:员工带着怨气离职,顺手带走核心代码或数据。
- 过失泄露:开发人员把带密钥的配置文件传到公开仓库,或者把测试库连到了公网。
- 账号被盗:攻击者拿到员工身份凭证后,以“合法身份”访问内部系统。
传统做法遇到这种情况,最常见的反应是“找专人调查”。但这里有个关键问题:调查是事后响应,不是事前防御。等发现数据已经外泄,再靠人工访谈、翻聊天记录、查访问记录,其实已经晚了。
另一个问题是成本。专门养一支“内部调查团队”,不仅人力成本高,还容易造成团队恐慌。更重要的是,这种“人盯人”的做法在隐私合规上非常敏感,稍有不慎就会触碰法律红线。
所以,真正有价值的转变,是把安全策略从“案件导向”变成“风险导向”:用技术手段持续监控、识别风险、收敛权限,把“需要调查的人”尽量排除在敏感资源之外。这才是现代企业内部安全该有的样子。
2. 关键概念:内部威胁、UEBA、DLP 与零信任
很多同学看到“内部调查”四个字,第一反应是“查聊天记录”。但真正的企业安全体系,根本不会靠这种单一动作。这里先理清几个容易混淆的概念。
2.1 内部威胁(Insider Threat)
内部威胁指的是来自组织内部人员的安全风险,可能来自员工、外包人员、合作伙伴,甚至已经离职但仍持有账号权限的人。它的特点是:攻击者本身拥有合法凭证,普通边界防御很难识别。
2.2 UEBA(User and Entity Behavior Analytics)
UEBA 翻译过来是“用户与实体行为分析”。它的核心思想不是看“你是谁”,而是看“你的行为是否还像你”。
它会把用户、设备、IP、应用等实体的行为数据收集起来,建立历史行为基线。一旦发现偏离基线的异常行为,比如平时从不访问数据库的人突然在凌晨拉取大批数据,就触发告警。
2.3 DLP(Data Loss Prevention)
DLP 即“数据防泄漏”,主要解决“敏感数据是怎么跑出去的”问题。它一般覆盖三种数据状态:
- 静态数据:存在数据库、文件服务器上的数据。
- 传输数据:通过邮件、IM、HTTP、FTP 等通道外发的数据。
- 使用中数据:在终端上被打印、复制、另存的数据。
DLP 最常见的能力是内容识别,比如识别身份证号、手机号、银行卡号、密钥串等,并在命中策略后阻断或进入审批流程。
2.4 零信任(Zero Trust)
零信任的核心原则是“永不信任,持续验证”。它不再以网络边界作为信任边界,而是对每一个访问请求都做身份认证、设备校验和权限判断。落实到内部安全上,就是“最小权限”。
| 概念 | 解决什么问题 | 核心手段 | 落地组件举例 |
|---|---|---|---|
| 内部威胁管理 | 内部人员滥用权限泄露数据 | 行为基线 + 异常检测 + 审计 | UEBA、ITDR |
| UEBA | 发现“行为不像本人”的账号 | 大数据分析 + 机器学习 | 自建或商业 UEBA |
| DLP | 防止敏感数据外发 | 内容识别 + 策略阻断 | 自研扫描服务或商业 DLP |
| 零信任 | 缩小权限范围、动态控制访问 | 身份认证 + 设备校验 + 最小权限 | OPA、RBAC、PAM |
| ITDR | 身份威胁检测与响应 | 覆盖身份系统的攻击链检测 | 身份安全平台 |
一句话总结:UEBA 负责“发现问题”,DLP 负责“阻断外泄”,零信任负责“从源头减少暴露”,日志审计负责“事后可追溯”。
3. 第一步:建立统一的日志采集与审计基座
无论做 UEBA 还是 DLP,前提都是:先把数据源接进来,否则一切分析都是巧妇难为无米之炊。
3.1 需要收集哪些日志
要覆盖一个员工对敏感数据的完整操作链,至少需要这几类日志:
- 身份认证日志:登录时间、登录IP、认证方式、是否 MFA。
- 终端操作日志:文件访问、剪切板操作、USB 接入、外设使用。
- 数据库访问日志:查询语句、请求来源 IP、影响行数、返回数据量。
- 文件服务日志:下载、上传、移动、删除操作。
- 邮件和 IM 外发日志:附件名、收件人、外发域、链接。
- 云平台操作日志:RDS、OSS、Kubernetes 的操作审计。
注意:收集日志不是无条件全量收集。更稳妥的做法是先做敏感目录梳理,明确哪些系统涉及核心机密,再对这些系统做重点采集,避免收集过多非必要个人隐私字段。
3.2 日志统一格式
不同系统的日志格式千差万别,有纯文本、JSON、Syslog、CEF。做分析之前,要先把它们转成统一格式。推荐 JSON 格式,方便写入 Elasticsearch 或 ClickHouse。
一个理想的日志字段示例:
{ "timestamp": "2025-03-20T10:15:30+08:00", "event_type": "file_download", "user": "zhangsan", "source_ip": "10.20.30.44", "target_file": "s3://internal-models/prod/latest/model_v4.bin", "file_size_mb": 2048, "action": "allow", "message": "user download large model file from internal bucket" }3.3 使用 Fluent Bit 采集日志并输出到 Elasticsearch
Fluent Bit 是 CNCF 下面的轻量级日志采集器,占用资源小,适合部署到多台机器上做统一采集。
下面是一个最小配置示例,将 Linux 认证日志/var/log/auth.log采集并输出到 Elasticsearch:
# 文件路径:/etc/fluent-bit/fluent-bit.conf [INPUT] Name tail Path /var/log/auth.log Tag auth.* Mem_Buf_Limit 20MB Skip_Long_Lines On Refresh_Interval 5 [PARSER] Name json_time Format json Time_Key timestamp Time_Format %Y-%m-%dT%H:%M:%S%z [FILTER] Name nest Match auth.* Operation lift Nested_under log Add_prefix auth_ [OUTPUT] Name es Match auth.* Host your-elasticsearch-host Port 9200 Index auth-logs-%Y.%m.%d HTTP_User elastic HTTP_Passwd your-password tls On这里的关键点:
tail输入插件负责读取文件新增内容。parser用于解析时间字段,保证时序正确。output可以配置多个,比如同时输出到 Kafka 和 Elasticsearch,便于下游做实时检测和冷存储归档。
3.4 日志的完整性与防篡改
如果日志可以被攻击者或内部人员随意删除,那整个安全体系就等于没搭。
常见做法:
- 日志集中存储到权限隔离的独立账号中,账号不属生产团队管理。
- 开启日志追加模式,禁止普通用户删除。
- 对关键日志做哈希链校验,比如每写一批日志就计算新的哈希,并将哈希值存到另一个可信存储中。
- 设置合理的日志保留周期,兼顾合规要求和存储成本。
这里真正容易踩坑的地方是:很多公司把日志采集在应用机器本地,且使用当时的部署账号运行,结果员工一旦拿到这台机器权限,第一件事就是删除日志。所以,日志审计组件的账号权限、存储位置的隔离,必须从一开始就设计好。
4. 第二步:用 UEBA 建立员工行为基线
UEBA 是最能体现“体系化安全”思路的一环,也是很多团队最容易误解的一环。
有些人以为 UEBA 就是装个“员工天眼”,看到谁下载文件多就判定谁有嫌疑。这是错的。UEBA 的本质是“先学正常,再找异常”,不是拍脑袋定阈值。
4.1 行为特征从哪里来
要判断“异常”,先要定义“正常”。
比如对一位数据分析师,白天在办公区、只访问 BI 平台、每周下载几份报表,这就是他的正常基线。如果某天他凌晨 3 点从海外 IP 登录,连续访问了 200 张数据表,并把结果打包上传到公网网盘,这就显著偏离基线。
常用特征维度包括:
- 登录时间特征:时间段、周几、登录频率。
- 登录来源特征:IP 段、地理位置、新设备数量。
- 数据访问特征:访问表数量、下载文件大小、访问敏感资源的占比。
- 终端特征:是否使用未安装 Agent 的设备、是否连接外部网络。
- 行为序列特征:操作是否依照固定顺序,比如先查询后导出,还是直接导出。
4.2 教学示例:用 Isolation Forest 做行为异常检测
这里我们用一个最小示例演示整体思路。请务必注意:这个示例只适合教学演示,生产环境需要结合业务规则、样本标注、隐私评估和人工研判,不能直接照搬。
文件路径:behavior_anomaly_detection.py
import pandas as pd import numpy as np from sklearn.ensemble import IsolationForest # 生成模拟行为数据,仅用于演示 np.random.seed(42) normal_count = 200 anomaly_count = 10 # 正常员工:上班时间登录,日志下载量小 normal_data = { "login_hour": np.random.normal(10, 2, normal_count), "access_table_count": np.random.poisson(3, normal_count), "download_size_mb": np.random.exponential(5, normal_count), } # 异常员工:凌晨访问,大量下载 anomaly_data = { "login_hour": np.random.normal(3, 1, anomaly_count), "access_table_count": np.random.poisson(60, anomaly_count), "download_size_mb": np.random.exponential(500, anomaly_count), } df = pd.DataFrame({**{k: list(v) + list(anomaly_data[k]) for k in normal_data}}) df["label"] = [0] * normal_count + [1] * anomaly_count # 使用孤立森林检测异常 model = IsolationForest( n_estimators=100, contamination=0.05, random_state=42 ) df["anomaly_score"] = model.fit_transform(df[["login_hour", "access_table_count", "download_size_mb"]]) df["pred"] = model.predict(df[["login_hour", "access_table_count", "download_size_mb"]]) # 输出检测结果 print(df.groupby("pred")[["login_hour", "access_table_count", "download_size_mb"]].mean()) # 查看高异常分的样本 print(df.sort_values("anomaly_score").head(10))运行方式:
pip install pandas numpy scikit-learn python behavior_anomaly_detection.py预期输出会看到:
pred = 1的数据点被识别为异常样本。- 这些样本的
download_size_mb平均值明显高于正常样本。 anomaly_score越小代表越异常(孤立森林的惯例)。
在真实系统里,生产链路通常是:
- 从日志平台读取行为数据。
- 离线训练基线模型。
- 每日或每夜对行为数据打分。
- 把分数超过阈值的样本送入告警队列。
- 安全分析师结合上下文做研判。
4.3 UEBA 落地要避免的误区
- 只看一个维度:单看“下载量大”误报率非常高,必须结合时间、地点、目标系统、历史习惯综合判断。
- 直接使用黑名单规则:黑名单只能查已知攻击,UEBA 的核心价值是查“还不知道的异常”。
- 忽略模型误报对员工的伤害:如果触发告警就公开点名,会造成严重的团队信任危机。这里更推荐“静默调查 + 低权限复核”。
5. 第三步:用 DLP 识别和阻断敏感数据外发
日志审计解决“记录留痕”,UEBA 解决“发现异常”,但真正要拦住数据外发,还依赖 DLP。
DLP 本质上是一个内容识别和策略执行系统。它通常放在邮件网关、网盘代理、终端 Agent、数据库防火墙等位置,对数据内容做实时匹配,命中敏感规则后执行告警、阻断、审批等动作。
5.1 敏感数据识别的最小案例
下面用 Python 演示一个简单的文本扫描器,识别手机号、身份证号、API Key 等高价值信息。真实场景中,建议结合更多规则引擎和人工标注。
文件路径:sensitive_data_scan.py
import re import json # 模拟从邮件、IM 或 HTTP 上传中提取的文本 samples = [ "联系电话:13812345678,请尽快处理。", "身份证号为110101199003078811,这是入职材料。", "sk-abcdefghijklmnopqrstuvwxyz123456 是生产环境 API Key,请勿外发。", "本周会议纪要见附件,无敏感信息。", ] patterns = { "mobile": r"1[3-9]\d{9}", "id_card": r"\d{17}[\dXx]", "api_key": r"sk-[A-Za-z0-9]{20,}", } def scan_text(text: str) -> list: hits = [] for name, pattern in patterns.items(): matches = re.findall(pattern, text) if matches: hits.append({"type": name, "match_count": len(matches)}) return hits for sample in samples: result = scan_text(sample) print(json.dumps({"text": sample[:20] + "...", "hits": result}, ensure_ascii=False))运行:
python sensitive_data_scan.py输出示例:
{"text": "联系电话:13812345678...", "hits": [{"type": "mobile", "match_count": 1}]} {"text": "身份证号为1101011990...", "hits": [{"type": "id_card", "match_count": 1}]} {"text": "sk-abcdefghijklmnopq...", "hits": [{"type": "api_key", "match_count": 1}]} {"text": "本周会议纪要见附件...", "hits": []}这里的核心逻辑是:数据外发链路里加入一个扫描服务,所有出站内容都先进沙箱或正则匹配,再决定是否放行。生产环境一般结合 OCR、NLP、字典匹配,避免简单正则造成大量漏报和误报。
5.2 DLP 策略怎么定
DLP 策略设计不是“一刀切”。常见思路是把数据分级:
| 数据级别 | 示例 | 策略建议 |
|---|---|---|
| L1 公开 | 官网文章、公开白皮书 | 不设限 |
| L2 内部 | 内部会议纪要、部门文档 | 内部公开,外发需审批 |
| L3 机密 | 未发布模型权重、训练集 | 仅授权人员可访问,外发阻断 |
| L4 绝密 | 核心算法源码、客户密钥 | 白名单 + 双人审批 + 实时审计 |
从工程角度,最有效的不是“禁止拷贝一切”,而是把机密数据放进更小的访问圈子,同时让 DLP 规则更精准地只盯着那部分数据。
6. 第四步:用零信任收敛权限,缩小“被调查范围”
如果一家公司需要调查的人越来越多,很可能不是员工出了问题,而是权限给了太多人。
零信任落地的一个核心指标就是:一个员工默认只拥有完成本职工作所必需的最小权限,而不是整个部门都能访问所有机密资源。
6.1 Kubernetes RBAC 最小权限示例
很多 AI 公司的模型服务部署在 Kubernetes 上。如果每个算法工程师都对 namespace 有admin权限,那么任何一次误操作都可能拿到模型部署配置,甚至容器里的密钥。
下面是一个最小权限示例,只允许审计人员读取 Pod 和 Deployment 信息,不能修改任何资源:
文件路径:rbac-auditor.yaml
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: namespace: model-serving name: auditor-readonly rules: - apiGroups: [""] resources: ["pods", "pods/log", "configmaps", "secrets"] verbs: ["get", "list", "watch"] - apiGroups: ["apps"] resources: ["deployments"] verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: namespace: model-serving name: auditor-readonly-binding subjects: - kind: User name: auditor-zhangsan apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: auditor-readonly apiGroup: rbac.authorization.k8s.io应用配置:
kubectl apply -f rbac-auditor.yaml验证当前用户可以访问的资源:
kubectl auth can-i list pods -n model-serving --as auditor-zhangsan kubectl auth can-i create pod -n model-serving --as auditor-zhangsan第一条预期输出yes,第二条预期输出no。
这个例子的意义在于:通过 RBAC,把敏感 namespace 的“写权限”从普通员工角色中移除。真正需要临时变更时,可以通过审批流程获取短期权限,用完即销。
6.2 零信任的更完整组件
零信任不是单点产品,而是一整套架构:
- IDaaS(身份中心):统一认证,强制 MFA。
- 设备合规:不通过企业管控的设备无法访问高敏应用。
- 动态访问策略:如果用户来自非办公网络,或设备不合规,自动降低权限。
- 微隔离:在 Kubernetes 或主机层做 fine-grained 网络策略,限制容器间不必要的通信。
- 特权账号管理(PAM):对管理员账号做口令托管、会话管理、操作审计。
这是一个更实际的分层策略:不是等员工做坏事后去查他,而是从源头把他与高价值数据的距离拉远。这也是“零信任”被称为未来企业安全基座的原因。
7. 合规边界:企业安全不能替代员工隐私保护
企业追求安全没有错,但“雇专人调查员工”如果脱离了合规框架,很容易从安全动作变成隐私事故。
这里必须非常慎重。中国《个人信息保护法》《数据安全法》以及劳动用工相关法规,对“处理员工个人信息”有明确限制。企业如果要对员工进行行为监控,通常需要满足几个基本条件:
- 有明确的管理制度:比如信息安全管理制度、数据分级分类管理办法,让员工知道哪些行为会被记录。
- 履行告知义务:在员工手册或入职协议里明确说明监控范围,不能暗中采集。
- 遵循最小必要原则:只收集与安全相关的必要数据,不采集与安全无关的个人隐私,比如私人聊天、网页浏览记录等。
- 需要必要性评估:尤其在高风险场景下,需要评估安全收益是否明显大于对员工隐私的影响。
7.1 不建议使用的监控手段
- 无差别键盘记录。
- 长时间屏幕录制。
- 抓取员工私人邮箱和 IM 聊天内容。
- 绕过公司设备管理权限,采集员工个人手机数据。
这些动作极易触碰法律红线,一旦爆出,对企业的声誉影响比数据泄露还大。
7.2 建议的安全合规流程
我比较推荐“事件触发式调查”和“常态化安全监控”分开管理:
| 场景 | 处理方式 |
|---|---|
| 风险告警(账号异常、大流量下载) | 进入自动化检测流程,由安全团队审核,不涉及具体员工个人隐私 |
| 数据外发阻断(命中 DLP 策略) | 自动化阻断,并通知数据 Owner,不公开员工信息 |
| 确认高风险内部威胁 | 提交安全合规委员会审批,由专人执行最小范围调查 |
| 员工离职安全审查 | 启动离职流程自动化检查,不针对普通在职员工 |
这里的核心原则是:能自动化地“降风险”就别人工地“查个人”,能触发式调查就别常态化全量监控。安全团队不应该变成“私人调查队”,而应该变成“风险控制团队”。
7.3 隐私影响评估(PIA)
在任何一个会处理员工个人数据的系统上线前,建议做一次 PIA(Privacy Impact Assessment):
- 收集哪些字段?
- 谁有权访问这些数据?
- 数据保留多久?
- 数据用途是否明确且最小化?
- 员工如何申诉和纠错?
评估结果应该写进项目文档,并有安全、法务、技术三条线共同确认。这个动作虽然烦琐,但长期来看是保护企业自己的。
8. 常见问题与排查思路
在内部威胁检测系统建设和运行过程中,团队通常会遇到下面这些问题:
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| UEBA 告警误报率高 | 特征维度太少,没有建立准确的业务基线 | 查看告警样本的上下文日志,统计误报来源 | 增加特征维度,引入人工研判沉淀规则 |
| 日志时间不同步 | 各服务器时区不一致 | 统一使用 UTC 或东八区,并为日志统一打上服务端时间戳 | NTP 时钟同步 + 日志标准化清洗 |
| DLP 扫描导致外发链路超时 | 扫描规则负载过高 | 压测扫描服务,查看消费者堆积情况 | 引入异步处理、消息队列、定期模型降级 |
| 日志存储成本过高 | 全量采集且无限期保留 | 分析最常被查询和告警的日志类型 | 分冷热存储,热数据用 ES,冷数据进对象存储 |
| 权限不足导致审计盲区 | 安全团队没有独立审计账号 | 检查云平台和运维平台权限矩阵 | 为安全团队配置只读审计账号,使用 PAM 托管 |
| 安全事故后日志被删 | 日志在业务服务器本地保留 | 查看日志目录权限和账号权限 | 集中采集 + 日志防篡改 + 独立存储账号 |
还有一个很现实的工程问题:告警疲劳。
当系统刚开始上线时,因为并没有好的基线,每天可能会有成百上千条告警。这时不要急于扩招人手,而是应该先做告警降噪:
- 将告警分四级:低、中、高、严重。
- 低级别告警只进工单,不进即时通讯。
- 高级别告警必须关联到实体员工账号、设备、数据对象。
这样才能让安全团队把精力集中在少数真正值得关注的事件上。
9. 最佳实践与工程建议
看了上面的内容,很多团队可能会想:我是不是也要上一套 UEBA + DLP + 零信任?我的建议是:不要一上来就搞大而全的平台,先按下面的顺序逐步建设。
9.1 建设顺序
- 先摸清数据资产:哪些库、哪些桶、哪些 Git 仓库是敏感资产?没有资产清单,安全建设就是无底洞。
- 再收日志:先把认证日志、数据库访问日志、文件下载日志接入统一平台。
- 做权限收敛:给生产环境和敏感数据做主机的、云账号的、K8s RBAC 的权限最小化,尤其是特权账号。
- 上 DLP:对邮件、网盘、API 外发做敏感内容扫描。
- 再做 UEBA:有足够历史日志后,再跑行为基线模型。
- 最后做 SOAR 编排:把告警、工单、响应动作串起来,形成一个闭环。
9.2 数据分类分级是地基
企业内部安全最容易犯的错误,是“没有数据分级就开始搞 DLP”。比如把所有文件都设为机密,最后 DLP 策略只能全部放行,或者全部阻断。
正确做法:
- 先建立数据分级分类规范。
- 再通过人工标记和自动识别,给数据打标签。
- DLP 和 UEBA 策略都围绕标签展开。
9.3 红队与演练
安全体系建设完成后,要像做“攻防演练”一样,定期测试内部威胁检测能力。
可以设计几个模拟场景:
- 用一个普通员工账号,从海外 IP 登录并下载大量数据,看看是否触发告警。
- 模拟数据库账号被窃取,在凌晨执行全表导出,看权限策略和 DLP 是否生效。
- 模拟离职员工在最后一天大量访问权限范围内的代码仓库,检查风险检测逻辑。
这些演练最好由安全团队或第三方红队执行,避免真实员工参与造成不必要的误解。每次演练后输出“检测覆盖率报告”,持续改进规则。
9.4 不要把安全工具做成“越界监控”
这是我个人非常想强调的一点。
企业内部安全建设,目的永远是保护企业的数字资产,而不是监视员工的一举一动。安全团队在配置策略时,要时刻问自己:
- 这个数据对发现真实威胁真的必要吗?
- 是否存在更小侵入性的替代方案?
- 如果出现了误报,是否有一套纠错和申诉机制?
技术本身是中性的,但使用技术的方式必然会被员工感知。一个团队如果长期感到“被监视”,效率和文化都会受损。真正高质量的安全建设,应该是员工无感地守护企业资产,而不是靠恐惧来维系秩序。
10. 安全体系之外的一点思考
回到开头那个新闻。一家公司如果走到“雇专人调查自家员工”这一步,往往说明它缺少更前置的权限控制、行为监控和合规缓冲带。安全不是靠“某个人”盯出来的,而是靠“系统”守出来的。
对于普通开发者,这件事也有启示:你自己所处的开发环境、日志系统、权限模型,本质上就是一个微型的内控系统。学会搭建可观测、可审计、防御性的技术体系,对架构能力和安全意识都是很好的提升。
后续如果想继续深入,可以从这几个方向入手:
- 学习日志分析平台:ELK、ClickHouse、Loki。
- 学习零信任策略:OPA、SPIFFE/SPIRE、Istio 安全策略。
- 理解隐私工程:PIA、数据最小化、数据保留与删除。
- 关注 AI 公司特有的资产保护:模型权重访问审计、训练数据溯源、MLOps 安全。
安全不是一款产品,也不是一位“调查员”,而是所有工程决策中应该自然存在的一个维度。希望这篇文章能帮你在“内部风险管理”这个话题上,从一个吃瓜者,变成一个能落地的工程师。