讨论如何自动审计项目接口是否需要开放外网

领导一拍脑袋想出要通过SAST审计项目接口是否需要开放外网的需求。
关于这个需求,白盒肯定是不行,那就写一个Agent,直接阅读路由的业务代码,让AI去判断,但难点在于,如何通过URL定位到具体的业务代码。公司能通过sourceGraph搜索全公司的代码,问题在于,每个项目的路由规则不一致,有的是路由拼接, 有的是常量替换,有点还是通配符,我人工找都不一定找得到。但我通过正则还是能匹配出一些常见的路由,那种不常见的路由编写方式覆盖不到(公司大部分都不符合规范,全乱写)。
所以换了一种想法,我针对所有在运行的服务,提取出项目的所有接口,然后直接分析所有接口的业务逻辑,由AI给出评分。
两个方案,第一个是因为我们收集到了大概5000个接口,想直接从接口层面到代码层面分析,所以需要从URL定位到代码。第二个方案还在跑demo,卡在如何提取出完整的路由信息。
佬友们,有没有好点的想法,或者骂醒我。

4 个赞

老板愿意花钱试错就行 先跑来边做边改

1 个赞

一定要定位到代码?
接口是否开放外网,是指你们发项目被外网访问吗

扒nginx,检测域名,一个端口对应一个项目,感觉没必要定位到代码,定位到项目,找负责人就行

1 个赞

是想管控对外开放的接口,我们收集了所有对外开放的接口,大概有3W个,不可能一个一个去问,有的接口连负责人自己都不知道

个人感觉复杂了不是,以项目为单位做数据管理就行

3w个接口不是3w个项目,找到对应域名,整理表单,发大群,让人认领,不用一个一个文,到截止期没人认领的,在细看是不是可以下线的服务,该处理就处理掉,

我上家公司处理流程就是这样,这不是一个人的事情,要部门配合核对校验的

初期以项目单位整理,后面再考虑是否需要落实到具体的接口