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: about 2 months 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: 2024-10-12T18:41:25.609Z (2 months ago)
- Topics: docker-image, docker-security, dockerfile, passwords, reverse-engineering, secrets, security, security-tools
- Language: Go
- Size: 69.3 KB
- Stars: 1,060
- Watchers: 24
- Forks: 94
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-docker - Whaler - Program to reverse Docker images into Dockerfiles by [@P3GLEG](https://github.com/P3GLEG/). (Docker Images / Builder)
- awesome-docker - Whaler - Program to reverse Docker images into Dockerfiles by [@P3GLEG](https://github.com/P3GLEG/). (Docker Images / Builder)
- awesome-ops - P3GLEG/Whaler - 3.0|1058|2018-06-05|2022-06-25 | 能够查看在运行容器的 Dockerfile 的工具 | (Docker-Tools)
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
```