Advanced string manipulation and pattern matching engine with unique DSL syntax
Project description
Gamma Scanner
Advanced string manipulation and pattern matching engine with unique DSL syntax.
Installation
pip install gamma-scanner
Quick Start
# Run the CLI
gamma-scanner --help
# Or use the short command
gamma --help
# Interactive mode
gamma interactive
# Scan files for threats
gamma scan rules.gamma target_file.txt
# Show examples
gamma examples
Unique DSL Syntax
Gamma Scanner features a completely original DSL syntax that uses natural language keywords:
HUNT SQLInjection:
LOOK FOR:
sqli_pattern ~ text "' OR '1'='1" IGNORE case
union_attack ~ text "UNION SELECT" IGNORE case
WHEN:
file HAS sqli_pattern EITHER content HOLDS union_attack
THEN:
ALERT "SQL injection detected!"
Features
- Unique DSL: Natural language-like syntax for pattern matching
- Security Focus: Built-in patterns for common security threats
- High Performance: Optimized execution engine with caching
- CLI Tools: Comprehensive command-line interface
- Pattern Library: Extensible pattern matching capabilities
Commands
scan- Scan files/directories for security threatshunt- Hunt for specific threats using rulesdetect- Detect patterns in filesvalidate- Validate DSL rule syntaxtest- Test rules against sample datacompile- Compile DSL rulesanalyze- Comprehensive file analysisinteractive- Interactive DSL shellbenchmark- Benchmark rule performanceexamples- Show DSL syntax examples
Python API
from gamma_scanner import GammaScanner
scanner = GammaScanner()
# Compile a rule
rule = '''
HUNT TestRule:
LOOK FOR:
pattern ~ text "test" IGNORE case
WHEN:
content HAS pattern
THEN:
ALERT "Found test!"
'''
success = scanner.compile_rule(rule)
if success:
results = scanner.match("This is a test string")
print(results)
License
MIT License - see LICENSE file for details.
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
gamma_scanner-1.0.0.tar.gz
(52.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gamma_scanner-1.0.0.tar.gz.
File metadata
- Download URL: gamma_scanner-1.0.0.tar.gz
- Upload date:
- Size: 52.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a523c9ed5362591302a9709da2d3db36617e058691b7c7b633e17cc083fbbdb
|
|
| MD5 |
7b24242e75d20b1a7aed373975caeca8
|
|
| BLAKE2b-256 |
a5018d608b84471e5bfd3718b3bbb70af9a5240b42d4d27bf276bd8a2f1d3e8d
|
File details
Details for the file gamma_scanner-1.0.0-py3-none-any.whl.
File metadata
- Download URL: gamma_scanner-1.0.0-py3-none-any.whl
- Upload date:
- Size: 41.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff683ca8167d09c95957834186d4485f3154b214a32d23c048469bb483247336
|
|
| MD5 |
b1dce76501bb1ccc800a4ccdc52a6b41
|
|
| BLAKE2b-256 |
edd2c81b4c6a2b698662fd1089942243ae87fc51946b035e102855ab80f42aca
|