Skip to content

Commit 187b105

Browse files
committed
updatations
1 parent 989bc14 commit 187b105

18 files changed

Lines changed: 2072 additions & 706 deletions

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ Project website: [https://voltsparx.github.io/ASRFacet-Rb/](https://voltsparx.gi
2727
- [Installation Guide](#installation-guide)
2828
- [Usage Guide with Examples](#usage-guide-with-examples)
2929
- [Output, Storage, and Reporting](#output-storage-and-reporting)
30+
- [Transparency and Operator Expectations](#transparency-and-operator-expectations)
3031
- [Testing and Release Verification](#testing-and-release-verification)
3132
- [Troubleshooting Guide](#troubleshooting-guide)
3233
- [Documentation Map](#documentation-map)
@@ -131,6 +132,7 @@ Installer prompt theme:
131132
| `dns DOMAIN` | DNS-focused collection | `asrfacet-rb dns example.com` |
132133
| `--console` | Interactive shell mode | `asrfacet-rb --console` |
133134
| `--web-session` | Local web control panel | `asrfacet-rb --web-session` |
135+
| `--version` | Print installed version | `asrfacet-rb --version` |
134136
| `about` | Framework overview | `asrfacet-rb about` |
135137
| `--explain TOPIC` | Built-in topic guidance | `asrfacet-rb --explain scope` |
136138

@@ -190,6 +192,25 @@ flowchart TD
190192
E --> F[Change Summary Available]
191193
```
192194

195+
## Transparency and Operator Expectations
196+
197+
ASRFacet-Rb is meant to be inspectable and explicit about what it is doing.
198+
199+
- Active modes make real DNS, TCP, HTTP, and related network requests to the configured target scope.
200+
- Passive results come from external sources and may be incomplete, stale, or include shared infrastructure that is not automatically authorized.
201+
- The local web session starts a local HTTP server and stores persistent drafts under `~/.asrfacet_rb/web_sessions/`.
202+
- Report bundles, event streams, and recon memory are written under `~/.asrfacet_rb/output/` and `~/.asrfacet_rb/memory/`.
203+
- Findings and prioritization are operator aids, not proof of exploitability or ownership.
204+
- The framework does not claim stealth, evasion, or guaranteed completeness.
205+
- Scope control remains the operator's responsibility. Use `--scope` and `--exclude` before active runs.
206+
207+
Manual surfaces:
208+
209+
- `asrfacet-rb manual`
210+
- `asrfacet-rb manual workflow`
211+
- `man asrfacet-rb`
212+
- `man asrfrb`
213+
193214
## Testing and Release Verification
194215

195216
```bash

docs/getting-started.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
```bash
1212
bundle install
1313
bundle exec ruby bin/asrfacet-rb help
14-
bundle exec ruby bin/asrfacet-rb version
14+
bundle exec ruby bin/asrfacet-rb --version
1515
bundle exec ruby bin/asrfacet-rb about
1616
bundle exec ruby bin/asrfacet-rb --explain scope
1717
bundle exec rake
@@ -100,6 +100,14 @@ The pipeline may also write a JSONL event stream under:
100100
~/.asrfacet_rb/output/streams/
101101
```
102102

103+
## Transparency
104+
105+
- Active commands send real requests to the targets you specify.
106+
- Passive results can still include third-party or stale infrastructure, so treat them as leads to validate, not automatic in-scope truth.
107+
- The web session starts a local server on `127.0.0.1:4567` by default and stores drafts under `~/.asrfacet_rb/web_sessions/`.
108+
- Recon memory and report bundles persist under `~/.asrfacet_rb/memory/` and `~/.asrfacet_rb/output/`.
109+
- Findings help prioritize operator review, but they are not guaranteed exploit proof.
110+
103111
## Built-In Help
104112

105113
```bash
@@ -108,4 +116,6 @@ asrfacet-rb help scan
108116
asrfacet-rb explain scope
109117
asrfacet-rb manual
110118
asrfacet-rb manual workflow
119+
man asrfacet-rb
120+
man asrfrb
111121
```

docs/web-session.md

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,25 @@ The web control panel is local-only by default and binds to `127.0.0.1:4567` unl
2020
- review an about section with framework and storage details
2121
- persist drafts across browser closes and host interruptions
2222

23+
## Layout Model
24+
25+
The current shell is organized more like a control plane than a single long page:
26+
27+
- a persistent left rail for workspace navigation and saved sessions
28+
- a session builder with tabs for targeting, execution, and integrations
29+
- a workbench for summary cards, exposure tables, and snapshot views
30+
- a reports view for stored artifacts
31+
- a documentation view with searchable built-in docs
32+
- a slide-out activity drawer for live run events
33+
34+
## Transparency
35+
36+
- The dashboard is a local HTTP service, not a hosted cloud control panel.
37+
- Saving or autosaving a session writes JSON state to `~/.asrfacet_rb/web_sessions/`.
38+
- Starting a run from the browser triggers the same real recon pipeline used by the CLI.
39+
- Reports, event streams, and recon memory still live under the normal `~/.asrfacet_rb/output/` and `~/.asrfacet_rb/memory/` paths.
40+
- The UI helps inspect sessions more easily, but it does not change the framework's authorization requirements or guarantee completeness.
41+
2342
## Session Persistence
2443

2544
Session drafts are stored under:
@@ -62,13 +81,3 @@ Completed sessions expose links for:
6281
- JSON report
6382

6483
These are served from the stored artifact bundle on disk and remain available after the run completes.
65-
66-
## Themes
67-
68-
The dashboard ships with:
69-
70-
- Light
71-
- Dark
72-
- Grey
73-
74-
Theme selection is stored locally in the browser so the UI returns to the last operator preference.

lib/asrfacet_rb/core/integrity_checker.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class IntegrityChecker
3030

3131
OPTIONAL_PATHS = [
3232
"man/asrfacet-rb.1",
33+
"man/asrfrb.1",
3334
"README.md"
3435
].freeze
3536

lib/asrfacet_rb/ui/cli.rb

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,17 @@ def start(given_args = ARGV, config = {})
6262
if args.delete("--web-session")
6363
return super(["web", *args], config)
6464
end
65-
if args.delete("--about")
66-
return super(["about", *args], config)
67-
end
68-
if (index = args.index("--explain"))
69-
topic = args[index + 1].to_s
70-
args.slice!(index, 2)
71-
return super(["explain", topic, *args], config)
72-
end
65+
if args.delete("--about")
66+
return super(["about", *args], config)
67+
end
68+
if args.delete("--version")
69+
return super(["version", *args], config)
70+
end
71+
if (index = args.index("--explain"))
72+
topic = args[index + 1].to_s
73+
args.slice!(index, 2)
74+
return super(["explain", topic, *args], config)
75+
end
7376

7477
super(args, config)
7578
rescue StandardError

lib/asrfacet_rb/ui/help_catalog.rb

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -320,25 +320,26 @@ module HelpCatalog
320320
},
321321
"version" => {
322322
summary: "Print the currently installed ASRFacet-Rb version.",
323-
usage: "asrfacet-rb version",
323+
usage: "asrfacet-rb --version",
324324
details: [
325325
"Use this when validating the local CLI version before running a scan or sharing results."
326326
],
327327
examples: [
328-
"asrfacet-rb version"
328+
"asrfacet-rb --version"
329329
]
330330
},
331331
"manual" => {
332332
summary: "Read the framework manual or a specific section.",
333333
usage: "asrfacet-rb manual [section]",
334334
details: [
335335
"Use the built-in manual when you want a structured reference for commands, workflow, configuration, outputs, and recon concepts.",
336-
"The same content also ships as a man page source under man/asrfacet-rb.1."
336+
"The same content also ships as man page sources under man/asrfacet-rb.1 and man/asrfrb.1."
337337
],
338338
examples: [
339339
"asrfacet-rb manual",
340340
"asrfacet-rb manual workflow",
341-
"man asrfacet-rb"
341+
"man asrfacet-rb",
342+
"man asrfrb"
342343
]
343344
},
344345
"wizard" => {
@@ -401,6 +402,7 @@ module HelpCatalog
401402
"--delay" => "delay",
402403
"--adaptive-rate" => "adaptive-rate",
403404
"--about" => "about",
405+
"--version" => "version",
404406
"--explain" => "explain",
405407
"--memory" => "memory",
406408
"--top" => "top",
@@ -472,7 +474,7 @@ def menu(executable: PRIMARY_EXECUTABLE)
472474
" explain TOPIC Explain a command or topic Aliases: x, exp",
473475
" help [TOPIC] Show the help menu Aliases: h, ?",
474476
" manual [SECTION] Read the built-in manual Aliases: m, man",
475-
" version Print the installed version Aliases: v, ver",
477+
" --version Print the installed version Command: version | Aliases: v, ver",
476478
"",
477479
"Global options:",
478480
" -o, --output PATH Save output to a file instead of printing",

lib/asrfacet_rb/ui/manual.rb

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ module Manual
2828
configurations
2929
outputs
3030
files
31+
transparency
3132
safety
3233
examples
3334
].freeze
@@ -36,17 +37,19 @@ module Manual
3637
"name" => {
3738
title: "NAME",
3839
body: [
39-
"asrfacet-rb - authorized attack surface reconnaissance and security mapping framework for Ruby 3.2+"
40+
"asrfacet-rb, asrfrb - authorized attack surface reconnaissance and security mapping framework for Ruby 3.2+"
4041
]
4142
},
4243
"synopsis" => {
4344
title: "SYNOPSIS",
4445
body: [
4546
"asrfacet-rb <command> [arguments] [options]",
47+
"asrfacet-rb --version",
4648
"asrfacet-rb --console",
4749
"asrfacet-rb --web-session",
4850
"asrfacet-rb manual [section]",
49-
"man asrfacet-rb"
51+
"man asrfacet-rb",
52+
"man asrfrb"
5053
]
5154
},
5255
"description" => {
@@ -189,7 +192,19 @@ module Manual
189192
"~/.asrfacet_rb/web_sessions/",
190193
" Persistent web-session drafts, run state, and recovered sessions for the local control panel.",
191194
"man/asrfacet-rb.1",
192-
" Manual page source for `man asrfacet-rb` on systems where the man page is installed or the repository man directory is on MANPATH."
195+
" Manual page source for `man asrfacet-rb` on systems where the man page is installed or the repository man directory is on MANPATH.",
196+
"man/asrfrb.1",
197+
" Alias man page source for `man asrfrb`."
198+
]
199+
},
200+
"transparency" => {
201+
title: "TRANSPARENCY",
202+
body: [
203+
"Active modes make real DNS, TCP, HTTP, and related requests to the targets you configure.",
204+
"Passive results are lead generation, not guaranteed truth. They may include stale records, inherited infrastructure, or shared services that are not automatically authorized.",
205+
"The local web session starts a local HTTP server, stores drafts under ~/.asrfacet_rb/web_sessions/, and writes reports and streams to the normal output directories.",
206+
"Findings, scores, and recommendations are operator aids. They do not prove exploitability, ownership, or business impact on their own.",
207+
"ASRFacet-Rb does not claim stealth, evasion, or complete coverage. Operators must still define scope, exclusions, and verification steps explicitly."
193208
]
194209
},
195210
"safety" => {
@@ -212,7 +227,8 @@ module Manual
212227
"asrfacet-rb --explain scope",
213228
"asrfacet-rb scan example.com --scope example.com,api.example.com --exclude dev.example.com --monitor",
214229
"asrfacet-rb --console",
215-
"man asrfacet-rb"
230+
"man asrfacet-rb",
231+
"man asrfrb"
216232
]
217233
}
218234
}.freeze

0 commit comments

Comments
 (0)