项目作者: 0x00-x

项目描述 :
Automotion Code Scan
高级语言: Python
项目地址: git://github.com/0x00-x/CodeScan.git
创建时间: 2018-06-20T03:18:45Z
项目社区:https://github.com/0x00-x/CodeScan

开源协议:

下载


Code Security Detection

License
platform
python

Structure Design

workflow

Requirement

环境要求[linux系统]:
python3
mysql
sonar-scanner-cli

DirIntroduce

  1. ├── codescan.log # 日志记录文件
  2. ├── CodeScan.py # 程序入口
  3. ├── core # 配置文件目录
  4. ├── __init__.py
  5. └── settings.py
  6. ├── lib # 公共文件目录
  7. ├── common.py
  8. ├── database.py
  9. ├── __init__.py
  10. ├── logger.py
  11. ├── README.md
  12. ├── requirements.txt
  13. ├── rule # sonarqube自定义规则模板
  14. ├── sonar-custom-rule
  15. ├── temp # 项目扫描临时存放目录
  16. ├── test
  17. └── 11.py
  18. ├── thirdparty # 第三方工具目录
  19. └── sonar # sonarqube扫描器
  20. └── utils # 其它工具调用目录
  21. ├── excute.py
  22. ├── gitlab.py
  23. ├── __init__.py

Configure

配置基本信息

  1. # 克隆项目
  2. git clone https://github.com/Canbing007/CodeScan.git
  3. # 安装git
  4. yum install git
  5. # 安装python依赖包
  6. pip install requirements.txt
  7. ### 配置项目信息
  8. # dingding配置
  9. ding_Token = "xx"
  10. ding_URL = "https://xx.com/"
  11. ding_Data = {
  12. "grant_type" : "client_credentials",
  13. "client_id" : 3,
  14. "client_secret" : "xx",
  15. "scope": "*"
  16. }
  17. # git用户配置和gerrit配置
  18. git_api = "http://git.xxx.com/api/v3/"
  19. git_token = {'PRIVATE-TOKEN': 'xxx-_bJ_b'}
  20. git_user = 'xx'
  21. git_pwd = 'xx'
  22. # 配置信息
  23. sonar_url = 'http://sonar.xx.com'
  24. sonar_website_user = 'xx'
  25. sonar_website_pwd = 'xx'
  26. # 数据库可配置
  27. soc_mysql_host = "127.0.0.1"
  28. soc_mysql_port = 3306
  29. soc_mysql_user = "xx"
  30. soc_mysql_pwd = "xx"
  31. soc_mysql_db = "xx"
  32. sonar_host = "192.168.1.1"
  33. sonar_port = 3306
  34. sonar_user = "xx"
  35. sonar_pwd = "xx"
  36. sonar_db = "xx"

Usage

  1. # 赋予项目的sonar脚本有执行权限
  2. chmod -R +x CodeScan
  3. # 配置内存信息
  4. linux防止内存报错:
  5. export SONAR_SCANNER_OPTS="-Xmx512m"
  6. windows防止内存报错:
  7. set SONAR_SCANNER_OPTS=-Xmx512m
  8. # 配置gitlab和gerrit
  9. 1.gitlabgerrit上的新建一个扫描账户,把扫描账户添加成为每个项目的一员,具有拉取项目权限
  10. 2.git的机器上配置好ssh-key,以便拉取项目
  11. # 执行如下命令
  12. python3 CodeScan.py

Todo

1.并发扫描测试