falsealarm 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- falsealarm-1.0.0/LICENSE +21 -0
- falsealarm-1.0.0/LICENSE-MIT +21 -0
- falsealarm-1.0.0/PKG-INFO +386 -0
- falsealarm-1.0.0/README.md +349 -0
- falsealarm-1.0.0/falsealarm/__init__.py +149 -0
- falsealarm-1.0.0/falsealarm/__main__.py +5 -0
- falsealarm-1.0.0/falsealarm/cli.py +503 -0
- falsealarm-1.0.0/falsealarm/core/__init__.py +19 -0
- falsealarm-1.0.0/falsealarm/core/ai/__init__.py +4 -0
- falsealarm-1.0.0/falsealarm/core/ai/base_provider.py +25 -0
- falsealarm-1.0.0/falsealarm/core/ai/gemini_provider.py +62 -0
- falsealarm-1.0.0/falsealarm/core/config.py +95 -0
- falsealarm-1.0.0/falsealarm/core/db.py +301 -0
- falsealarm-1.0.0/falsealarm/core/diff.py +125 -0
- falsealarm-1.0.0/falsealarm/core/engine.py +348 -0
- falsealarm-1.0.0/falsealarm/core/fingerprint.py +127 -0
- falsealarm-1.0.0/falsealarm/core/logger.py +158 -0
- falsealarm-1.0.0/falsealarm/core/notify.py +106 -0
- falsealarm-1.0.0/falsealarm/core/output.py +243 -0
- falsealarm-1.0.0/falsealarm/core/pipeline.py +104 -0
- falsealarm-1.0.0/falsealarm/core/proxy.py +197 -0
- falsealarm-1.0.0/falsealarm/core/rate_limiter.py +152 -0
- falsealarm-1.0.0/falsealarm/core/report.py +161 -0
- falsealarm-1.0.0/falsealarm/core/scheduler.py +437 -0
- falsealarm-1.0.0/falsealarm/core/similarity.py +55 -0
- falsealarm-1.0.0/falsealarm/core/utils.py +125 -0
- falsealarm-1.0.0/falsealarm/core/waf_detect.py +77 -0
- falsealarm-1.0.0/falsealarm/data/tech_signatures.json +244 -0
- falsealarm-1.0.0/falsealarm/data/templates/aws-keys.yaml +27 -0
- falsealarm-1.0.0/falsealarm/data/templates/cve-2021-41773.yaml +21 -0
- falsealarm-1.0.0/falsealarm/data/templates/env-exposure.yaml +30 -0
- falsealarm-1.0.0/falsealarm/data/templates/git-exposure.yaml +20 -0
- falsealarm-1.0.0/falsealarm/data/user_agents.txt +32 -0
- falsealarm-1.0.0/falsealarm/data/wordlists/common_dirs.txt +299 -0
- falsealarm-1.0.0/falsealarm/data/wordlists/subdomains_top1k.txt +648 -0
- falsealarm-1.0.0/falsealarm/modules/__init__.py +37 -0
- falsealarm-1.0.0/falsealarm/modules/base.py +67 -0
- falsealarm-1.0.0/falsealarm/modules/cors.py +90 -0
- falsealarm-1.0.0/falsealarm/modules/dirfuzz.py +302 -0
- falsealarm-1.0.0/falsealarm/modules/dns_enum.py +138 -0
- falsealarm-1.0.0/falsealarm/modules/favicon.py +81 -0
- falsealarm-1.0.0/falsealarm/modules/graphql.py +77 -0
- falsealarm-1.0.0/falsealarm/modules/headers_ssl.py +127 -0
- falsealarm-1.0.0/falsealarm/modules/httpprobe.py +60 -0
- falsealarm-1.0.0/falsealarm/modules/js_analysis.py +159 -0
- falsealarm-1.0.0/falsealarm/modules/openredirect.py +74 -0
- falsealarm-1.0.0/falsealarm/modules/portscan.py +95 -0
- falsealarm-1.0.0/falsealarm/modules/subdomain.py +117 -0
- falsealarm-1.0.0/falsealarm/modules/techdetect.py +99 -0
- falsealarm-1.0.0/falsealarm/modules/vulnscan.py +241 -0
- falsealarm-1.0.0/falsealarm/modules/wayback.py +94 -0
- falsealarm-1.0.0/falsealarm/modules/websocket.py +90 -0
- falsealarm-1.0.0/falsealarm.egg-info/PKG-INFO +386 -0
- falsealarm-1.0.0/falsealarm.egg-info/SOURCES.txt +69 -0
- falsealarm-1.0.0/falsealarm.egg-info/dependency_links.txt +1 -0
- falsealarm-1.0.0/falsealarm.egg-info/entry_points.txt +2 -0
- falsealarm-1.0.0/falsealarm.egg-info/requires.txt +17 -0
- falsealarm-1.0.0/falsealarm.egg-info/top_level.txt +1 -0
- falsealarm-1.0.0/pyproject.toml +72 -0
- falsealarm-1.0.0/setup.cfg +4 -0
- falsealarm-1.0.0/tests/test_bugfixes.py +73 -0
- falsealarm-1.0.0/tests/test_config_pipeline.py +107 -0
- falsealarm-1.0.0/tests/test_diff.py +55 -0
- falsealarm-1.0.0/tests/test_features.py +60 -0
- falsealarm-1.0.0/tests/test_module_hardening.py +89 -0
- falsealarm-1.0.0/tests/test_noise_reduction.py +71 -0
- falsealarm-1.0.0/tests/test_output.py +50 -0
- falsealarm-1.0.0/tests/test_rate_limiter.py +31 -0
- falsealarm-1.0.0/tests/test_report.py +77 -0
- falsealarm-1.0.0/tests/test_similarity.py +63 -0
- falsealarm-1.0.0/tests/test_vulnscan_matchers.py +75 -0
falsealarm-1.0.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# LICENSE
|
|
2
|
+
|
|
3
|
+
This project is a combination of open-source components under the MIT License and security framework additions.
|
|
4
|
+
|
|
5
|
+
## 1. MIT-Licensed Components
|
|
6
|
+
|
|
7
|
+
Portions of this project are open-source components available under the MIT License. The full MIT License is included in the separate file `LICENSE-MIT`.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 2. Framework Additions & Author Copyright
|
|
12
|
+
|
|
13
|
+
All additions, core engine modifications, polyglot Go modules, dynamic plugin architectures, and custom vulnerability templates authored by ReiKage (reikageisme) — found in `falsealarm/` and `engine-go/` — are licensed as follows:
|
|
14
|
+
|
|
15
|
+
### Research & Security Assessment License
|
|
16
|
+
|
|
17
|
+
Copyright (c) 2026 ReiKage (reikageisme).
|
|
18
|
+
|
|
19
|
+
Permission is granted to use, copy, and modify these components solely for **lawful security research, educational purposes, and authorized penetration testing**, provided that this copyright notice and license are retained in all copies.
|
|
20
|
+
|
|
21
|
+
**Unauthorized commercial distribution or uncredited re-packaging of these components is strictly prohibited without explicit written permission.** To request commercial licensing or collaboration, contact: https://github.com/reikageisme
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 ReiKage (reikageisme) & FalseAlarm Security Engine Contributors.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: falsealarm
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Async Web Reconnaissance Engine for Pentesters & Bug Bounty Hunters
|
|
5
|
+
Author: reikageisme
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/reikageisme/falsealarm
|
|
8
|
+
Project-URL: Repository, https://github.com/reikageisme/falsealarm
|
|
9
|
+
Project-URL: Issues, https://github.com/reikageisme/falsealarm/issues
|
|
10
|
+
Keywords: pentesting,reconnaissance,security,bug-bounty
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Intended Audience :: Information Technology
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Topic :: Security
|
|
17
|
+
Requires-Python: >=3.10
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
License-File: LICENSE
|
|
20
|
+
License-File: LICENSE-MIT
|
|
21
|
+
Requires-Dist: aiohttp>=3.9
|
|
22
|
+
Requires-Dist: aiohttp-socks>=0.8
|
|
23
|
+
Requires-Dist: typer[all]>=0.12
|
|
24
|
+
Requires-Dist: rich>=13.0
|
|
25
|
+
Requires-Dist: dnspython>=2.6
|
|
26
|
+
Requires-Dist: websockets>=12.0
|
|
27
|
+
Requires-Dist: beautifulsoup4>=4.12
|
|
28
|
+
Requires-Dist: aiosqlite>=0.20
|
|
29
|
+
Requires-Dist: pyyaml>=6.0
|
|
30
|
+
Requires-Dist: certifi
|
|
31
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
32
|
+
Provides-Extra: favicon
|
|
33
|
+
Requires-Dist: mmh3>=4.0; extra == "favicon"
|
|
34
|
+
Provides-Extra: all
|
|
35
|
+
Requires-Dist: mmh3>=4.0; extra == "all"
|
|
36
|
+
Dynamic: license-file
|
|
37
|
+
|
|
38
|
+
<div align="center">
|
|
39
|
+
<picture>
|
|
40
|
+
<source srcset="assets/Falsealarm.png" media="(prefers-color-scheme: dark)">
|
|
41
|
+
<source srcset="assets/Falsealarm.png" media="(prefers-color-scheme: light)">
|
|
42
|
+
<img src="assets/Falsealarm.png" alt="FalseAlarm Logo" width="600" style="image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges;">
|
|
43
|
+
</picture>
|
|
44
|
+
|
|
45
|
+
<br/>
|
|
46
|
+
<h1>FalseAlarm: Advanced Async Web Reconnaissance Framework</h1>
|
|
47
|
+
<p><strong>An out-of-the-box, Polyglot (Python + Go) & AI-Ready Attack Surface Mapping Engine.</strong></p>
|
|
48
|
+
|
|
49
|
+
<p>
|
|
50
|
+
<a href="https://pypi.org/project/falsealarm/"><img src="https://img.shields.io/badge/pypi-v1.0.0-2563eb?style=for-the-badge&logo=pypi&logoColor=white" alt="PyPI version" /></a>
|
|
51
|
+
<a href="https://github.com/reikageisme/falsealarm/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-16a34a.svg?style=for-the-badge" alt="license" /></a>
|
|
52
|
+
<a href="https://github.com/reikageisme/falsealarm/stargazers"><img src="https://img.shields.io/github/stars/reikageisme/falsealarm?style=for-the-badge&color=eab308" alt="stars" /></a>
|
|
53
|
+
<a href="https://github.com/reikageisme/falsealarm/network/members"><img src="https://img.shields.io/github/forks/reikageisme/falsealarm?style=for-the-badge&color=blue" alt="forks" /></a>
|
|
54
|
+
<a href="https://github.com/reikageisme/falsealarm/issues"><img src="https://img.shields.io/github/issues/reikageisme/falsealarm?style=for-the-badge&color=e67e22" alt="open issues" /></a>
|
|
55
|
+
<img src="https://img.shields.io/badge/python-3.10+-blue?style=for-the-badge&logo=python&logoColor=white" alt="Python Version">
|
|
56
|
+
<img src="https://img.shields.io/badge/go-1.20+-00ADD8?style=for-the-badge&logo=go&logoColor=white" alt="Go Version">
|
|
57
|
+
</p>
|
|
58
|
+
|
|
59
|
+
<p>
|
|
60
|
+
<em>Developed by <a href="https://github.com/reikageisme">ReiKage (reikageisme)</a> & The Open Source InfoSec Community.</em>
|
|
61
|
+
</p>
|
|
62
|
+
|
|
63
|
+
<a href="#philosophy--the-problem-it-solves">Philosophy</a> •
|
|
64
|
+
<a href="#quickstart">Quickstart</a> •
|
|
65
|
+
<a href="#core-features">Features</a> •
|
|
66
|
+
<a href="#module-ecosystem">Modules</a> •
|
|
67
|
+
<a href="#installation">Installation</a> •
|
|
68
|
+
<a href="#environment-variables">Environment</a> •
|
|
69
|
+
<a href="#usage-guide">Usage Guide</a> •
|
|
70
|
+
<a href="#ai-triage-integration">AI Triage</a> •
|
|
71
|
+
<a href="#contributing">Contributing</a> •
|
|
72
|
+
<a href="#license">License</a>
|
|
73
|
+
</div>
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Philosophy & The Problem It Solves
|
|
78
|
+
|
|
79
|
+
Traditional scanning tools are inherently flawed for modern web architectures. They operate synchronously, consume excessive memory, and lack the heuristic intelligence required to bypass Next-Gen Web Application Firewalls (WAFs).
|
|
80
|
+
|
|
81
|
+
FalseAlarm was engineered from the ground up to solve this. By combining a Python `asyncio` orchestrator with a high-performance Go (`fasthttp`) worker engine, dynamic YAML vulnerability templates, and intelligent plugin auto-discovery, FalseAlarm allows operators to map vast attack surfaces at blistering speeds with streaming real-time NDJSON feedback.
|
|
82
|
+
|
|
83
|
+
Accordingly, Human-In-The-Loop (HITL) control is a core design principle of FalseAlarm. Operators retain granular control during execution with non-destructive graceful handling across all async subprocesses via `Ctrl+C` interrupt handlers.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Quickstart
|
|
88
|
+
|
|
89
|
+
To launch FalseAlarm after installation, simply type `falsealarm` or run a targeted scan from your CLI:
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
┌──(.venv)(tanh㉿kali)-[~/falsealarm]
|
|
93
|
+
└─$ falsealarm scan -u http://example.com/FUZZ -m dirfuzz
|
|
94
|
+
|
|
95
|
+
╭─────────────────── Layer 7 Reconnaissance Engine ───────────────────╮
|
|
96
|
+
│ ___________ .__ _____ .__ │
|
|
97
|
+
│ \_ _____/____ | | ______ _/ ____\ | | _____ _______ _____ │
|
|
98
|
+
│ | __) \__ \ | | / ___/ \ __\ | | \__ \\_ __ \/ \ │
|
|
99
|
+
│ | \ / __ \_ | |__\___ \ | | | |__/ __ \| | \/ Y Y \ │
|
|
100
|
+
│ \___ / (____ / |____/____ > |__| |____(____ /__| |__|_| / │
|
|
101
|
+
│ \/ \/ \/ \/ \/ │
|
|
102
|
+
│ │
|
|
103
|
+
│ v1.0.0 | Codename: Phantom Strike │
|
|
104
|
+
│ Asynchronous I/O Engine Active | Python 3.14.6 │
|
|
105
|
+
│ Developed by reikageisme │
|
|
106
|
+
╰───────────────────────── Deep InfoSec Lab ──────────────────────────╯
|
|
107
|
+
⚠ Legal: Only use on systems you have permission to test.
|
|
108
|
+
|
|
109
|
+
[20:44:18] [*] Starting scan: http://example.com/FUZZ
|
|
110
|
+
[20:44:18] [*] Engaging Go-based High Speed Fuzzing Engine...
|
|
111
|
+
[20:44:19] [+] Found: http://example.com/js [Status: 301, Size: 222]
|
|
112
|
+
[20:44:20] [+] Found: http://example.com/robots.txt [Status: 301, Size: 230]
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Environment Variables
|
|
118
|
+
|
|
119
|
+
For leveraging private AI triage models and custom API endpoints, FalseAlarm automatically reads your configuration from `.env`. Create or update your `.env` file in the project root:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Create local .env file
|
|
123
|
+
cat << 'EOF' > .env
|
|
124
|
+
GEMINI_API_KEY="your_google_gemini_api_key_here"
|
|
125
|
+
OPENAI_API_KEY="your_openai_api_key_here"
|
|
126
|
+
ANTHROPIC_API_KEY="your_anthropic_api_key_here"
|
|
127
|
+
EOF
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Core Features
|
|
133
|
+
|
|
134
|
+
### Polyglot & High-Performance Engine
|
|
135
|
+
* **Python Orchestrator + Native Go Engine:** High-speed directory and parameter fuzzing powered by `fasthttp` in Go, with real-time NDJSON line-by-line streaming.
|
|
136
|
+
* **Full Asynchronous I/O:** Built on `aiohttp` and `asyncio`, capable of sustaining thousands of concurrent connections with minimal CPU footprint.
|
|
137
|
+
* **Token Bucket Rate Limiting:** Millisecond-precision traffic control with automatic HTTP 429 backoff handling.
|
|
138
|
+
* **Auto-Discovery Plugin Architecture:** Drop any custom `.py` module inheriting `BaseModule` into `falsealarm/modules/` for instant execution without touching core code.
|
|
139
|
+
|
|
140
|
+
### Stealth & Evasion
|
|
141
|
+
* **Proxy Orchestration:** Native support for chained HTTP and SOCKS5 proxies (e.g., Tor network) with automatic node health checks.
|
|
142
|
+
* **Dynamic Fingerprinting:** Automated rotation of `User-Agent` and HTTP headers (Accept, Accept-Language, Accept-Encoding) to blend into legitimate traffic profiles. The Go fuzzing engine now honours the same proxy, rate limit, and User-Agent as the Python core.
|
|
143
|
+
* **Smart Catch-All & Baseline Calibration:** Heuristic analysis to calculate response baselines, filtering out wildcard DNS and soft-404 traps.
|
|
144
|
+
|
|
145
|
+
### Intelligence & State Management
|
|
146
|
+
* **Multi-Target & CIDR Support:** Scan individual URLs (`-u`), input lists (`-iL targets.txt`), or full IP network blocks (`192.168.1.0/24`).
|
|
147
|
+
* **YAML Configuration Profiles:** Save and reuse scan presets (`falsealarm scan -c profile.yaml -p stealth`).
|
|
148
|
+
* **AI-Ready Triage:** Direct integration with LLMs (Gemini / Anthropic / OpenAI) to automatically parse scan results and prioritize high-impact vulnerabilities.
|
|
149
|
+
* **SQLite State Tracking:** Non-blocking WAL-mode SQLite database with automatic retry timeouts for scan history and state persistence.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Module Ecosystem
|
|
154
|
+
|
|
155
|
+
FalseAlarm's architecture is strictly modular with dynamic plugin discovery. Each component can run in isolation or orchestrated together via the `-A` (All) flag.
|
|
156
|
+
|
|
157
|
+
| Module Core | Tactical Capability | OPSEC Level | Status |
|
|
158
|
+
|-------------|---------------------|-------------|:------:|
|
|
159
|
+
| `dns` | Deep Record Enumeration (A, AAAA, MX, NS, TXT, SOA, AXFR, SPF, DMARC) | Passive/Active | Production |
|
|
160
|
+
| `subdomain` | Subdomain Enumeration via crt.sh (OSINT) + DNS brute-force with wildcard filtering | Active | Production |
|
|
161
|
+
| `httpprobe` | Liveness Probing + Similarity Hashing for false positive reduction | Active | Production |
|
|
162
|
+
| `tech` | Fingerprinting (CMS, Frameworks, WAF, CDN) via Headers & DOM | Active | Production |
|
|
163
|
+
| `dirfuzz` | Polyglot (Go + Python) High-Speed Path/Directory Fuzzing (NDJSON Streaming) | Aggressive | Production |
|
|
164
|
+
| `js_analysis` | JavaScript scanning for hidden API endpoints & hardcoded secrets (same-origin by default) | Active | Production |
|
|
165
|
+
| `cors` | Strict CORS Misconfiguration Analysis & Exploit Verification | Active | Production |
|
|
166
|
+
| `portscan` | Async TCP/UDP Port Scanner (Nmap alternative for L7 chains) | Aggressive | Production |
|
|
167
|
+
| `websocket` | WebSocket (WS/WSS) Discovery & Message Fuzzing | Active | Production |
|
|
168
|
+
| `vulnscan` | Next-Gen YAML-based Vulnerability Detection Engine (regex/header/negative matchers + extractors) | Aggressive | Production |
|
|
169
|
+
| `favicon` | Favicon hashing (Shodan `mmh3` + `sha256`) for asset pivoting | Active | Production |
|
|
170
|
+
| `graphql` | GraphQL endpoint discovery & introspection-exposure check | Active | Production |
|
|
171
|
+
| `openredirect` | Open-redirect probing across common redirect parameters | Active | Production |
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Installation
|
|
176
|
+
|
|
177
|
+
FalseAlarm is designed to be deployed rapidly across diverse penetration testing environments.
|
|
178
|
+
|
|
179
|
+
### Option 1: Standard Development Install (Recommended)
|
|
180
|
+
```bash
|
|
181
|
+
git clone https://github.com/reikageisme/falsealarm.git
|
|
182
|
+
cd falsealarm
|
|
183
|
+
python3 -m venv .venv
|
|
184
|
+
source .venv/bin/activate
|
|
185
|
+
pip install -e .
|
|
186
|
+
|
|
187
|
+
# Compile high-speed Go Fuzzing engine
|
|
188
|
+
python -m falsealarm build-engine
|
|
189
|
+
# NOTE: rebuild the Go engine whenever you pull changes to engine-go/ so it
|
|
190
|
+
# picks up new flags (proxy/rate/User-Agent). A stale binary simply causes a
|
|
191
|
+
# graceful fallback to the Python fuzzing engine.
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Option 2: Isolated Global Install (via pipx)
|
|
195
|
+
```bash
|
|
196
|
+
pipx install git+https://github.com/reikageisme/falsealarm.git
|
|
197
|
+
|
|
198
|
+
# Optional: Shodan-compatible favicon hashing
|
|
199
|
+
pipx install "falsealarm[favicon] @ git+https://github.com/reikageisme/falsealarm.git"
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
> Prebuilt Go engine binaries for Linux/macOS/Windows are attached to each
|
|
203
|
+
> GitHub Release. If the Go toolchain isn't installed, `falsealarm build-engine`
|
|
204
|
+
> will download the matching prebuilt binary automatically.
|
|
205
|
+
|
|
206
|
+
### Option 3: Docker Deployment
|
|
207
|
+
Build and run FalseAlarm in an isolated container. The Dockerfile compiles the Go engine during the build process automatically.
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
git clone https://github.com/reikageisme/falsealarm.git
|
|
211
|
+
cd falsealarm
|
|
212
|
+
docker build -t reikageisme/falsealarm .
|
|
213
|
+
docker run -it --rm reikageisme/falsealarm scan -u example.com -A
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Usage Guide
|
|
219
|
+
|
|
220
|
+
The FalseAlarm CLI is built for speed and intuition.
|
|
221
|
+
|
|
222
|
+
### Pre-Pentest Workflow
|
|
223
|
+
|
|
224
|
+
FalseAlarm produces a repeatable attack-surface baseline before manual testing
|
|
225
|
+
begins. Start with the least intrusive profile and expand only when the rules
|
|
226
|
+
of engagement authorize active enumeration.
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
# Fast baseline: live HTTP services and TLS/security-header posture
|
|
230
|
+
falsealarm scan -u example.com -q --report quick-baseline.md
|
|
231
|
+
|
|
232
|
+
# Application mapping: fingerprinting, archived URLs, JavaScript endpoints,
|
|
233
|
+
# CORS, WebSockets, directory discovery, and template checks
|
|
234
|
+
falsealarm scan -u example.com --depth deep --report attack-surface.md
|
|
235
|
+
|
|
236
|
+
# Full authorized reconnaissance: DNS, subdomains, ports, and every web module
|
|
237
|
+
falsealarm scan -u example.com -A --adaptive-rate --diff \
|
|
238
|
+
-o falsealarm.sarif -f sarif --report pentest-handoff.md
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
The Markdown handoff separates automated evidence from a prioritized manual
|
|
242
|
+
testing queue. A clean automated scan is not evidence that an application is
|
|
243
|
+
secure; authorization, session, business-logic, and authenticated workflows
|
|
244
|
+
still require a human tester and an intercepting proxy.
|
|
245
|
+
|
|
246
|
+
JavaScript analysis is same-origin by default to keep findings inside scope and
|
|
247
|
+
reduce vendor-library noise. Use `--include-third-party-js` only when the rules
|
|
248
|
+
of engagement explicitly include external assets or supply-chain review.
|
|
249
|
+
|
|
250
|
+
### Standard Reconnaissance
|
|
251
|
+
```bash
|
|
252
|
+
# 1. Comprehensive mapping (All modules)
|
|
253
|
+
falsealarm scan -u example.com -A
|
|
254
|
+
|
|
255
|
+
# 2. Targeted modular scan (DNS and Tech only)
|
|
256
|
+
falsealarm scan -u example.com -m dns,tech
|
|
257
|
+
|
|
258
|
+
# 3. Multi-target file or CIDR range scan
|
|
259
|
+
falsealarm scan -iL targets.txt -q
|
|
260
|
+
falsealarm scan -u 192.168.1.0/24 -m portscan,httpprobe
|
|
261
|
+
|
|
262
|
+
# 4. Quick mode (Bypasses heavy fuzzing for rapid overview)
|
|
263
|
+
falsealarm scan -u example.com -q
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### Stealth & High-Speed Fuzzing
|
|
267
|
+
```bash
|
|
268
|
+
# Rate limited with Tor network proxy and randomized headers
|
|
269
|
+
falsealarm scan -u example.com -A -r 15 -t 20 --proxy socks5://127.0.0.1:9050 --random-agent
|
|
270
|
+
|
|
271
|
+
# High-intensity Go-accelerated Directory Fuzzing
|
|
272
|
+
falsealarm scan -u http://example.com/FUZZ -m dirfuzz -t 100 -w common.txt
|
|
273
|
+
|
|
274
|
+
# Recursive content discovery (dig into discovered directories)
|
|
275
|
+
falsealarm scan -u http://example.com -m dirfuzz --recursion-depth 2
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Pipe Mode & Tool Chaining (NDJSON)
|
|
279
|
+
FalseAlarm reads targets from stdin and streams NDJSON results to stdout with
|
|
280
|
+
`--pipe` (logs go to stderr), so it composes with the rest of your toolkit:
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
# Chain FalseAlarm stages together
|
|
284
|
+
echo example.com | falsealarm --pipe -m httpprobe | jq -r .url \
|
|
285
|
+
| falsealarm --pipe -m tech,vulnscan
|
|
286
|
+
|
|
287
|
+
# Feed it from other recon tools
|
|
288
|
+
subfinder -d example.com | falsealarm --pipe -m httpprobe -o live.jsonl -f jsonl
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### Data Management & Profiles
|
|
292
|
+
```bash
|
|
293
|
+
# Load scan parameters from a YAML profile
|
|
294
|
+
falsealarm scan -c profile.yaml -p stealth
|
|
295
|
+
|
|
296
|
+
# Export results to JSON for CI/CD pipelines
|
|
297
|
+
falsealarm scan -u example.com -A -o results.json -f json
|
|
298
|
+
|
|
299
|
+
# Export SARIF for GitHub Code Scanning and security CI pipelines
|
|
300
|
+
falsealarm scan -u example.com -A -o falsealarm.sarif -f sarif
|
|
301
|
+
|
|
302
|
+
# Produce a pentester handoff with attack surface, priorities, and a manual test queue
|
|
303
|
+
falsealarm scan -u example.com -A --report pentest-report.md
|
|
304
|
+
|
|
305
|
+
# List historical scans
|
|
306
|
+
falsealarm list-scans
|
|
307
|
+
|
|
308
|
+
# Inspect every installed module before choosing a scan profile
|
|
309
|
+
falsealarm modules
|
|
310
|
+
|
|
311
|
+
# Continue a scan that was interrupted or paused
|
|
312
|
+
falsealarm scan --resume <scan-id>
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
## AI Triage Integration
|
|
318
|
+
|
|
319
|
+
FalseAlarm introduces an AI Triage layer. By hooking into Gemini / OpenAI / Anthropic LLMs, the framework automatically analyzes scan outputs, filters out noise, and highlights chained exploit paths.
|
|
320
|
+
|
|
321
|
+
**Execute scan with AI Triage:**
|
|
322
|
+
```bash
|
|
323
|
+
falsealarm scan -u example.com -A --ai-triage
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## Python API Integration
|
|
329
|
+
|
|
330
|
+
FalseAlarm is fully extensible. You can import its async core directly into your own security orchestration scripts.
|
|
331
|
+
|
|
332
|
+
```python
|
|
333
|
+
import asyncio
|
|
334
|
+
from falsealarm.core.config import ScanConfig
|
|
335
|
+
from falsealarm.core.engine import AsyncEngine
|
|
336
|
+
from falsealarm.modules.techdetect import TechDetectModule
|
|
337
|
+
|
|
338
|
+
async def automate_recon():
|
|
339
|
+
# 1. Define scanning parameters
|
|
340
|
+
config = ScanConfig(
|
|
341
|
+
target="example.com",
|
|
342
|
+
modules=["tech"],
|
|
343
|
+
threads=20,
|
|
344
|
+
timeout=10
|
|
345
|
+
)
|
|
346
|
+
|
|
347
|
+
# 2. Initialize the asynchronous networking core
|
|
348
|
+
engine = AsyncEngine(config)
|
|
349
|
+
|
|
350
|
+
# 3. Instantiate and execute the specific module
|
|
351
|
+
module = TechDetectModule(config, engine)
|
|
352
|
+
results = await module.run()
|
|
353
|
+
|
|
354
|
+
print(f"[+] Discovered Technologies: {results}")
|
|
355
|
+
await engine.close()
|
|
356
|
+
|
|
357
|
+
if __name__ == "__main__":
|
|
358
|
+
asyncio.run(automate_recon())
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
## Contributing
|
|
364
|
+
|
|
365
|
+
We welcome contributions from the InfoSec community. Whether it's adding new YAML vulnerability templates, optimizing the async core, or fixing bugs, please review our [CONTRIBUTING.md](CONTRIBUTING.md) guidelines before submitting a Pull Request.
|
|
366
|
+
|
|
367
|
+
### Code of Conduct
|
|
368
|
+
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. See [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## License
|
|
373
|
+
|
|
374
|
+
Copyright (c) 2026 **ReiKage (`reikageisme`)** & FalseAlarm Security Engine Contributors.
|
|
375
|
+
|
|
376
|
+
This project is a combination of open-source components under the **MIT License** (see [LICENSE-MIT](LICENSE-MIT)) and framework additions licensed under the **Research & Security Assessment License** (see [LICENSE](LICENSE)).
|
|
377
|
+
|
|
378
|
+
---
|
|
379
|
+
|
|
380
|
+
## Legal Disclaimer & Ethics
|
|
381
|
+
|
|
382
|
+
FalseAlarm is an offensive security tool designed strictly for authorized penetration testing, academic research, and lawful bug bounty programs.
|
|
383
|
+
|
|
384
|
+
Executing Layer 7 reconnaissance and fuzzing attacks against infrastructure without explicit, written authorization is illegal. The developers assume zero liability for any misuse, damage, or legal consequences resulting from the deployment of this tool.
|
|
385
|
+
|
|
386
|
+
*Hack ethically. Stay authorized.*
|