0x01 工具介绍
核心功能
-
基于正则的通用引擎:X - SAST 一大显著特点是其基于正则的通用引擎,该引擎具备强大的兼容性,能够支持多种编程语言。这意味着无论是常见的 PHP、Python、Java 等,还是一些相对小众的编程语言,X - SAST 都能对其代码进行快速扫描。通过精心编写的正则表达式,它能够敏锐地捕捉代码中可能存在的安全隐患,为代码审计工作提供了广泛的适用性。例如,在一个包含多种编程语言的大型项目中,X - SAST 可以一次性对所有相关代码进行扫描,无需针对不同语言切换多种工具,大大提高了审计效率。 -
AI 辅助验证:借助人工智能技术,X - SAST 实现了自动筛选和验证扫描结果的功能,这一功能对于快速筛选误报结果具有重要意义。在传统的代码审计过程中,误报问题常常困扰着审计人员,大量的误报信息不仅浪费时间和精力,还可能导致真正的安全问题被忽视。X - SAST 的 AI 验证引擎能够学习和分析大量的代码样本以及安全漏洞模式,从而智能地判断扫描结果是否为真正的安全隐患。比如,它可以根据代码的上下文、逻辑关系以及常见的安全漏洞特征,准确地识别出哪些是误报信息,哪些是需要重点关注的真实漏洞,帮助审计人员节省大量时间,更高效地进行代码审计工作。 -
专业审计 UI:为了方便审计人员进一步分析和筛选经过 AI 验证后的结果,X - SAST 提供了直观的人工审计工具界面。这个专业审计 UI 设计简洁明了,操作方便快捷。审计人员可以在该界面上对 AI 验证后的结果进行详细查看、深入分析。例如,可以查看漏洞所在的具体代码行、相关代码片段的上下文信息,还能对漏洞的严重程度、可能产生的影响进行评估。这种直观的界面设计使得审计人员能够更高效地进行人工审核,确保不会遗漏任何潜在的安全问题。 -
IDE 联动:X - SAST 还具备与主流 IDE 集成的功能,这一功能为审计人员提供了代码流追踪的便利。在实际的开发过程中,代码往往是一个复杂的逻辑体系,各个模块之间相互关联。通过与 IDE 联动,审计人员可以在 IDE 环境中直接追踪代码的执行流程,了解数据在代码中的流动路径。比如,当发现一个潜在的安全漏洞时,审计人员可以借助 IDE 联动功能,快速定位到漏洞产生的源头,查看数据是如何从输入点传递到漏洞触发点的,从而更深入地理解漏洞形成的原因,为修复漏洞提供有力支持。 -
代码流分析:深入分析代码结构是 X - SAST 的重要功能之一,目前 PHP 部分已完成实现,其他语言也在持续开发中。代码流分析功能能够帮助审计人员全面了解代码的内部结构、函数调用关系以及数据传递过程。以 PHP 代码为例,它可以分析函数之间的嵌套调用、变量的作用域以及数据在不同函数和模块之间的流转情况。通过这种深入的分析,审计人员可以发现一些隐藏较深的安全问题,例如未经过充分验证的数据在代码中被不当使用,从而导致潜在的安全风险。随着其他语言代码流分析功能的不断完善,X - SAST 将为更多类型的项目提供全面的代码审计支持。
0x02 安装与使用
X - SAST 工具包包含以下几个主要组件:
-
X1_checker.exe:这是规则检查引擎,以命令行工具的形式存在且开源。它是 X - SAST 的基础扫描模块,依据预先设定的正则规则对代码进行全面扫描。在使用时,用户可以通过命令行参数指定要扫描的代码目录、文件类型以及扫描规则等信息。例如,在 Windows 系统下,用户可以在命令提示符中输入类似“X1_checker.exe -d C:projectsrc -t php -r rules.txt”的命令,其中“-d”指定要扫描的代码目录为“C:projectsrc”,“-t”指定代码类型为 PHP,“-r”指定使用“rules.txt”中的规则进行扫描。开源的特性使得用户可以根据自己的需求对规则检查引擎进行定制和扩展,以适应不同项目的代码审计要求。 -
X2_verifier.exe:AI 验证引擎,同样以命令行工具的形式提供,但使用此工具需要授权。它接收 X1_checker.exe 扫描得到的结果,并运用人工智能技术对这些结果进行智能筛选和验证。在获得授权后,用户可以在命令行中运行该工具,并指定输入文件为 X1_checker.exe 的扫描结果文件。例如,“X2_verifier.exe -i scan_result.txt”,其中“-i”指定输入文件为“scan_result.txt”,该文件包含了 X1_checker.exe 扫描得到的原始结果。通过这种方式,X2_verifier.exe 能够快速对大量扫描结果进行分析,去除误报信息,为后续的人工审计提供更精准的结果。 -
X3_auditor.exe:人工审计工具,采用 GUI 程序形式。它为审计人员提供了一个直观的界面,用于对经过 AI 验证后的结果进行进一步分析和筛选。在启动该程序后,审计人员可以导入 X2_verifier.exe 输出的结果文件,然后在界面上以图形化的方式查看漏洞详情。界面上通常会展示漏洞的类型、所在代码位置、漏洞描述以及建议的修复方法等信息。审计人员可以通过简单的操作,如点击、拖拽等,对漏洞进行分类、排序,方便对不同类型的漏洞进行集中处理和分析。 -
X9_editor.exe:规则编辑器,也是 GUI 程序且开源。它允许用户根据项目的特定需求自定义扫描规则。在使用过程中,用户可以通过该编辑器创建新的正则规则、修改现有规则或者删除不再适用的规则。例如,对于一些特定行业的项目,可能存在一些独特的安全规范和要求,用户可以使用 X9_editor.exe 创建符合这些要求的自定义规则,然后将其应用到 X1_checker.exe 的扫描过程中。开源的规则编辑器为用户提供了极大的灵活性,使得 X - SAST 能够更好地适应不同项目的多样化需求。
X - SAST 凭借其丰富的核心功能和便捷的安装使用方式,为代码审计工作提供了一种高效、全面的解决方案。然而,使用者务必牢记遵守相关法律法规,合法、合规地使用该工具,确保代码审计工作在正确的轨道上进行,共同维护健康、安全的网络环境。
下载
原文始发于微信公众号(网络侦查研究院):X - SAST:多语言轻量代码审计新利器
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论