
🧠 记忆锚点:鉴权确认谁在用,限流控制多快,配额控制多少,异常检测判断怎么用,熔断守住成本与依赖。
💡 答案要点
滥用类型:
- 刷量攻击:恶意调用,消耗 Token 预算
- Prompt 注入:绕过安全限制
- 数据爬取:批量获取知识库内容
- 账号共享:多人共用一个账号
防护体系:
┌─────────────────────────────────────────────────────────┐
│ AI 应用防滥用体系 │
└─────────────────────────────────────────────────────────┘
接入层 → 行为层 → 数据层 → 响应层
↓ ↓ ↓ ↓
鉴权 频率限制 内容保护 动态响应
设备指纹 异常检测 水印 人机验证具体实现:
| 层级 | 措施 | 说明 |
|---|---|---|
| 接入层 | API Key 鉴权 | 每个用户独立 Key |
| 接入层 | 设备指纹 | 识别异常设备 |
| 行为层 | 频率限制 | 令牌桶算法 |
| 行为层 | 异常检测 | 机器学习识别异常模式 |
| 数据层 | 响应水印 | 隐藏标记便于追踪 |
| 响应层 | 人机验证 | 可疑时触发验证码 |
限流实现(Go):
go
type RateLimiter struct {
tokens chan struct{}
}
func NewRateLimiter(rate int) *RateLimiter {
rl := &RateLimiter{tokens: make(chan struct{}, rate)}
go func() {
for {
time.Sleep(time.Minute / time.Duration(rate))
rl.tokens <- struct{}{}
}
}()
return rl
}
func (rl *RateLimiter) Wait() {
<-rl.tokens
}面试话术:
示例表达(仅在能用本人经历或可复现实验佐证时使用): "我设计了四层防滥用体系。特别是行为层的异常检测,用机器学习识别异常调用模式,有一次发现某个 IP 的 Token 消耗突增 10 倍,及时封禁避免了损失。"