Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions cybersecurity/cicd/squealer.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Git clone stage
FROM alpine:latest AS source
RUN apk add --no-cache git
WORKDIR /src
RUN git clone https://github.com/owenrumney/squealer.git . && \
ls -la # Debug: verify files

# Build stage
FROM golang:1.21-alpine AS builder
WORKDIR /build
COPY --from=source /src/ ./
RUN ls -la && \
go mod vendor && \
go build -mod=vendor -ldflags="-w -s" -o squealer ./cmd/squealer

# Final stage
FROM gcr.io/distroless/static-debian12:nonroot
WORKDIR /app
COPY --from=builder /build/squealer /app/
USER nonroot:nonroot
ENTRYPOINT ["/app/squealer"]
37 changes: 37 additions & 0 deletions cybersecurity/cicd/squealer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
description: Squealer is a tool that finds secrets like keys, tokens and passwords in your code. It scans remote Git repositories for potential credential leaks.

categories:
- cybersecurity
- cicd

functions:
squealer_scan_git_repo:
description: Scan a remote git repository for secrets and credentials
parameters:
repository:
type: string
description: Git repository URL (SSH format)
examples:
- "git@github.com:username/repo.git"
- "git@github.com:owenrumney/woopsie.git"
container:
force: true
image: squealer:latest
cmdline:
- ${repository}

squealer_scan_everything_git_repo:
description: Scan a remote git repository and history for secrets and credentials with everything flag
parameters:
repository:
type: string
description: Git repository URL (SSH format)
examples:
- "git@github.com:username/repo.git"
- "git@github.com:owenrumney/woopsie.git"
container:
force: true
image: squealer:latest
cmdline:
- ${repository}
- --everything