mirror of
https://github.com/KeygraphHQ/shannon.git
synced 2026-02-12 17:22:50 +00:00
feat: add configurable output directory with --output flag (#41)
* feat: add configurable output directory with --output flag Add --output CLI flag to specify custom output directory for session folders containing audit logs, prompts, agent logs, and deliverables. Changes: - Add --output <path> CLI flag parsing - Update generateAuditPath() to use custom path when provided - Add consolidateOutputs() to copy deliverables to session folder - Update Docker examples with volume mounts for output directories - Default remains ./audit-logs/ when --output is not specified 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add configurable output directory with --output flag Add --output CLI flag to specify custom output directory for session folders containing audit logs, prompts, agent logs, and deliverables. Changes: - Add --output <path> CLI flag parsing - Store outputPath in Session interface for persistence - Update generateAuditPath() to use custom path when provided - Pass outputPath through pre-recon and checkpoint-manager - Add consolidateOutputs() to copy deliverables to session folder - Update Docker examples with volume mount instructions - Default remains ./audit-logs/ when --output is not specified 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * chore: add gitkeep and fix formatting * fix: correct docker run command formatting in README Remove invalid inline comments after backslash continuations in docker run commands. Comments cannot appear after backslash line continuations in shell scripts, as the backslash escapes the newline character. Reorganized comments to appear on separate lines before or after the command block for better clarity and proper shell syntax. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
14
CLAUDE.md
14
CLAUDE.md
@@ -15,13 +15,14 @@ npm install
|
||||
|
||||
### Running the Penetration Testing Agent
|
||||
```bash
|
||||
shannon <WEB_URL> <REPO_PATH> --config <CONFIG_FILE>
|
||||
shannon <WEB_URL> <REPO_PATH> [--config <CONFIG_FILE>] [--output <OUTPUT_DIR>]
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
shannon "https://example.com" "/path/to/local/repo"
|
||||
shannon "https://juice-shop.herokuapp.com" "/home/user/juice-shop" --config juice-shop-config.yaml
|
||||
shannon "https://example.com" "/path/to/repo" --output /path/to/reports
|
||||
```
|
||||
|
||||
### Alternative Execution
|
||||
@@ -194,10 +195,11 @@ The agent implements a sophisticated checkpoint system using git:
|
||||
The agent implements a crash-safe, self-healing audit system (v3.0) with the following guarantees:
|
||||
|
||||
**Architecture:**
|
||||
- **audit-logs/**: Centralized metrics and forensic logs (source of truth)
|
||||
- **audit-logs/** (or custom `--output` path): Centralized metrics and forensic logs (source of truth)
|
||||
- `{hostname}_{sessionId}/session.json` - Comprehensive metrics with attempt-level detail
|
||||
- `{hostname}_{sessionId}/prompts/` - Exact prompts used for reproducibility
|
||||
- `{hostname}_{sessionId}/agents/` - Turn-by-turn execution logs
|
||||
- `{hostname}_{sessionId}/deliverables/` - Security reports and findings
|
||||
- **.shannon-store.json**: Minimal orchestration state (completedAgents, checkpoints)
|
||||
|
||||
**Crash Safety:**
|
||||
@@ -287,13 +289,15 @@ dist/ # Compiled JavaScript output
|
||||
└── ... # Other compiled files
|
||||
package.json # Node.js dependencies
|
||||
.shannon-store.json # Orchestration state (minimal)
|
||||
audit-logs/ # Centralized audit data (v3.0)
|
||||
audit-logs/ # Centralized audit data (default, or use --output)
|
||||
└── {hostname}_{sessionId}/
|
||||
├── session.json # Comprehensive metrics
|
||||
├── prompts/ # Prompt snapshots
|
||||
│ └── {agent}.md
|
||||
└── agents/ # Agent execution logs
|
||||
└── {timestamp}_{agent}_attempt-{N}.log
|
||||
├── agents/ # Agent execution logs
|
||||
│ └── {timestamp}_{agent}_attempt-{N}.log
|
||||
└── deliverables/ # Security reports and findings
|
||||
└── ...
|
||||
configs/ # Configuration files
|
||||
├── config-schema.json # JSON Schema validation
|
||||
├── example-config.yaml # Template configuration
|
||||
|
||||
Reference in New Issue
Block a user