Skip to content

Commit 0c0759e

Browse files
authored
Add installer script using binstaller (#419)
* Add binstaller configuration and installer script deployment
1 parent 45e3e57 commit 0c0759e

6 files changed

Lines changed: 114 additions & 10 deletions

File tree

.config/binstaller.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# yaml-language-server: $schema=https://raw.githubusercontent.com/binary-install/binstaller/main/schema/InstallSpec.json
2+
schema: v1
3+
name: pipeleek
4+
repo: CompassSecurity/pipeleek
5+
asset:
6+
template: ${NAME}_${VERSION}_${OS}_${ARCH}
7+
rules:
8+
- when:
9+
os: windows
10+
ext: .exe
11+
supported_platforms:
12+
- os: linux
13+
arch: amd64
14+
- os: linux
15+
arch: arm64
16+
- os: darwin
17+
arch: amd64
18+
- os: darwin
19+
arch: arm64
20+
- os: windows
21+
arch: amd64
22+
- os: windows
23+
arch: arm64

.github/workflows/docs.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,12 @@ jobs:
4040
- name: Generate Docs
4141
run: go run ./cmd/pipeleek docs --github-pages
4242

43+
- name: Install binstaller
44+
run: go install github.com/binary-install/binstaller/cmd/binst@latest
45+
46+
- name: Generate Installer Script
47+
run: binst gen --config .config/binstaller.yml -o cli-docs/site/install.sh
48+
4349
- name: Setup Pages
4450
uses: actions/configure-pages@v5
4551

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,18 @@ Once secrets are discovered, further exploitation often requires additional tool
2323

2424
To begin using Pipeleek, download the latest binary from the [Releases](https://github.com/CompassSecurity/pipeleek/releases) page.
2525

26+
### Quick Install (Linux/macOS)
27+
28+
Install the latest version with a single command:
29+
30+
```bash
31+
curl -sL https://compasssecurity.github.io/pipeleek/install.sh | sh
32+
```
33+
34+
> **⚠️ Security Warning:** Piping scripts directly to `sh` can be dangerous. Always review the script contents first at [https://compasssecurity.github.io/pipeleek/install.sh](https://compasssecurity.github.io/pipeleek/install.sh) before executing.
35+
36+
### Install with Go
37+
2638
Alternatively, install using Go:
2739

2840
```bash

docs/introduction/getting_started.md

Lines changed: 69 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,89 @@ keywords:
1010
- secrets scanning tutorial
1111
---
1212

13+
<style>
14+
@keyframes slide {
15+
0% { transform: translateX(0); }
16+
100% { transform: translateX(-100%); }
17+
}
18+
.secret-stream {
19+
display: flex;
20+
gap: 30px;
21+
animation: slide 20s linear infinite;
22+
font-size: 2em;
23+
margin: 20px 0;
24+
min-width: 200%;
25+
}
26+
.stream-container {
27+
overflow: hidden;
28+
width: 100%;
29+
display: flex;
30+
}
31+
</style>
32+
1333
<p align="center">
1434
<img style="max-height: 10rem" src="https://github.com/CompassSecurity/pipeleek/blob/main/docs/logo.png?raw=true" alt="Pipeleek Logo - CI/CD Pipeline Secrets Scanner">
1535
</p>
1636

17-
# Why Pipeleek? {#why}
37+
<div class="stream-container">
38+
<div class="secret-stream">
39+
<span>💎</span>
40+
<span>🗝️</span>
41+
<span>🔐</span>
42+
<span>💳</span>
43+
<span>🎫</span>
44+
<span>🪙</span>
45+
<span>💰</span>
46+
<span>🔑</span>
47+
<span>💎</span>
48+
<span>🗝️</span>
49+
<span>🔐</span>
50+
<span>💳</span>
51+
<span>🎫</span>
52+
<span>🪙</span>
53+
<span>💰</span>
54+
<span>🔑</span>
55+
<span>💎</span>
56+
<span>🗝️</span>
57+
<span>🔐</span>
58+
<span>💳</span>
59+
<span>🎫</span>
60+
<span>🪙</span>
61+
<span>💰</span>
62+
<span>🔑</span>
63+
<span>💎</span>
64+
<span>🗝️</span>
65+
<span>🔐</span>
66+
<span>💳</span>
67+
<span>🎫</span>
68+
<span>🪙</span>
69+
<span>💰</span>
70+
<span>🔑</span>
71+
</div>
72+
</div>
73+
74+
## Why Pipeleek? {#why}
1875

1976
Scanning for credentials in CI/CD pipelines is interesting because secrets often end up in pipeline logs or build artifacts that traditional Git scanners won’t check.
2077
This means you can catch leaked secrets that are injected or generated at runtime, not just those committed to Git.
2178

2279
Once secrets are discovered, further exploitation often requires additional tooling. Pipeleek provides several helper commands to assist with this process.
2380

24-
# Getting Started
25-
2681
## Installation
2782

83+
### Quick Install (Linux/macOS)
84+
85+
Install the latest version with a single command:
86+
87+
```bash
88+
curl -sL https://compasssecurity.github.io/pipeleek/install.sh | sh
89+
```
90+
91+
> **⚠️ Security Warning:** Piping scripts directly to `sh` can be dangerous. Always review the script contents first at [https://compasssecurity.github.io/pipeleek/install.sh](https://compasssecurity.github.io/pipeleek/install.sh) before executing.
92+
2893
### Install with Go
2994

30-
The recommended way to install Pipeleek is using Go:
95+
Alternatively, install using Go:
3196

3297
```bash
3398
go install github.com/CompassSecurity/pipeleek/cmd/pipeleek@latest

docs/methodology/elk.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ keywords:
99
- log analysis
1010
---
1111

12-
# ELK Integration for Pipeline Secrets Analysis
12+
## ELK Integration for Pipeline Secrets Analysis
1313

1414
To easily analyze the results you can [redirect the pipeleek](https://github.com/deviantony/docker-elk?tab=readme-ov-file#injecting-data) output using `nc` into Logstash.
1515

docs/methodology/gitlab.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ keywords:
1313

1414
Many companies use (self-hosted) GitLab instances to manage their source codes, often exposing sensitive data through CI/CD pipelines. In times when a lot of infrastructure is deployed as code (IaC) these configurations must be source-controlled as well, putting a lot of responsibility on the source code platform used.
1515

16-
# Anonymous Access
16+
## Anonymous Access
1717

1818
If you do not have credentials for the GitLab instance you might want to look at the public repositories and test if you can sign up for an account.
1919

@@ -25,7 +25,7 @@ See if you can already identify potentially sensitive data e.g. credentials in s
2525
The next step would be to try to create an account. Head to `https://leakycompany.com/users/sign_up` and try to register a new account.
2626
Sometimes you can only create an account with an email address managed by the customer, some instances require the admins to accept the register request, and others completely disable it.
2727

28-
# Authenticated Access
28+
## Authenticated Access
2929

3030
Sweet now you have access to the GitLab instance with an account.
3131
The first thing to look out for: What projects do I have access to? Is it more than unauthenticated?
@@ -49,8 +49,6 @@ pipeleek gl vuln -g https://leakycompany.com -t glpat-[redacted]
4949
2024-11-14T14:29:05+01:00 info Fetching CVEs for this version version=17.5.1-ee
5050
```
5151

52-
# Misconfigurations And Mishandling
53-
5452
## Enumerating CI/CD Variables And Secure Files
5553

5654
If you already have access to projects and groups you can try to enumerate CI/CD variables and use these for potential privilege escalation/lateral movement paths.
@@ -168,7 +166,7 @@ Review the findings manually and tweak the flags according to your needs.
168166

169167
If you found any valid credentials, e.g. personal access tokens, cloud credentials, and so on, check if you can move laterally or escalate privileges.
170168

171-
**An example of privilege escalation:**
169+
### An example of privilege escalation
172170

173171
Pipeleek identified the following based64 encode secret in the environment variable `CI_REPO_TOKEN`:
174172

0 commit comments

Comments
 (0)