Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/p3gleg/whaler
Program to reverse Docker images into Dockerfiles
https://github.com/p3gleg/whaler
docker-image docker-security dockerfile passwords reverse-engineering secrets security security-tools
Last synced: 5 days ago
JSON representation
Program to reverse Docker images into Dockerfiles
- Host: GitHub
- URL: https://github.com/p3gleg/whaler
- Owner: P3GLEG
- License: gpl-3.0
- Created: 2018-06-05T03:37:18.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-06-25T09:10:30.000Z (over 2 years ago)
- Last Synced: 2025-01-27T08:05:20.751Z (5 days ago)
- Topics: docker-image, docker-security, dockerfile, passwords, reverse-engineering, secrets, security, security-tools
- Language: Go
- Size: 69.3 KB
- Stars: 1,102
- Watchers: 25
- Forks: 96
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Whaler
Whaler is a Go program which is designed to reverse engineer docker images into the Dockerfile that created it. It currently performs the following actions
- Generates a Dockerfile from an Image
- Searches added filenames for potential secret files
- Extracts files that were added by the Docker ADD/COPY Instructions
- It also displays misc. information such as ports open, the user it runs as and environment variables.### How to run it
The easiest way is to run the tool in docker container:
```bash
docker pull pegleg/whaler
docker run -t --rm -v /var/run/docker.sock:/var/run/docker.sock:ro pegleg/whaler -sV=1.36 nginx:latest
``````bash
docker build --rm -t pegleg/whaler .
alias whaler="docker run -t --rm -v /var/run/docker.sock:/var/run/docker.sock:ro pegleg/whaler"
whaler -sV=1.36 nginx:latest
```This tool will pull target docker image automatically. Parameter `-sV=1.36` is not always required.
### How to build it
Git clone the project into your $GOPATH/src directory and perform the following command
```bash
go get -u github.com/P3GLEG/Whaler
cd $GOPATH/src/github.com/P3GLEG/Whaler
go build .
```### How to run it
```go
./Whaler
Usage of ./Whaler:
-f string
File containing images to analyze seperated by line
-filter
Filters filenames that create noise such as node_modules. Check ignore.go file for more details (default true)
-sV string
Set the docker client ID to a specific version -sV=1.36
-v Print all details about the image
-x Save layers to current directory
```