trappsec 是一个开源框架,帮助开发者检测探测 API 业务逻辑的攻击者。通过嵌入难以与真实 API 结构区分的逼真假路由和蜜罐字段,诱使攻击者进行身份认证——将侦察行为转化为可操作的安全遥测数据。
专为那 1% 实际查看安全告警的人,以及 99% 仅仅喜欢拥有告警这个想法的人而构建。

Decoy Routes(假路由): 这些是位于真实业务逻辑之外但看起来真实的“幽灵”端点。通过在客户端代码中植入虚假引用,可以引诱攻击者触碰这些陷阱,从而通过自定义静态或动态响应(根据认证状态调整)监控其行为。
Honey Fields(蜜罐字段): 嵌入在合法 API 端点中的非功能性参数,作为隐形绊线。可以将其作为隐藏表单字段(含静态值)或利用 GET 响应中现有的“只读”属性作为蜜罐字段,一旦攻击者试图通过 POST 或 PUT 请求修改它们即触发告警。
Identity Attribution(身份归因): 框架钩子允许将请求与经过认证的用户身份关联。还可以将陷阱映射到特定 意图(如权限提升、侦察等)。结合使用,安全团队可以获得高保真告警,从而更快速、更有效地响应。
要求认证: 在一个总体无害但充斥着不该乱摸的人与扫描器(主要是扫描器)的互联网中,你不希望被噪音淹没。使用未认证的模板响应(如 401 未授权)引导他们使用认证进行探测。
融入环境: 陷阱应当看起来完全像你 API 的普通部分。一个良好的陷阱应当看起来像是 API 中平凡、标准甚至乏味的一部分。如果看起来“好得不像真的”,攻击者会忽略它。设计陷阱的目的是捕捉试图理解或操纵你业务逻辑的人。
trappsec 可直接集成到现有工作流中。默认事件会写入标准日志处理程序,但也可配置集成到 OpenTelemetry 以实现可观测性,或通过 Webhooks 触发自动化响应或通知安全团队。
未找到你喜欢的框架?在此提交请求。
社区支持可通过 GitHub Issues 和 Discussions 获取。
如需商业支持或服务,请发送邮件至 [email protected]。
| 语言 | 框架 |
|---|
| Python | Flask |
| FastAPI | |
| Starlette | |
| Litestar | |
| Django | |
| Sanic | |
| Tornado | |
| Node.js | Express |
| NestJS | |
| Fastify | |
| Hapi | |
| Koa | |
| Go | net/http |
| Gin | |
| Echo |