Skip to main content

Plugin-based web vulnerabillity scanner library

Project description

S2N — Plugin-based Web Vulnerability Scanner

stateDiagram-v2

state "<pre><code>
  .-')                 .-') _  
 ( OO ).              ( OO ) ) 
(_)---\_) .-----. ,--./ ,--,'  
/    _ | / ,-.   \|   \ |  |\  
\  :` `. '-'  |  ||    \|  | ) 
 '..`''.)   .'  / |  .     |/  
.-._)   \ .'  /__ |  |\    |   
\       /|       ||  | \   |   
 `-----' `-------'`--'  `--'   
</pre></code>" as logo

style logo color: #FFF, fill:#0022FF

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.3.tar.gz (87.0 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.3-py3-none-any.whl (116.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: s2n-0.2.3.tar.gz
  • Upload date:
  • Size: 87.0 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.3.tar.gz
Algorithm Hash digest
SHA256 767f71249c785ade6d0c9e2a1e4e738fbba628762d7850647094d2bb2022d9a0
MD5 28b7a803a0f414f6b5220842c5f00a50
BLAKE2b-256 607fdd530020062af8aac392408663244ebe883bdc9837d2f1b92cc2d15639ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: s2n-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 116.6 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 57d2467a39401d2c46101be7a769c519197336e3000176b0d3cc75901261455e
MD5 aff38c3cdf9e58f2de96f0ff5fd32fbe
BLAKE2b-256 8db5e99f85549134f18696887ce4f890616d37dc539e19e45c60a9c619d30220

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