-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathaction.yml
More file actions
73 lines (68 loc) · 2.51 KB
/
Copy pathaction.yml
File metadata and controls
73 lines (68 loc) · 2.51 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
name: 'GitGalaxy Scanner'
description: 'Repo intelligence for humans and AI, without compilation: architecture mapping, risk scoring, SBOM/SARIF output, CI/CD.'
branding:
icon: 'shield'
color: 'purple'
inputs:
tool:
description: >
The GitGalaxy command to execute.
Options: galaxyscope, blast, vault-sentinel, supply-chain-firewall, xray-inspector, pii-leak-hunter, terabyte-log-scanner, api-network-map. (Note: SARIF and SBOM generation are now native to galaxyscope).
required: true
default: 'galaxyscope'
target:
description: 'The directory or file path to scan.'
required: true
default: '.'
args:
description: 'Additional CLI arguments to pass to the tool (e.g., --sarif-only, --sbom-only, --fail-on-secrets, --fail-on-malware, --max-systemic-threat 150.0).'
required: false
default: ''
version:
description: 'The version of GitGalaxy to install from PyPI. Defaults to latest.'
required: false
default: 'latest'
full_precision:
description: 'Opt-in to install heavy physics engines (networkx, tiktoken, xgboost) for Blast Radius and ML Threat Inference.'
required: false
default: 'false'
runs:
using: "composite"
steps:
- name: Set up Python
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 #
with:
python-version: '3.10'
- name: Install GitGalaxy
shell: bash
env:
GG_VERSION: ${{ inputs.version }}
GG_FULL_PRECISION: ${{ inputs.full_precision }}
run: |
if [ "$GG_VERSION" = "local" ]; then
echo "Dogfooding local GitGalaxy source..."
pip install -e ".[yaml]"
elif [ "$GG_VERSION" = "latest" ]; then
echo "Installing latest GitGalaxy from PyPI..."
pip install "gitgalaxy[yaml]"
else
echo "Installing GitGalaxy version ${GG_VERSION}..."
pip install "gitgalaxy[yaml]==${GG_VERSION}"
fi
if [ "$GG_FULL_PRECISION" = "true" ]; then
echo "Unlocking Full Precision Mode..."
pip install networkx tiktoken xgboost pandas numpy
else
echo "Running in ultra-fast Zero-Dependency Mode."
fi
- name: Execute GitGalaxy Tool
shell: bash
env:
GG_TOOL: ${{ inputs.tool }}
GG_TARGET: ${{ inputs.target }}
GG_ARGS: ${{ inputs.args }}
GITGALAXY_LICENSE_KEY: "COMMUNITY_FREE_TIER"
run: |
echo "Running: ${GG_TOOL} ${GG_TARGET} ${GG_ARGS}"
set -- ${GG_TOOL} ${GG_TARGET} ${GG_ARGS}
"$@"