# π‘οΈ ShieldScan - Professional Web Security Assessment Tool
[](https://www.python.org/downloads/)
[](LICENSE)
[](https://github.com/psf/black)
**ShieldScan** is a professional, ethical web security assessment tool designed for authorized penetration testing. It provides comprehensive OWASP Top 10 vulnerability detection with a focus on safety, legal compliance, and responsible disclosure.
## β οΈ Legal Notice
**USE THIS TOOL RESPONSIBLY AND LEGALLY**
- β
Only use on systems you **own** or have **explicit written authorization** to test
- β
Obtain proper consent before running in **active mode**
- β
Respect rate limits and avoid causing service disruption
- β Unauthorized access to computer systems is **illegal** under applicable laws
- β The authors assume **no liability** for misuse of this tool
## π Features
### Safe-by-Default Design
- **Passive Mode (Default)**: Non-intrusive reconnaissance and header analysis
- **Active Mode**: Requires explicit consent file for intrusive testing
- **Rate Limiting**: Configurable request throttling (default: 1 req/sec)
- **Dry Run**: Preview checks without sending requests
### Comprehensive Security Checks
β
**HTTP Security Headers**: CSP, HSTS, X-Frame-Options, etc.
β
**Cookie Security**: Secure, HttpOnly, SameSite attributes
β
**XSS Detection**: Reflected XSS using benign markers
β
**SQL Injection**: Error-based detection (non-destructive)
β
**CORS Misconfiguration**: Wildcard and origin reflection
β
**Directory Listing**: Common directory exposure
β
**Open Redirect**: Parameter-based redirect testing
β
**Clickjacking**: Frame protection analysis
### Professional Reporting
- **JSON**: Structured data for automation
- **Markdown**: Stakeholder-friendly reports
- **HTML**: Styled web reports with severity visualization
- **Console**: Real-time terminal output
### Reconnaissance
- π robots.txt and sitemap.xml parsing
- π Intelligent link discovery and crawling
- π Form and input parameter extraction
- π§ Technology fingerprinting
## π¦ Installation
### From Source
```bash
# Clone the repository
git clone https://github.com/yourusername/shieldscan.git
cd shieldscan
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Install in development mode
pip install -e .
```
### Using pip (once published)
```bash
pip install shieldscan
```
## π― Quick Start
### 1. Basic Passive Scan (Safe)
```bash
shieldscan scan --target https://example.com --output report.json
```
This performs non-intrusive checks:
- Security header analysis
- Cookie configuration
- CORS policy review
- Basic reconnaissance
### 2. Active Scan with Consent
First, create a consent file (see `examples/consent_template.txt`):
```bash
# Edit consent file with authorization details
cp examples/consent_template.txt my_consent.txt
nano my_consent.txt
```
Then run active scan:
```bash
shieldscan scan \
--target https://authorized-site.com \
--mode active \
--consent-file my_consent.txt \
--output report.md \
--format markdown
```
### 3. Scan Multiple Targets
```bash
# Create file with URLs (one per line)
cat > targets.txt << EOF
https://example.com
https://test.example.com
EOF
shieldscan scan --target-file targets.txt --format all --output results
```
### 4. Dry Run (Preview)
```bash
shieldscan scan --target https://example.com --dry-run
```
## π§ Usage
### Command-Line Options
```
shieldscan scan [OPTIONS]
Target Options:
--target URL Single target URL
--target-file FILE File with URLs (one per line)
Scan Options:
--mode MODE Scanning mode: passive (default) or active
--consent-file FILE Consent file (required for active mode)
--throttle FLOAT Requests per second (default: 1.0)
--max-depth INT Maximum crawl depth (default: 2)
Output Options:
--output FILE Output file path
--format FORMAT Output format: json, markdown, html, all
Other Options:
--dry-run Show planned checks without executing
--no-logo Suppress logo display
-v, --verbosity LEVEL Logging verbosity: 0 (warn), 1 (info), 2 (debug)
```
### Examples
**Comprehensive scan with all report formats:**
```bash
shieldscan scan \
--target https://example.com \
--format all \
--output comprehensive_report \
--throttle 2.0 \
--max-depth 3
```
**Quiet passive scan:**
```bash
shieldscan scan --target https://example.com --verbosity 0 --no-logo
```
**Active scan with custom rate limit:**
```bash
shieldscan scan \
--target https://authorized.com \
--mode active \
--consent-file consent.txt \
--throttle 0.5 \
--output detailed_scan.html \
--format html
```
## π Consent File Format
Active mode requires a consent file with the following information:
```
TARGET: https://example.com
SIGNATURE: John Doe
DATE: 2025-10-29
```
See `examples/consent_template.txt` for a complete template.
## ποΈ Architecture
ShieldScan follows a modular design:
```
βββββββββββββββ
β CLI β β Entry point, argument parsing
ββββββββ¬βββββββ
β
ββββββββΌβββββββ
β Scanner β β Orchestrates scan workflow
ββββββββ¬βββββββ
β
ββββββββββββββββ¬ββββββββββββββ¬βββββββββββββββ
β β β β
ββββββββΌβββββββ ββββββΌββββββ ββββββΌββββββ βββββββΌβββββββ
β HTTP Client β β Gatherer β β VulnCheckβ β Reporter β
β (Rate Ltd.) β β (Recon) β β (Detect) β β (Output) β
βββββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββββ
```
### Modules
- **cli.py**: Command-line interface with argparse
- **scanner.py**: Core orchestration engine
- **http_client.py**: HTTP wrapper with rate limiting and retries
- **gather.py**: Reconnaissance (robots.txt, sitemap, crawling)
- **vuln_checks.py**: Vulnerability detection checks
- **reporter.py**: Multi-format report generation
- **utils.py**: Common utilities and helpers
- **logo.py**: ASCII branding
## π§ͺ Testing
Run the test suite:
```bash
# Run all tests
pytest
# With coverage
pytest --cov=web_pentest_cli --cov-report=html
# Run specific test file
pytest tests/test_utils.py -v
```
## π Adding Custom Checks
ShieldScan supports plugin-style vulnerability checks:
```python
from web_pentest_cli.vuln_checks import VulnerabilityCheck, VulnerabilityResult
class CustomCheck(VulnerabilityCheck):
@property
def check_id(self) -> str:
return "CUSTOM-001"
@property
def check_name(self) -> str:
return "My Custom Check"
def check(self, target_url: str, context: dict) -> List[VulnerabilityResult]:
# Implement your check logic
results = []
response = self.client.get(target_url)
if response and "vulnerable_pattern" in response.text:
results.append(VulnerabilityResult(
vuln_id=self.check_id,
name="Custom Vulnerability",
severity="medium",
confidence="high",
description="Description of the issue",
evidence="Evidence from response",
remediation="How to fix it"
))
return results
```
## π Sample Output
### Console Summary
```
================================================================================
SCAN SUMMARY
================================================================================
Target: https://example.com
Scan ID: scan_1730193600
Duration: 12.45 seconds
Requests: 23
Total Vulnerabilities: 5
Severity Breakdown:
HIGH: 2
MEDIUM: 2
LOW: 1
================================================================================
```
### JSON Report Structure
```json
{
"scan_id": "scan_1730193600",
"target_url": "https://example.com",
"mode": "passive",
"vulnerabilities": [
{
"vuln_id": "SEC-HEADERS-001-csp",
"name": "Missing Content-Security-Policy Header",
"severity": "medium",
"confidence": "high",
"description": "CSP header is missing",
"evidence": "Header 'content-security-policy' not found",
"remediation": "Implement CSP to prevent XSS",
"references": ["https://owasp.org/..."]
}
],
"statistics": {
"total_vulnerabilities": 5,
"severity_breakdown": {"high": 2, "medium": 2, "low": 1}
}
}
```
## π οΈ Development
### Setup Development Environment
```bash
# Install with dev dependencies
pip install -e ".[dev]"
# Format code
black web_pentest_cli/
# Lint
flake8 web_pentest_cli/
# Type checking
mypy web_pentest_cli/
```
### Project Structure
```
shieldscan/
βββ web_pentest_cli/
β βββ __init__.py
β βββ cli.py
β βββ scanner.py
β βββ http_client.py
β βββ gather.py
β βββ vuln_checks.py
β βββ reporter.py
β βββ utils.py
β βββ logo.py
βββ tests/
β βββ test_utils.py
β βββ test_http_client.py
β βββ test_vuln_checks.py
βββ examples/
β βββ consent_template.txt
β βββ example_urls.txt
βββ README.md
βββ requirements.txt
βββ setup.py
βββ pyproject.toml
```
## π References
- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
- [OWASP Testing Guide](https://owasp.org/www-project-web-security-testing-guide/)
- [OWASP Secure Headers Project](https://owasp.org/www-project-secure-headers/)
- [OWASP Cheat Sheet Series](https://cheatsheetseries.owasp.org/)
## π License
MIT License - see LICENSE file for details.
## π¨βπ» Author
**Dr. [Your Name]**
π§ Email: your.email@university.edu
ποΈ Institution: University of Sousse
π¬ Research: Internet of Vehicles, Security Testing, Traffic Optimization
## π€ Contributing
Contributions are welcome! Please:
1. Fork the repository
2. Create a feature branch
3. Add tests for new functionality
4. Ensure all tests pass
5. Submit a pull request
## π Support
For issues, questions, or contributions:
- π Report bugs: [GitHub Issues](https://github.com/yourusername/shieldscan/issues)
- π¬ Discussions: [GitHub Discussions](https://github.com/yourusername/shieldscan/discussions)
- π§ Email: your.email@university.edu
## β‘ Disclaimer
This tool is provided for educational and authorized testing purposes only. The authors and contributors:
- Are not responsible for any misuse or damage caused by this tool
- Do not endorse illegal activities
- Recommend obtaining proper authorization before testing
- Advise consulting legal counsel regarding testing activities
**Always test responsibly and ethically.**
---
Made with β€οΈ for the security community
Raw data
{
"_id": null,
"home_page": "https://github.com/yourusername/shieldscan",
"name": "shieldscan",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "security, pentesting, web-security, owasp",
"author": "Your Name",
"author_email": "Your Name <your.email@university.edu>",
"download_url": "https://files.pythonhosted.org/packages/16/61/e26f744f0537fc3c4c12da7de76965623710140195911d9fed52293128cc/shieldscan-1.0.0.tar.gz",
"platform": null,
"description": "# \ud83d\udee1\ufe0f ShieldScan - Professional Web Security Assessment Tool\r\n\r\n[](https://www.python.org/downloads/)\r\n[](LICENSE)\r\n[](https://github.com/psf/black)\r\n\r\n**ShieldScan** is a professional, ethical web security assessment tool designed for authorized penetration testing. It provides comprehensive OWASP Top 10 vulnerability detection with a focus on safety, legal compliance, and responsible disclosure.\r\n\r\n## \u26a0\ufe0f Legal Notice\r\n\r\n**USE THIS TOOL RESPONSIBLY AND LEGALLY**\r\n\r\n- \u2705 Only use on systems you **own** or have **explicit written authorization** to test\r\n- \u2705 Obtain proper consent before running in **active mode**\r\n- \u2705 Respect rate limits and avoid causing service disruption\r\n- \u274c Unauthorized access to computer systems is **illegal** under applicable laws\r\n- \u274c The authors assume **no liability** for misuse of this tool\r\n\r\n## \ud83d\ude80 Features\r\n\r\n### Safe-by-Default Design\r\n- **Passive Mode (Default)**: Non-intrusive reconnaissance and header analysis\r\n- **Active Mode**: Requires explicit consent file for intrusive testing\r\n- **Rate Limiting**: Configurable request throttling (default: 1 req/sec)\r\n- **Dry Run**: Preview checks without sending requests\r\n\r\n### Comprehensive Security Checks\r\n\u2705 **HTTP Security Headers**: CSP, HSTS, X-Frame-Options, etc. \r\n\u2705 **Cookie Security**: Secure, HttpOnly, SameSite attributes \r\n\u2705 **XSS Detection**: Reflected XSS using benign markers \r\n\u2705 **SQL Injection**: Error-based detection (non-destructive) \r\n\u2705 **CORS Misconfiguration**: Wildcard and origin reflection \r\n\u2705 **Directory Listing**: Common directory exposure \r\n\u2705 **Open Redirect**: Parameter-based redirect testing \r\n\u2705 **Clickjacking**: Frame protection analysis \r\n\r\n### Professional Reporting\r\n- **JSON**: Structured data for automation\r\n- **Markdown**: Stakeholder-friendly reports\r\n- **HTML**: Styled web reports with severity visualization\r\n- **Console**: Real-time terminal output\r\n\r\n### Reconnaissance\r\n- \ud83d\udd0d robots.txt and sitemap.xml parsing\r\n- \ud83d\udd17 Intelligent link discovery and crawling\r\n- \ud83d\udcdd Form and input parameter extraction\r\n- \ud83d\udd27 Technology fingerprinting\r\n\r\n## \ud83d\udce6 Installation\r\n\r\n### From Source\r\n\r\n```bash\r\n# Clone the repository\r\ngit clone https://github.com/yourusername/shieldscan.git\r\ncd shieldscan\r\n\r\n# Create virtual environment\r\npython -m venv venv\r\nsource venv/bin/activate # On Windows: venv\\Scripts\\activate\r\n\r\n# Install dependencies\r\npip install -r requirements.txt\r\n\r\n# Install in development mode\r\npip install -e .\r\n```\r\n\r\n### Using pip (once published)\r\n\r\n```bash\r\npip install shieldscan\r\n```\r\n\r\n## \ud83c\udfaf Quick Start\r\n\r\n### 1. Basic Passive Scan (Safe)\r\n\r\n```bash\r\nshieldscan scan --target https://example.com --output report.json\r\n```\r\n\r\nThis performs non-intrusive checks:\r\n- Security header analysis\r\n- Cookie configuration\r\n- CORS policy review\r\n- Basic reconnaissance\r\n\r\n### 2. Active Scan with Consent\r\n\r\nFirst, create a consent file (see `examples/consent_template.txt`):\r\n\r\n```bash\r\n# Edit consent file with authorization details\r\ncp examples/consent_template.txt my_consent.txt\r\nnano my_consent.txt\r\n```\r\n\r\nThen run active scan:\r\n\r\n```bash\r\nshieldscan scan \\\r\n --target https://authorized-site.com \\\r\n --mode active \\\r\n --consent-file my_consent.txt \\\r\n --output report.md \\\r\n --format markdown\r\n```\r\n\r\n### 3. Scan Multiple Targets\r\n\r\n```bash\r\n# Create file with URLs (one per line)\r\ncat > targets.txt << EOF\r\nhttps://example.com\r\nhttps://test.example.com\r\nEOF\r\n\r\nshieldscan scan --target-file targets.txt --format all --output results\r\n```\r\n\r\n### 4. Dry Run (Preview)\r\n\r\n```bash\r\nshieldscan scan --target https://example.com --dry-run\r\n```\r\n\r\n## \ud83d\udd27 Usage\r\n\r\n### Command-Line Options\r\n\r\n```\r\nshieldscan scan [OPTIONS]\r\n\r\nTarget Options:\r\n --target URL Single target URL\r\n --target-file FILE File with URLs (one per line)\r\n\r\nScan Options:\r\n --mode MODE Scanning mode: passive (default) or active\r\n --consent-file FILE Consent file (required for active mode)\r\n --throttle FLOAT Requests per second (default: 1.0)\r\n --max-depth INT Maximum crawl depth (default: 2)\r\n\r\nOutput Options:\r\n --output FILE Output file path\r\n --format FORMAT Output format: json, markdown, html, all\r\n\r\nOther Options:\r\n --dry-run Show planned checks without executing\r\n --no-logo Suppress logo display\r\n -v, --verbosity LEVEL Logging verbosity: 0 (warn), 1 (info), 2 (debug)\r\n```\r\n\r\n### Examples\r\n\r\n**Comprehensive scan with all report formats:**\r\n```bash\r\nshieldscan scan \\\r\n --target https://example.com \\\r\n --format all \\\r\n --output comprehensive_report \\\r\n --throttle 2.0 \\\r\n --max-depth 3\r\n```\r\n\r\n**Quiet passive scan:**\r\n```bash\r\nshieldscan scan --target https://example.com --verbosity 0 --no-logo\r\n```\r\n\r\n**Active scan with custom rate limit:**\r\n```bash\r\nshieldscan scan \\\r\n --target https://authorized.com \\\r\n --mode active \\\r\n --consent-file consent.txt \\\r\n --throttle 0.5 \\\r\n --output detailed_scan.html \\\r\n --format html\r\n```\r\n\r\n## \ud83d\udccb Consent File Format\r\n\r\nActive mode requires a consent file with the following information:\r\n\r\n```\r\nTARGET: https://example.com\r\nSIGNATURE: John Doe\r\nDATE: 2025-10-29\r\n```\r\n\r\nSee `examples/consent_template.txt` for a complete template.\r\n\r\n## \ud83c\udfd7\ufe0f Architecture\r\n\r\nShieldScan follows a modular design:\r\n\r\n```\r\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 CLI \u2502 \u2190 Entry point, argument parsing\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n \u2502\r\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 Scanner \u2502 \u2190 Orchestrates scan workflow\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n \u2502\r\n \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n \u2502 \u2502 \u2502 \u2502\r\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 HTTP Client \u2502 \u2502 Gatherer \u2502 \u2502 VulnCheck\u2502 \u2502 Reporter \u2502\r\n\u2502 (Rate Ltd.) \u2502 \u2502 (Recon) \u2502 \u2502 (Detect) \u2502 \u2502 (Output) \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n```\r\n\r\n### Modules\r\n\r\n- **cli.py**: Command-line interface with argparse\r\n- **scanner.py**: Core orchestration engine\r\n- **http_client.py**: HTTP wrapper with rate limiting and retries\r\n- **gather.py**: Reconnaissance (robots.txt, sitemap, crawling)\r\n- **vuln_checks.py**: Vulnerability detection checks\r\n- **reporter.py**: Multi-format report generation\r\n- **utils.py**: Common utilities and helpers\r\n- **logo.py**: ASCII branding\r\n\r\n## \ud83e\uddea Testing\r\n\r\nRun the test suite:\r\n\r\n```bash\r\n# Run all tests\r\npytest\r\n\r\n# With coverage\r\npytest --cov=web_pentest_cli --cov-report=html\r\n\r\n# Run specific test file\r\npytest tests/test_utils.py -v\r\n```\r\n\r\n## \ud83d\udd0c Adding Custom Checks\r\n\r\nShieldScan supports plugin-style vulnerability checks:\r\n\r\n```python\r\nfrom web_pentest_cli.vuln_checks import VulnerabilityCheck, VulnerabilityResult\r\n\r\nclass CustomCheck(VulnerabilityCheck):\r\n @property\r\n def check_id(self) -> str:\r\n return \"CUSTOM-001\"\r\n\r\n @property\r\n def check_name(self) -> str:\r\n return \"My Custom Check\"\r\n\r\n def check(self, target_url: str, context: dict) -> List[VulnerabilityResult]:\r\n # Implement your check logic\r\n results = []\r\n response = self.client.get(target_url)\r\n\r\n if response and \"vulnerable_pattern\" in response.text:\r\n results.append(VulnerabilityResult(\r\n vuln_id=self.check_id,\r\n name=\"Custom Vulnerability\",\r\n severity=\"medium\",\r\n confidence=\"high\",\r\n description=\"Description of the issue\",\r\n evidence=\"Evidence from response\",\r\n remediation=\"How to fix it\"\r\n ))\r\n\r\n return results\r\n```\r\n\r\n## \ud83d\udcca Sample Output\r\n\r\n### Console Summary\r\n```\r\n================================================================================\r\n SCAN SUMMARY\r\n================================================================================\r\nTarget: https://example.com\r\nScan ID: scan_1730193600\r\nDuration: 12.45 seconds\r\nRequests: 23\r\n\r\nTotal Vulnerabilities: 5\r\n\r\nSeverity Breakdown:\r\n HIGH: 2\r\n MEDIUM: 2\r\n LOW: 1\r\n================================================================================\r\n```\r\n\r\n### JSON Report Structure\r\n```json\r\n{\r\n \"scan_id\": \"scan_1730193600\",\r\n \"target_url\": \"https://example.com\",\r\n \"mode\": \"passive\",\r\n \"vulnerabilities\": [\r\n {\r\n \"vuln_id\": \"SEC-HEADERS-001-csp\",\r\n \"name\": \"Missing Content-Security-Policy Header\",\r\n \"severity\": \"medium\",\r\n \"confidence\": \"high\",\r\n \"description\": \"CSP header is missing\",\r\n \"evidence\": \"Header 'content-security-policy' not found\",\r\n \"remediation\": \"Implement CSP to prevent XSS\",\r\n \"references\": [\"https://owasp.org/...\"]\r\n }\r\n ],\r\n \"statistics\": {\r\n \"total_vulnerabilities\": 5,\r\n \"severity_breakdown\": {\"high\": 2, \"medium\": 2, \"low\": 1}\r\n }\r\n}\r\n```\r\n\r\n## \ud83d\udee0\ufe0f Development\r\n\r\n### Setup Development Environment\r\n\r\n```bash\r\n# Install with dev dependencies\r\npip install -e \".[dev]\"\r\n\r\n# Format code\r\nblack web_pentest_cli/\r\n\r\n# Lint\r\nflake8 web_pentest_cli/\r\n\r\n# Type checking\r\nmypy web_pentest_cli/\r\n```\r\n\r\n### Project Structure\r\n\r\n```\r\nshieldscan/\r\n\u251c\u2500\u2500 web_pentest_cli/\r\n\u2502 \u251c\u2500\u2500 __init__.py\r\n\u2502 \u251c\u2500\u2500 cli.py\r\n\u2502 \u251c\u2500\u2500 scanner.py\r\n\u2502 \u251c\u2500\u2500 http_client.py\r\n\u2502 \u251c\u2500\u2500 gather.py\r\n\u2502 \u251c\u2500\u2500 vuln_checks.py\r\n\u2502 \u251c\u2500\u2500 reporter.py\r\n\u2502 \u251c\u2500\u2500 utils.py\r\n\u2502 \u2514\u2500\u2500 logo.py\r\n\u251c\u2500\u2500 tests/\r\n\u2502 \u251c\u2500\u2500 test_utils.py\r\n\u2502 \u251c\u2500\u2500 test_http_client.py\r\n\u2502 \u2514\u2500\u2500 test_vuln_checks.py\r\n\u251c\u2500\u2500 examples/\r\n\u2502 \u251c\u2500\u2500 consent_template.txt\r\n\u2502 \u2514\u2500\u2500 example_urls.txt\r\n\u251c\u2500\u2500 README.md\r\n\u251c\u2500\u2500 requirements.txt\r\n\u251c\u2500\u2500 setup.py\r\n\u2514\u2500\u2500 pyproject.toml\r\n```\r\n\r\n## \ud83d\udcda References\r\n\r\n- [OWASP Top 10](https://owasp.org/www-project-top-ten/)\r\n- [OWASP Testing Guide](https://owasp.org/www-project-web-security-testing-guide/)\r\n- [OWASP Secure Headers Project](https://owasp.org/www-project-secure-headers/)\r\n- [OWASP Cheat Sheet Series](https://cheatsheetseries.owasp.org/)\r\n\r\n## \ud83d\udcdd License\r\n\r\nMIT License - see LICENSE file for details.\r\n\r\n## \ud83d\udc68\u200d\ud83d\udcbb Author\r\n\r\n**Dr. [Your Name]** \r\n\ud83d\udce7 Email: your.email@university.edu \r\n\ud83c\udfdb\ufe0f Institution: University of Sousse \r\n\ud83d\udd2c Research: Internet of Vehicles, Security Testing, Traffic Optimization\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nContributions are welcome! Please:\r\n\r\n1. Fork the repository\r\n2. Create a feature branch\r\n3. Add tests for new functionality\r\n4. Ensure all tests pass\r\n5. Submit a pull request\r\n\r\n## \ud83d\udcde Support\r\n\r\nFor issues, questions, or contributions:\r\n- \ud83d\udc1b Report bugs: [GitHub Issues](https://github.com/yourusername/shieldscan/issues)\r\n- \ud83d\udcac Discussions: [GitHub Discussions](https://github.com/yourusername/shieldscan/discussions)\r\n- \ud83d\udce7 Email: your.email@university.edu\r\n\r\n## \u26a1 Disclaimer\r\n\r\nThis tool is provided for educational and authorized testing purposes only. The authors and contributors:\r\n\r\n- Are not responsible for any misuse or damage caused by this tool\r\n- Do not endorse illegal activities\r\n- Recommend obtaining proper authorization before testing\r\n- Advise consulting legal counsel regarding testing activities\r\n\r\n**Always test responsibly and ethically.**\r\n\r\n---\r\n\r\nMade with \u2764\ufe0f for the security community\r\n\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Professional Web Security Assessment Tool",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://github.com/yourusername/shieldscan"
},
"split_keywords": [
"security",
" pentesting",
" web-security",
" owasp"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7bf16f73992fc48979b918dd81122204999185c845d7b485283810064a4dc899",
"md5": "46ae0f72b4e7a2d4e9f642633a90ec5e",
"sha256": "2316dfe6334d48a1b5084b98ced52e0acc4124f7e144d75969af3e2f5ad7d142"
},
"downloads": -1,
"filename": "shieldscan-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "46ae0f72b4e7a2d4e9f642633a90ec5e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 33632,
"upload_time": "2025-10-29T14:54:29",
"upload_time_iso_8601": "2025-10-29T14:54:29.347966Z",
"url": "https://files.pythonhosted.org/packages/7b/f1/6f73992fc48979b918dd81122204999185c845d7b485283810064a4dc899/shieldscan-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1661e26f744f0537fc3c4c12da7de76965623710140195911d9fed52293128cc",
"md5": "c0629e0c8170c68f709bb5135fe89d73",
"sha256": "f5a10d6665b4f3944c1c41aa66de1b654bff8328eb679a6aa0f88629a7b1cfc1"
},
"downloads": -1,
"filename": "shieldscan-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "c0629e0c8170c68f709bb5135fe89d73",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 30074,
"upload_time": "2025-10-29T14:54:31",
"upload_time_iso_8601": "2025-10-29T14:54:31.386847Z",
"url": "https://files.pythonhosted.org/packages/16/61/e26f744f0537fc3c4c12da7de76965623710140195911d9fed52293128cc/shieldscan-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-29 14:54:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yourusername",
"github_project": "shieldscan",
"github_not_found": true,
"lcname": "shieldscan"
}