Note this will be put on hold for a few weeks if you would like to contribute just fork this and send an resolvement
APIHawk is a powerful and flexible API security testing tool designed to help security professionals and developers identify vulnerabilities in their APIs. With support for REST, GraphQL, and gRPC APIs, APIHawk provides comprehensive scanning, fuzzing, and crawling capabilities.
-
Multi-Protocol Support
- REST API testing
- GraphQL API analysis
- gRPC service scanning
-
Advanced Testing Capabilities
- Endpoint fuzzing
- Vulnerability scanning
- API crawling
- Authentication testing
- Rate limit detection
-
Smart Detection
- Automatic API type detection
- Intelligent endpoint discovery
- Status code analysis
- Response pattern matching
- Python 3.8 or higher
- pip package manager
# Clone the repository
git clone https://github.com/yourusername/APIHawk.git
cd APIHawk
# Install in development mode
pip install -e .pip install apihawk# Show help message
python -m apihawk.cli -h
# Scan an API endpoint
python -m apihawk.cli scan --url https://api.example.com --method GET --wordlist wordlists/common.txt
# Fuzz endpoints
python -m apihawk.cli fuzz --url https://api.example.com/FUZZ --method GET --wordlist wordlists/common.txt
# Crawl an API
python -m apihawk.cli crawl --url https://api.example.com --depth 3python -m apihawk.cli scan \
--url https://api.example.com \
--method GET \
--wordlist wordlists/common.txt \
--timeout 5 \
--verbosepython -m apihawk.cli fuzz \
--url https://api.example.com/FUZZ \
--method GET \
--wordlist wordlists/common.txt \
--cookie "session=xyz" \
--header "Authorization: Bearer token"For detailed documentation, please visit:
APIHawk can be configured using either command-line arguments or a configuration file. See the example configuration for more details.
# sample_config.yaml
timeout: 5
headers:
User-Agent: "APIHawk/1.0.0"
Authorization: "Bearer YOUR_TOKEN"Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors who have helped shape APIHawk
- Inspired by various API security testing tools in the community
APIHawk is under active development. Check the changelog for recent updates and new features.
- Create an issue for bug reports
- Join our community discussions
- Follow project updates
Made by Linkan