Iris
A powerful Python-based security tool that analyzes HTTP security headers for websites and automatically generates clickjacking payloads when vulnerabilities are detected.
✨ Features
- Real-time Progress Tracking - Beautiful progress bars with percentage completion
- Comprehensive Header Analysis - Checks 11 critical security headers
- Automatic Payload Generation - Creates clickjacking test payloads when X-Frame-Options is missing
- Rich Terminal Interface - Colorful, modern CLI with animated spinners and styled tables
- SSL Bypass Support - Works with sites having SSL certificate issues
- Fast Performance - Single HTTP request for all header checks
📋 Supported Security Headers
| Header | Description |
|---|---|
| Content-Security-Policy | Prevents XSS and injection attacks |
| X-Content-Type-Options | Prevents MIME type sniffing |
| X-Frame-Options | Protects against clickjacking |
| X-XSS-Protection | Enables XSS filtering |
| Strict-Transport-Security | Enforces HTTPS connections |
| Referrer-Policy | Controls referrer information |
| Feature-Policy | Controls browser features |
| Permissions-Policy | Modern replacement for Feature-Policy |
| Expect-CT | Certificate transparency |
| Cache-Control | Controls caching behavior |
| Pragma | HTTP/1.0 cache control |
🚀 Installation
Prerequisites
- Python 3.7 or higher
- pip package manager
Quick Install
- Install on using pip:
pip install iris-tod
💻 Usage
Basic Usage
iris <target_url>
Examples
# Check a website with HTTPS
iris https://example.com
# Check a website without protocol (defaults to HTTP)
iris example.com
📊 Sample Output
╭─────────── Iris ────────────╮
│ 🔍 Security Headers Checker │
╰─────────────────────────────╯
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓
┃ Header ┃ Status ┃ Value / Notes ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩
│ Content-Security-Policy │ Missing │ │
│ X-Content-Type-Options │ Missing │ │
│ X-Frame-Options │ Missing │ │
│ X-XSS-Protection │ Missing │ │
│ Strict-Transport-Security │ Missing │ │
│ Referrer-Policy │ Missing │ │
│ Feature-Policy │ Missing │ │
│ Permissions-Policy │ Missing │ │
│ Expect-CT │ Missing │ │
│ Cache-Control │ Present │ public, max-age=0 │
│ Pragma │ Missing │ │
└───────────────────────────┴─────────┴───────────────────┘
╭──────────────────────── Payload Generated ────────────────────────╮
│ Clickjacking payload automatically created │
│ because <target> vulnerable: clickjack_testing.html │
│ │
│ Open it in a browser to test. │
╰───────────────────────────────────────────────────────────────────╯
╭───────────────────────────────────╮
│ Security headers check completed. │
╰───────────────────────────────────╯
🔧 Configuration
SSL Certificate Issues
The tool automatically bypasses SSL certificate verification to work with sites having certificate problems. This is intended for security testing purposes only.
📁 Generated Files
When X-Frame-Options header is missing, the tool automatically creates:
clickjacking_payload.html- HTML file for testing clickjacking vulnerabilities
⚠️ Security Notice
This tool is designed for:
- Authorized security testing on your own websites
- Educational purposes and learning about web security
- Compliance auditing of web applications
Important: Only use this tool on websites you own or have explicit permission to test.
🛠️ Requirements
See requirements.txt for the complete list of dependencies:
- requests >= 2.28.0
- rich >= 13.0.0
- urllib3 >= 1.26.0
- colorama >= 0.4.4
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- 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
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
�� Related Projects
⭐ If you found this tool helpful, please give it a star!
Release files for iris-tod 2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iris_tod-2.0.tar.gz | 4.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iris_tod-2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.8 kB
Release files / iris_tod-2.0.tar.gz
| Download URL | iris_tod-2.0.tar.gz |
|---|---|
| Size | 4.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8f3a47e96760f85f920db9629d926bc66198ba3dce41607539cbf4444238adda
|
|
BLAKE2b-256 checksum How to use checksums |
2ed9a6db0055422afe58217a39345ff83e17b9eaf8edfb4bded9b1856e2cc0a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|
Release files / iris_tod-2.0-py3-none-any.whl
| Download URL | iris_tod-2.0-py3-none-any.whl |
|---|---|
| Size | 5.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
60b268043bb75495e2eb6684ab807c6c6b3447564e16bb6456700b398a1eb1f7
|
|
BLAKE2b-256 checksum How to use checksums |
3b53317d88ffbab622ed3cbd4d70d3e2439b18ce0aba0cbe4db03fa589772871
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|