Skip to main content

Plugin-based web vulnerabillity scanner library

Project description

S2N — Plugin-based Web Vulnerability Scanner

 (`-').->        <-. (`-')_
 ( OO)_             \( OO) )
(_)--\_)  .----. ,--./ ,--/
/    _ / \_,-.  ||   \ |  |
\_..`--.    .' .'|  . '|  |)
.-._)   \ .'  /_ |  |\    |
\       /|      ||  | \   |
 `-----' `------'`--'  `--'

A lightweight, plugin-driven web vulnerability scanner library. Core data types and interfaces are defined in s2n.s2nscanner.interfaces. More detailed type Documentation is available in interfaces.en.md.



Quick install

CLI usage

s2n scan \
  --url http://target.com \
  --plugin sql --plugin xss \
  --auth basic \
  --username admin \
  --password pass \
  --output results.json \
  --verbose

Python usage

from s2n import Scanner, ScanConfig, PluginConfig, AuthConfig
from s2n.interfaces import Severity, AuthType

# Create ScanConfig
config = ScanConfig(
    target_url="http://target.com",
    scanner_config=ScannerConfig(crawl_depth=3),
    plugin_configs={
        "sql": PluginConfig(
            enabled=True,
            max_payloads=50
        )
    },
    auth_config=AuthConfig(
        auth_type=AuthType.BASIC,
        username="admin",
        password="pass"
    )
)

# Execute Scan with ScanConfig parameter
scanner = Scanner(config)
report = scanner.scan()

# 결과 처리
print(f"[RESULT]: {report.summary.total_vulnerabilities}개")
for result in report.plugin_results:
    for finding in result.findings:
        if finding.severity in [Severity.CRITICAL, Severity.HIGH]:
            print(f"[{finding.severity}] {finding.title}")

Key type references

Documentation

  • Data type reference: interfaces.en.md
  • Source: interfaces.py

Core types and data models:

  • s2n.s2nscanner.interfaces.ScanConfig
  • s2n.s2nscanner.interfaces.PluginConfig
  • s2n.s2nscanner.interfaces.ScannerConfig

Results & reporting:

  • s2n.s2nscanner.interfaces.ScanReport
  • s2n.s2nscanner.interfaces.Finding

Enums:

  • s2n.s2nscanner.interfaces.Severity
  • s2n.s2nscanner.interfaces.PluginStatus

Features

Plugin architecture for modular vulnerability checks Structured data models for requests, results and outputs Multiple output formats (JSON, HTML, console) Configurable scanner behavior and per-plugin settings.


LICENSE


Contributing

Follow the project coding style and add tests for new features.
Update type docs in interfaces.en.md when interfaces change.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

s2n-0.2.1.tar.gz (67.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

s2n-0.2.1-py3-none-any.whl (88.3 kB view details)

Uploaded Python 3

File details

Details for the file s2n-0.2.1.tar.gz.

File metadata

  • Download URL: s2n-0.2.1.tar.gz
  • Upload date:
  • Size: 67.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for s2n-0.2.1.tar.gz
Algorithm Hash digest
SHA256 2fcb56b7decbc58a6dfde3e4ca41646ab91943f53f59ce363a786a162d5e117e
MD5 71ba6f671fdc0907beb3013dbccb8d86
BLAKE2b-256 fb81d135e8eb6c6b8ceee55b4eb792806c33a7c8ddc63729fbe3fb1591c291e0

See more details on using hashes here.

File details

Details for the file s2n-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: s2n-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 88.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for s2n-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4cb377ad9a79e0d30f98a95f31859558e18f51aba43b0a873caaf735cb3cc245
MD5 de26761f4289c330042d7a960d3b5053
BLAKE2b-256 f4c6160965e0debf02496a23a858b789210195e277442f0a3f4b55db9291e32f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page