forked from cycodehq/cycode-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconsts.py
More file actions
128 lines (106 loc) · 4.92 KB
/
Copy pathconsts.py
File metadata and controls
128 lines (106 loc) · 4.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
PRE_COMMIT_COMMAND_SCAN_TYPE = 'pre_commit'
PRE_RECEIVE_COMMAND_SCAN_TYPE = 'pre_receive'
COMMIT_HISTORY_COMMAND_SCAN_TYPE = 'commit_history'
SECRET_SCAN_TYPE = 'secret'
INFRA_CONFIGURATION_SCAN_TYPE = 'iac'
SCA_SCAN_TYPE = "sca"
SAST_SCAN_TYPE = "sast"
INFRA_CONFIGURATION_SCAN_SUPPORTED_FILES = [
'.tf', '.tf.json', '.json', '.yaml', '.yml', 'dockerfile'
]
SECRET_SCAN_FILE_EXTENSIONS_TO_IGNORE = [
'.7z', '.bmp', '.bz2', '.dmg', '.exe', '.gif', '.gz', '.ico', '.jar', '.jpg', '.jpeg', '.png', '.rar',
'.realm', '.s7z', '.svg', '.tar', '.tif', '.tiff', '.webp', '.zi', '.lock', '.css', '.less', '.dll',
'.enc', '.deb', '.obj', '.model'
]
SCA_CONFIGURATION_SCAN_SUPPORTED_FILES = [
'cargo.lock', 'cargo.toml',
'composer.json', 'composer.lock',
'go.sum', 'go.mod', 'gopkg.lock',
'pom.xml', 'build.gradle', 'gradle.lockfile', 'build.gradle.kts',
'package.json', 'package-lock.json', 'yarn.lock', 'npm-shrinkwrap.json',
'packages.config', 'project.assets.json', 'packages.lock.json', 'nuget.config', '.csproj',
'gemfile', 'gemfile.lock',
'build.sbt', 'build.scala', 'build.sbt.lock',
'pyproject.toml', 'poetry.lock',
'pipfile', 'pipfile.lock', 'requirements.txt', 'setup.py'
]
SCA_EXCLUDED_PATHS = [
'node_modules'
]
PROJECT_FILES_BY_ECOSYSTEM_MAP = {
"crates": ["Cargo.lock", "Cargo.toml"],
"composer": ["composer.json", "composer.lock"],
"go": ["go.sum", "go.mod", "Gopkg.lock"],
"maven_pom": ["pom.xml"],
"maven_gradle": ["build.gradle", "build.gradle.kts", "gradle.lockfile"],
"npm": ["package.json", "package-lock.json", "yarn.lock", "npm-shrinkwrap.json", ".npmrc"],
"nuget": ["packages.config", "project.assets.json", "packages.lock.json", "nuget.config"],
"ruby_gems": ["Gemfile", "Gemfile.lock"],
"sbt": ["build.sbt", "build.scala", "build.sbt.lock"],
"pypi_poetry": ["pyproject.toml", "poetry.lock"],
"pypi_pipenv": ["Pipfile", "Pipfile.lock"],
"pypi_requirements": ["requirements.txt"],
"pypi_setup": ["setup.py"]
}
COMMIT_RANGE_SCAN_SUPPORTED_SCAN_TYPES = [SECRET_SCAN_TYPE, SCA_SCAN_TYPE]
COMMIT_RANGE_BASED_COMMAND_SCAN_TYPES = [PRE_RECEIVE_COMMAND_SCAN_TYPE, COMMIT_HISTORY_COMMAND_SCAN_TYPE]
DEFAULT_CYCODE_API_URL = "https://api.cycode.com"
DEFAULT_CYCODE_APP_URL = "https://app.cycode.com"
# env var names
CYCODE_API_URL_ENV_VAR_NAME = "CYCODE_API_URL"
CYCODE_APP_URL_ENV_VAR_NAME = "CYCODE_APP_URL"
TIMEOUT_ENV_VAR_NAME = "TIMEOUT"
CYCODE_CLI_REQUEST_TIMEOUT_ENV_VAR_NAME = "CYCODE_CLI_REQUEST_TIMEOUT"
LOGGING_LEVEL_ENV_VAR_NAME = "LOGGING_LEVEL"
# use only for dev envs locally
BATCH_SIZE_ENV_VAR_NAME = "BATCH_SIZE"
VERBOSE_ENV_VAR_NAME = "CYCODE_CLI_VERBOSE"
CYCODE_CONFIGURATION_DIRECTORY: str = '.cycode'
# user configuration sections names
EXCLUSIONS_BY_VALUE_SECTION_NAME = 'values'
EXCLUSIONS_BY_SHA_SECTION_NAME = 'shas'
EXCLUSIONS_BY_PATH_SECTION_NAME = 'paths'
EXCLUSIONS_BY_RULE_SECTION_NAME = 'rules'
EXCLUSIONS_BY_PACKAGE_SECTION_NAME = 'packages'
# 1MB in bytes (in decimal)
FILE_MAX_SIZE_LIMIT_IN_BYTES = 1000000
# 20MB in bytes (in binary)
ZIP_MAX_SIZE_LIMIT_IN_BYTES = 20971520
# 200MB in bytes (in binary)
SCA_ZIP_MAX_SIZE_LIMIT_IN_BYTES = 209715200
# scan with polling
SCAN_POLLING_WAIT_INTERVAL_IN_SECONDS = 5
DEFAULT_SCAN_POLLING_TIMEOUT_IN_SECONDS = 3600
SCAN_POLLING_TIMEOUT_IN_SECONDS_ENV_VAR_NAME = 'SCAN_POLLING_TIMEOUT_IN_SECONDS'
DETECTIONS_COUNT_VERIFICATION_TIMEOUT_IN_SECONDS = 600
DETECTIONS_COUNT_VERIFICATION_WAIT_INTERVAL_IN_SECONDS = 10
DEFAULT_SCA_PRE_COMMIT_TIMEOUT_IN_SECONDS = 600
SCA_PRE_COMMIT_TIMEOUT_IN_SECONDS_ENV_VAR_NAME = 'SCA_PRE_COMMIT_TIMEOUT_IN_SECONDS'
PROGRESS_UPDATE_COMMITS_INTERVAL = 100
# pre receive scan
PRE_RECEIVE_MAX_COMMITS_TO_SCAN_COUNT_ENV_VAR_NAME = 'PRE_RECEIVE_MAX_COMMITS_TO_SCAN_COUNT'
DEFAULT_PRE_RECEIVE_MAX_COMMITS_TO_SCAN_COUNT = 50
PRE_RECEIVE_COMMAND_TIMEOUT_ENV_VAR_NAME = 'PRE_RECEIVE_COMMAND_TIMEOUT'
DEFAULT_PRE_RECEIVE_COMMAND_TIMEOUT_IN_SECONDS = 60
PRE_RECEIVE_REMEDIATION_MESSAGE = """
Cycode Secrets Push Protection
------------------------------------------------------------------------------
Resolve the following secrets by rewriting your local commit history before pushing again.
Learn how to: https://cycode.com/dont-let-hardcoded-secrets-compromise-your-security-4-effective-remediation-techniques
"""
EXCLUDE_DETECTIONS_IN_DELETED_LINES_ENV_VAR_NAME = 'EXCLUDE_DETECTIONS_IN_DELETED_LINES'
DEFAULT_EXCLUDE_DETECTIONS_IN_DELETED_LINES = True
# scan statuses
SCAN_STATUS_COMPLETED = 'Completed'
SCAN_STATUS_ERROR = 'Error'
# git consts
COMMIT_DIFF_DELETED_FILE_CHANGE_TYPE = 'D'
GIT_HEAD_COMMIT_REV = 'HEAD'
EMPTY_COMMIT_SHA = '0000000000000000000000000000000000000000'
GIT_PUSH_OPTION_COUNT_ENV_VAR_NAME = 'GIT_PUSH_OPTION_COUNT'
GIT_PUSH_OPTION_ENV_VAR_PREFIX = 'GIT_PUSH_OPTION_'
SKIP_SCAN_FLAG = 'skip-cycode-scan'
VERBOSE_SCAN_FLAG = 'verbose'
LICENSE_COMPLIANCE_POLICY_ID = '8f681450-49e1-4f7e-85b7-0c8fe84b3a35'
PACKAGE_VULNERABILITY_POLICY_ID = '9369d10a-9ac0-48d3-9921-5de7fe9a37a7'