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.0.tar.gz (67.6 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.0-py3-none-any.whl (88.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: s2n-0.2.0.tar.gz
  • Upload date:
  • Size: 67.6 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.0.tar.gz
Algorithm Hash digest
SHA256 8b9fad5000abb1626de53b6ab6ab5605244ef136e59a8e85af611892cca933d8
MD5 afed0cb83fea2b2c53e8c02dba32d8d2
BLAKE2b-256 538f40f01a1c609e1842ffc36ced69c3b1d84ba4f4391174b54f05384222cab6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: s2n-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 88.2 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e35ea04228a51b6e01ac1b49b58c211471f764132db3fc94d758e6b8a927503d
MD5 30c0b4f7d8ff54c81d0f7da8efc2f560
BLAKE2b-256 68daaccd91bd88f0e8fa01f18628eaa1e7b29b3813c1487f6acb62eb60ab8306

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