TempFox is a streamlined Python tool that manages AWS credentials and automates CloudFox security checks. It elegantly handles both long-term (AKIA) and temporary (ASIA) AWS credentials.
_____ _____
|_ _|__ _ __ ___ _ _| ___|____ __
| |/ _ \ '_ ` _ \| '_ \ |_ / _ \ \/ /
| | __/ | | | | | |_) | _| (_) > <
|_|\___|_| |_| |_| .__/|_| \___/_/\_\
|_| - 🚀 Comprehensive Pre-flight Checks: Automatic verification and installation of all dependencies
- 🔄 Automatic AWS CLI installation and version detection
- 🐹 Go Binary Management: Automatic Go installation and configuration
- 🦊 CloudFox Integration: Automatic CloudFox installation and seamless security checks
- 🔑 Support for both AKIA (long-term) & ASIA (temporary) credentials
- ⏰ Token expiration handling with auto-renewal option
- ✅ Smart credential format validation and verification
- 🔍 Environment variable detection and reuse
- 🧪 AWS connection testing with detailed identity information
- 🛡️ Cross-platform dependency management (Windows, macOS, Linux)
There are several ways to install TempFox:
# Install UV if not already installed
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install TempFox
uv tool install tempfox# Unix/Linux/macOS
curl -sSL https://raw.githubusercontent.com/alfdav/tempfox/main/install.sh | bash
# Windows PowerShell
iwr https://raw.githubusercontent.com/alfdav/tempfox/main/install.ps1 | iexpip install tempfoxgit clone https://github.com/alfdav/tempfox.git
cd tempfox
uv sync
uv run tempfox# Pull and run
docker run --rm -it \
-e AWS_ACCESS_KEY_ID=your_key \
-e AWS_SECRET_ACCESS_KEY=your_secret \
ghcr.io/alfdav/tempfox:latest
# Or build locally
git clone https://github.com/alfdav/tempfox.git
cd tempfox
docker build -t tempfox .
docker run --rm -it tempfoxTempFox automatically manages all its dependencies through comprehensive pre-flight checks:
Automatically Installed:
- AWS CLI (if missing)
- Go binary (if missing)
- CloudFox security tool (if missing)
- UV package manager (if missing, via installation scripts)
Required:
- Python 3.8+
- Internet connection for downloads
Optional but Recommended:
- UV package manager (for faster dependency management)
Python Dependencies:
- No required third-party runtime Python dependencies
On your first run, TempFox will automatically perform pre-flight checks and install any missing dependencies:
tempfoxThis will:
- ✅ Verify Python installation
- 📦 Check UV package manager (optional but recommended)
- 🔧 Install Go if missing
- 🦊 Install CloudFox if missing
- 🔄 Install AWS CLI if missing
- 🚀 Launch TempFox
Long-term credentials (AKIA):
export AWS_ACCESS_KEY_ID=AKIAXXXXXXXXXXXXXXXX
export AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
tempfoxTemporary credentials (ASIA):
export AWS_ACCESS_KEY_ID=ASIAXXXXXXXXXXXXXXXX
export AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
export AWS_SESSION_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
tempfoxSkip pre-flight checks (not recommended):
tempfox --skip-preflightCheck version:
tempfox --version# Clone the repository
git clone https://github.com/alfdav/tempfox.git
cd tempfox
# Install dependencies
uv sync
# Run in development mode
uv run tempfox
# Fast local quality gate
make hygiene-fast
# Full gate (matches CI coverage threshold)
make hygiene
# Safe autofix + full gate
make hygiene-fix
# Install git hooks (pre-commit + pre-push)
uv run pre-commit install --hook-type pre-commit --hook-type pre-push
# Type checking (standalone)
uv run mypy tempfox/See docs/codex-hygiene-runbook.md and AGENTS.md for the cleanup/review workflow contract.
# Build development image
docker build -f Dockerfile.dev -t tempfox-dev .
# Run development container
docker run --rm -it \
-v $(pwd):/app \
-v ~/.aws:/home/tempfox/.aws:ro \
tempfox-dev
# Or use docker-compose
docker-compose run tempfox-dev- Python 3.8 or higher
- Linux/macOS/Windows operating system
- Internet connection
- UV package manager (recommended) or pip
MIT License
Copyright (c) 2024 David Diaz
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER, AUTHORS, OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
USE OF THIS SOFTWARE IS ENTIRELY AT YOUR OWN RISK. THE AUTHORS ASSUME NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR OMISSIONS IN THE CONTENT OF THIS SOFTWARE. THE INFORMATION CONTAINED IN THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS WITH NO GUARANTEES OF COMPLETENESS, ACCURACY, USEFULNESS OR TIMELINESS.
By using this software, you acknowledge and agree that you are using it at your own risk and discretion. The authors shall not be held responsible for any security breaches, data loss, or any other damages resulting from the use of this software.
Made with ❤️ by David