sourcefare是一款国产开源免费的代码扫描工具,包含安全漏洞、编码缺陷和合规性问题扫描,支持免费私有化部署,支持常见的Java、JavaScript、Go、Python、C++、C#等语言,工具支持一键安装、零配置,页面操作简洁明了,本文将介绍如何快速安装配置及入门使用教程。
私有部署版本支持多种操作系统,包括 Linux、Docker、Windows及macOS,方便团队根据自身环境灵活选择下载、安装方式。
以Ubuntu为例,CentOS的下载、安装参考官方文档。
wget -O tiklab-sourcefare-1.1.2.deb https://install.tiklab.net/app/install/sourcefare/V1.1.2/tiklab-sourcefare-1.1.2.deb
dpkg -i tiklab-sourcefare-1.1.2.deb
wget -O tiklab-sourcefare-1.1.1.tar.gz https://install.tiklab.net/app/install/sourcefare/V1.1.1/tiklab-sourcefare-1.1.1.tar.gz
docker load -i tiklab-sourcefare-x.x.x.tar.gz
docker run -itd -p 8900:8900 tiklab-sourcefare-x.x.x
启动后,默认可以通过 http://ip:8900 访问,默认用户名/密码为admin/123456。
默认支持通过账号密码登录,满足基础登录需求。若需要使用企业微信、钉钉或 LDAP 等高级登录方式,可参阅文档获取相关配置说明。

sourcefare登录页
登录成功后,进入sourcefare首页。

sourcefare首页
允许自定义端口、数据存放目录、数据库连接、数据库备份策略和统一登录设置,以满足特定个性化需求。配置文件yaml文件默认位置:
系统 | 默认位置 |
Windows | 默认在安装目录 --> conf目录下application.yaml文件 |
Mac | 默认在app下的Contents --> conf 目录下application.yaml文件 |
Linux | 默认在 |
Docker | 默认在镜像文件内 |
允许用户自定义应用的启动端口,以便在特定网络环境下避免端口冲突或满足其他配置需求。

端口配置
属性 | 说明 |
serer.port | 系统启动的端口号(可更改)。 |
支持自定义数据库连接方式,用户可以选择使用内嵌数据库或指定外部数据库地址。根据需求配置数据库连接。

数据库配置
属性 | 说明 |
postgresql.embbed.enable | 是否使用内嵌数据库,true:使用 false:不使用。如果配置为false,需要把该文件中jdbc下的数据库连接信息更改为自己的数据库地址,用户名以及密码。 |
postgresql.database | 是否使用内嵌数据库默认连接的数据库,默认为tiklab_sourcefare如果更改次默认值需要把jdbc下的数据库连接信息更改为新的数据地址。 |
postgresql.db.port | 使用内嵌数据库的启动端口,默认为8901,如果更改需要同时把jdbc.url中的数据库连接地址端口更改。 |
postgresql.db.username | 使用内嵌数据库的用户名,默认为postgres,如果更改需要同时把jdbc.username中的数据库连接地址用户名更改。 |
postgresql.db.password | 使用内嵌数据库的密码,默认为darth2020,如果更改需要同时把jdbc.password中的数据库连接地址密码更改。 |
postgresql.db.address | 使用内嵌数据库的数据库文件保存位置,默认为${DATA_HOME}/postgresql,即默认的应用数据目录下的postgresql目录。注:如果更改该目录,该路径目录必须为空目录,否则会导致数据库无法启动。 |
jdbc.url | 默认是: 其中 9301 为端口号,tiklab_sourcefare为数据库名字 |
jdbc.username | 数据库登录名。 |
jdbc.password | 数据库登录密码。 |
支持用户自定义数据存放目录的位置,协助用户根据需要选择存储路径。

数据目录配置
属性 | 说明 |
DATA_HOME | 数据文件存放地址。 |
可自定义扫描方案,目前支持检测语言Java、JavaScript、Go、Python、C++等。

Java扫描规则
集成了内部扫描规则集

扫描规则集
sourcefare支持上传代码压缩包进行代码扫描、Git方式代码扫描、集成CICD进行代码扫描。例如添加服务器扫描(包上传)方式的代码扫描。项目创建完成后,点击上传代码

上传代码
代码上传完成后,点击右上角扫描按钮,进行代码扫描。

代码扫描
扫描完成后在扫描报告页面显示代码扫描历史列表。

代码扫描报告
点击相应代码扫描编号,查看详细报告。代码扫描报告首页展示报告概览,通过扫描出的问题和设置的阈值展示代码扫描结果。

代码扫描报告概览
点击问题TAB显示当次扫描历史出的所有问题列表。点击问题编号可查看详细问题描述。

问题列表
在度量TAB可显示当前代码扫描历史的重复率、复杂度、覆盖率等报告。

代码扫描报告
有兴趣的开发者朋友可以去TikLab官网体验演示DEMO或者下载社区版本进行安装体验,有什么问题或提议可以加入社区技术交流群进行反馈!