@orionscanner/cli 0.1.0 → 0.5.1
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.
- package/README.md +80 -190
- package/bin/orion.js +30 -29
- package/dist/orion.exe +0 -0
- package/package.json +46 -48
- package/docs/API_REFERENCE.md +0 -211
- package/docs/ARCHITECTURE.md +0 -183
- package/docs/CHANGELOG.md +0 -112
- package/docs/CONTRIBUTING.md +0 -157
- package/docs/ENGINE_CATALOG.md +0 -87
- package/docs/GETTING_STARTED.md +0 -226
- package/pyproject.toml +0 -16
- package/src/orion/__init__.py +0 -0
- package/src/orion/__pycache__/__init__.cpython-313.pyc +0 -0
- package/src/orion/engine/__init__.py +0 -17
- package/src/orion/engine/__pycache__/__init__.cpython-313.pyc +0 -0
- package/src/orion/engine/__pycache__/config.cpython-313.pyc +0 -0
- package/src/orion/engine/__pycache__/core.cpython-313.pyc +0 -0
- package/src/orion/engine/__pycache__/ir.cpython-313.pyc +0 -0
- package/src/orion/engine/__pycache__/languages.cpython-313.pyc +0 -0
- package/src/orion/engine/__pycache__/registry.cpython-313.pyc +0 -0
- package/src/orion/engine/__pycache__/results.cpython-313.pyc +0 -0
- package/src/orion/engine/__pycache__/runner.cpython-313.pyc +0 -0
- package/src/orion/engine/api_security/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/api_security/engine.py +0 -125
- package/src/orion/engine/architecture/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/architecture/engine.py +0 -463
- package/src/orion/engine/authorization/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/authorization/engine.py +0 -337
- package/src/orion/engine/callgraph/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/callgraph/engine.py +0 -236
- package/src/orion/engine/cfg/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/cfg/engine.py +0 -509
- package/src/orion/engine/chaos/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/chaos/engine.py +0 -268
- package/src/orion/engine/chaos_config/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/chaos_config/engine.py +0 -322
- package/src/orion/engine/complexity/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/complexity/engine.py +0 -144
- package/src/orion/engine/compliance/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/compliance/engine.py +0 -325
- package/src/orion/engine/config.py +0 -41
- package/src/orion/engine/config_engine/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/config_engine/engine.py +0 -364
- package/src/orion/engine/config_validation/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/config_validation/engine.py +0 -313
- package/src/orion/engine/container/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/container/engine.py +0 -546
- package/src/orion/engine/contract_probe/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/contract_probe/engine.py +0 -316
- package/src/orion/engine/core.py +0 -75
- package/src/orion/engine/crypto_guard/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/crypto_guard/engine.py +0 -134
- package/src/orion/engine/data_residency/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/data_residency/engine.py +0 -238
- package/src/orion/engine/dataflow/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/dataflow/engine.py +0 -398
- package/src/orion/engine/dead_import/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/dead_import/engine.py +0 -293
- package/src/orion/engine/deps/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/deps/engine.py +0 -244
- package/src/orion/engine/dispatcher.py +0 -350
- package/src/orion/engine/docs/AUDIT_PROMPT.md +0 -1248
- package/src/orion/engine/duplication/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/duplication/engine.py +0 -120
- package/src/orion/engine/error_handling/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/error_handling/engine.py +0 -256
- package/src/orion/engine/fp_learn/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/fp_learn/engine.py +0 -248
- package/src/orion/engine/hunter/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/hunter/engine.py +0 -324
- package/src/orion/engine/iac_security/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/iac_security/engine.py +0 -218
- package/src/orion/engine/ir.py +0 -22
- package/src/orion/engine/languages.py +0 -454
- package/src/orion/engine/license/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/license/engine.py +0 -172
- package/src/orion/engine/lint/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/lint/engine.py +0 -558
- package/src/orion/engine/llm_security/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/llm_security/engine.py +0 -125
- package/src/orion/engine/logging_c/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/logging_c/engine.py +0 -164
- package/src/orion/engine/noise/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/noise/engine.py +0 -140
- package/src/orion/engine/orphan/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/orphan/engine.py +0 -244
- package/src/orion/engine/perf_guard/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/perf_guard/engine.py +0 -345
- package/src/orion/engine/prompt_security/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/prompt_security/detectors/__init__.py +0 -4
- package/src/orion/engine/prompt_security/engine.py +0 -170
- package/src/orion/engine/provenance/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/provenance/engine.py +0 -242
- package/src/orion/engine/registry.py +0 -55
- package/src/orion/engine/regression/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/regression/engine.py +0 -213
- package/src/orion/engine/results.py +0 -21
- package/src/orion/engine/runner.py +0 -1310
- package/src/orion/engine/sandbox_escape/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/sandbox_escape/engine.py +0 -284
- package/src/orion/engine/sast/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/sast/engine.py +0 -217
- package/src/orion/engine/sast/patterns/__init__.py +0 -513
- package/src/orion/engine/sast/patterns/__pycache__/__init__.cpython-313.pyc +0 -0
- package/src/orion/engine/secrets/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/secrets/engine.py +0 -77
- package/src/orion/engine/secrets/patterns/__init__.py +0 -74
- package/src/orion/engine/secrets/patterns/__pycache__/__init__.cpython-313.pyc +0 -0
- package/src/orion/engine/sensitive_data/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/sensitive_data/engine.py +0 -143
- package/src/orion/engine/state/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/state/engine.py +0 -218
- package/src/orion/engine/supply_chain_sbom/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/supply_chain_sbom/engine.py +0 -290
- package/src/orion/engine/symbol/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/symbol/engine.py +0 -463
- package/src/orion/engine/taint/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/taint/engine.py +0 -464
- package/src/orion/engine/test_coverage/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/test_coverage/engine.py +0 -445
- package/src/orion/engine/threat_model/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/threat_model/engine.py +0 -126
- package/src/orion/engine/wiring_trace/__pycache__/engine.cpython-313.pyc +0 -0
- package/src/orion/engine/wiring_trace/engine.py +0 -200
- package/src/orion_engine.egg-info/PKG-INFO +0 -7
- package/src/orion_engine.egg-info/SOURCES.txt +0 -65
- package/src/orion_engine.egg-info/dependency_links.txt +0 -1
- package/src/orion_engine.egg-info/entry_points.txt +0 -2
- package/src/orion_engine.egg-info/top_level.txt +0 -1
package/README.md
CHANGED
|
@@ -1,248 +1,138 @@
|
|
|
1
|
-
# Orion Security Suite
|
|
1
|
+
# Orion Security Suite
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<img src="assets/logo.png" alt="Orion Security Suite" width="
|
|
4
|
+
<img src="assets/logo.png" alt="Orion Security Suite" width="460" />
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
|
-
<strong>
|
|
8
|
+
<strong>SEE. ANALYZE. IMPROVE.</strong><br>
|
|
9
|
+
<em>The Autonomous, In-House Code Intelligence & Enterprise Security Audit Platform</em>
|
|
9
10
|
</p>
|
|
10
11
|
|
|
11
12
|
<p align="center">
|
|
12
|
-
<img src="https://img.shields.io/badge/
|
|
13
|
-
<img src="https://img.shields.io/badge/
|
|
14
|
-
<img src="https://img.shields.io/badge/
|
|
15
|
-
<img src="https://img.shields.io/badge/platform-Windows%20%7C%
|
|
16
|
-
<img src="https://img.shields.io/badge/architecture-100%25%20In--House%20Local-purple.svg" alt="Architecture" />
|
|
13
|
+
<a href="https://www.npmjs.com/package/@orionscanner/cli"><img src="https://img.shields.io/badge/npm-v0.5.1-cb3837?logo=npm" alt="npm" /></a>
|
|
14
|
+
<img src="https://img.shields.io/badge/version-0.5.1-blue.svg" alt="Version 0.5.1" />
|
|
15
|
+
<img src="https://img.shields.io/badge/security-In--House%20Core-emerald.svg" alt="Security" />
|
|
16
|
+
<img src="https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg" alt="Platform" />
|
|
17
17
|
</p>
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
##
|
|
21
|
+
## Why Choose Orion?
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Modern development teams face fragmented security tools, high false-alarm noise, and code privacy risks from sending proprietary source files to third-party clouds.
|
|
24
24
|
|
|
25
|
-
Orion
|
|
25
|
+
**Orion Security Suite** solves this with a unified, zero-cloud, 100% in-house code audit powerhouse that runs entirely on your local infrastructure.
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
┌────────────────────────────────────────┐
|
|
29
|
+
│ ORION SECURITY SUITE │
|
|
30
|
+
│ SEE. ANALYZE. IMPROVE. │
|
|
31
|
+
└───────────────────┬────────────────────┘
|
|
32
|
+
│
|
|
33
|
+
┌────────────────────────────┼────────────────────────────┐
|
|
34
|
+
▼ ▼ ▼
|
|
35
|
+
🛡️ Application Security 🧠 AI & LLM Defense ⚡ Code Quality & Flow
|
|
36
|
+
• Deep SAST & Sinks • Prompt Injection Shields • Complexity & O(n²) Guard
|
|
37
|
+
• Taint Flow Analysis • Agent Trust Boundaries • Dead Code Elimination
|
|
38
|
+
• Secret & Key Leak Hunter • Automated STRIDE Threat • Clean Architecture Graph
|
|
39
|
+
```
|
|
26
40
|
|
|
27
41
|
---
|
|
28
42
|
|
|
29
|
-
##
|
|
43
|
+
## Instant Quick Start
|
|
30
44
|
|
|
31
|
-
|
|
32
|
-
| :--- | :--- |
|
|
33
|
-
| **100% In-House Local IP** | All AST visitors, taint trackers, heuristics, and tokenizers run natively in pure Python. |
|
|
34
|
-
| **Comprehensive Scope** | Single unified run covering Application Security, Cloud/IaC, AI Prompt/Agent Defense, Code Quality, and Architecture. |
|
|
35
|
-
| **Phased Indexing** | Clear, multi-phase AST indexing and CFG synthesis without jumpy animations or progress-bar console jitter. |
|
|
36
|
-
| **Cross-Engine Deduplication** | Correlates and collapses overlapping findings across multiple engines with confidence scoring. |
|
|
37
|
-
| **Executive Reports** | Generates self-contained HTML dashboards with one-click print/PDF layout, JSON findings catalog, and TXT summaries in `ORION SCANNER REPORTS/`. |
|
|
38
|
-
| **Isolated Execution** | Async/await execution model with per-engine resource limits, sandboxing, and timeout protection. |
|
|
45
|
+
### 🚀 Install via NPM (One-Line Global Setup)
|
|
39
46
|
|
|
40
|
-
|
|
47
|
+
```bash
|
|
48
|
+
npm install -g @orionscanner/cli
|
|
49
|
+
```
|
|
41
50
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
### 1. Application Security & Deep SAST
|
|
47
|
-
- **DeepSAST™ (`sast`)**: Detects SQL Injection, XSS, Command Injection, SSRF, Path Traversal, Insecure Deserialization, and Weak Ciphers.
|
|
48
|
-
- **TaintFlow™ (`taint`)**: Inter-procedural AST taint propagation tracking untrusted inputs to critical execution sinks.
|
|
49
|
-
- **KeyVault™ (`secrets`)**: High-entropy token analysis and pattern matching for leaked API keys, private keys, and passwords.
|
|
50
|
-
- **AuthGate™ (`authorization`)**: Route-level access control auditor verifying RBAC/ABAC enforcement across web frameworks.
|
|
51
|
-
- **CryptoGuard™ (`crypto_guard`)**: Cryptographic posture validator flagging outdated algorithms (MD5, SHA1, DES, ECB mode).
|
|
52
|
-
- **APIGuard™ (`api_security`)**: OWASP API Top 10 inspector auditing endpoint rate limiting, input validation, and JWT signatures.
|
|
53
|
-
- **ContainerBreak™ (`sandbox_escape`)**: Detects sandbox escape vectors, unsafe reflection, `ctypes`, and dangerous native calls.
|
|
54
|
-
|
|
55
|
-
### 2. AI, LLM & Threat Modeling
|
|
56
|
-
- **AegisAgent™ (`llm_security` / `prompt_security`)**: Audits LLM applications for prompt injection, jailbreak attempts, unconstrained tool use, and insecure output handling.
|
|
57
|
-
- **ThreatPulse™ (`threat_model`)**: Automated STRIDE threat modeling analyzing trust boundaries, unprotected persistence crossings, and cascading I/O.
|
|
58
|
-
|
|
59
|
-
### 3. Privacy, Compliance & Supply Chain
|
|
60
|
-
- **PrivacyShield™ (`sensitive_data`)**: Scans for PII, GDPR, HIPAA, and PCI-DSS violations with proprietary Luhn PAN validation and SSN detectors.
|
|
61
|
-
- **DataBound™ (`data_residency`)**: Verifies data sovereignty and storage boundaries to prevent unauthorized geographic transfers.
|
|
62
|
-
- **SBOMTracker™ (`supply_chain_sbom` / `deps`)**: In-house Software Bill of Materials (SBOM) generator and dependency vulnerability scanner.
|
|
63
|
-
- **LicenseGuard™ (`license`)**: Scans for GPL/AGPL copyleft license contamination and license compatibility conflicts.
|
|
64
|
-
- **ProvenanceTrace™ (`provenance`)**: Audits source code build integrity, commit signing indicators, and pipeline reproducibility.
|
|
65
|
-
|
|
66
|
-
### 4. Code Quality, Standards & Reliability
|
|
67
|
-
- **CognitivePulse™ (`complexity`)**: Computes cyclomatic complexity, cognitive load metrics, and deeply nested logic paths.
|
|
68
|
-
- **CloneMatrix™ (`duplication`)**: Token-based duplicate code and structural redundancy detector.
|
|
69
|
-
- **CleanSweep™ (`dead_import` / `orphan`)**: Identifies unreferenced symbols, orphan functions, and dead code stores.
|
|
70
|
-
- **ResilienceGuard™ (`error_handling`)**: Detects empty exception handlers (`except: pass`), swallowed errors, and unhandled promises.
|
|
71
|
-
- **CodeStandard™ (`lint`)**: Static code quality and best practices enforcement without stylistic noise.
|
|
72
|
-
- **CoverageGuard™ (`test_coverage`)**: Heuristic test-to-code ratio and missing unit test coverage detector.
|
|
73
|
-
|
|
74
|
-
### 5. Architecture, Dataflow & Performance
|
|
75
|
-
- **CallGraph360™ (`callgraph`)**: Constructs comprehensive whole-program call graphs and dependency coupling hierarchies.
|
|
76
|
-
- **FlowCFG™ (`cfg`)**: Builds control flow graphs to detect unreachable branches, infinite loops, and execution anomalies.
|
|
77
|
-
- **SymbolMatrix™ (`symbol`)**: Analyzes symbol resolution, shadowed builtins, and scope collisions.
|
|
78
|
-
- **DataFlowIR™ (`dataflow`)**: Intra-function data flow analyzer detecting use-before-def and uninitialized state.
|
|
79
|
-
- **SpeedGuard™ (`perf_guard`)**: Identifies algorithmic performance anti-patterns, nested O(n²) loops, and unindexed lookups.
|
|
80
|
-
- **RegressionShield™ (`regression`)**: Flags fragile patterns, runtime monkey patching, and unsafe reflection.
|
|
81
|
-
- **WiringTrace™ (`wiring_trace`)**: Dependency injection and component wiring validator.
|
|
82
|
-
- **StateGuard™ (`state`)**: Concurrency analysis detecting unprotected shared mutable state and race conditions.
|
|
83
|
-
|
|
84
|
-
### 6. Cloud, IaC & Resilience
|
|
85
|
-
- **CloudSentry™ (`container`)**: Dockerfile and container security analyzer (root execution, exposed daemon sockets, multi-stage builds).
|
|
86
|
-
- **IaCGuard™ (`iac_security`)**: Terraform, CloudFormation, and Kubernetes manifest auditor for security group and IAM misconfigurations.
|
|
87
|
-
- **ConfigPulse™ (`config_engine` / `config_validation`)**: Validates environment variables, `.env` hygiene, and application configuration drift.
|
|
88
|
-
- **ChaosProbe™ (`chaos` / `chaos_config`)**: Injects fault tolerance simulations and verifies circuit breaker recovery mechanisms.
|
|
89
|
-
- **NoiseFilter™ (`noise`)**: Machine-level false positive suppression and signal-to-noise optimization.
|
|
90
|
-
- **HunterCore™ (`hunter`)**: Heuristic zero-day vulnerability hunter for unusual code patterns.
|
|
91
|
-
- **FPLearn™ (`fp_learn`)**: Contextual learning feedback loop to minimize recurring false positives.
|
|
51
|
+
*Or run instantly with `npx` (zero installation required):*
|
|
52
|
+
```bash
|
|
53
|
+
npx @orionscanner/cli .
|
|
54
|
+
```
|
|
92
55
|
|
|
93
56
|
---
|
|
94
57
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
### Local Editable Installation
|
|
58
|
+
### 🐍 Install via Python
|
|
98
59
|
|
|
99
60
|
```bash
|
|
100
|
-
# Clone
|
|
101
|
-
|
|
61
|
+
# Clone the repository
|
|
62
|
+
git clone https://github.com/chandrahotha/OrionEngine.git
|
|
63
|
+
cd OrionEngine
|
|
102
64
|
|
|
103
|
-
# Install in editable mode
|
|
65
|
+
# Install locally in editable mode
|
|
104
66
|
pip install -e .
|
|
105
67
|
```
|
|
106
68
|
|
|
107
|
-
### Verification
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
orion --help
|
|
111
|
-
```
|
|
112
|
-
|
|
113
69
|
---
|
|
114
70
|
|
|
115
|
-
##
|
|
71
|
+
## ⚡ Supercharged CLI Experience
|
|
116
72
|
|
|
117
|
-
|
|
73
|
+
Audit your entire codebase in seconds with intuitive commands:
|
|
118
74
|
|
|
119
75
|
```bash
|
|
120
|
-
#
|
|
76
|
+
# Complete Workspace Audit (All Security, Quality & Architecture Engines)
|
|
121
77
|
orion .
|
|
122
78
|
|
|
123
|
-
#
|
|
124
|
-
orion
|
|
125
|
-
|
|
79
|
+
# Targeted Security & Deep SAST Audit
|
|
80
|
+
orion . --security
|
|
81
|
+
|
|
82
|
+
# Automated STRIDE Threat Modeling & PII Privacy Inspection
|
|
83
|
+
orion . --threat
|
|
84
|
+
|
|
85
|
+
# AI Agent Defense & Prompt Injection Testing
|
|
86
|
+
orion . --ai
|
|
87
|
+
|
|
88
|
+
# Cloud Configuration & Container Security Audit
|
|
89
|
+
orion . --iac
|
|
126
90
|
|
|
127
|
-
#
|
|
128
|
-
orion . --
|
|
129
|
-
orion . --threat # Automated STRIDE Threat Modeling & Privacy (PII)
|
|
130
|
-
orion . --iac # Infrastructure as Code & Container Security
|
|
131
|
-
orion . --ai # AI, LLM Prompt Security & Agent Defense
|
|
132
|
-
orion . --quality # Code Quality, Complexity & Linter
|
|
133
|
-
orion . --architecture # Call Graph, CFG & Data Flow Analysis
|
|
134
|
-
orion . --supply-chain # SBOM, Dependencies & License Auditing
|
|
91
|
+
# Code Quality, Complexity & Architecture Sweep
|
|
92
|
+
orion . --quality
|
|
135
93
|
|
|
136
|
-
# Interactive Management Console
|
|
94
|
+
# Launch Interactive Terminal Management Console
|
|
137
95
|
orion
|
|
138
96
|
```
|
|
139
97
|
|
|
140
98
|
---
|
|
141
99
|
|
|
142
|
-
##
|
|
100
|
+
## 💎 The Orion Advantage
|
|
143
101
|
|
|
144
|
-
|
|
102
|
+
### 🔒 100% In-House, Zero-Cloud Privacy
|
|
103
|
+
Your proprietary source code never leaves your workstation or CI/CD runner. Every parser, AST visitor, heuristic rule, and taint-flow engine is 100% custom-built and executes locally with zero external subprocess dependencies.
|
|
145
104
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
2. **`orion_executive_security_report.json`**:
|
|
152
|
-
- Machine-readable structured findings catalog with metadata, CWE identifiers, confidence scores, and contributing engine attribution.
|
|
153
|
-
3. **`orion_executive_security_report.txt`**:
|
|
154
|
-
- Clean plaintext audit summary ideal for CI/CD terminal logs and build pipelines.
|
|
105
|
+
### 📊 Beautiful, Executive-Ready Reports
|
|
106
|
+
Every scan generates self-contained executive intelligence reports in `ORION SCANNER REPORTS/`:
|
|
107
|
+
- **Interactive HTML Dashboard**: Filter findings by category (`Security`, `Code Quality`, `Architecture`, `Supply Chain`) and severity.
|
|
108
|
+
- **One-Click PDF Export**: Clean, printable executive summary ready for stakeholders and compliance audits.
|
|
109
|
+
- **Machine-Readable JSON**: Complete structured finding metadata with CWE mappings and confidence scores.
|
|
155
110
|
|
|
156
|
-
|
|
111
|
+
### 🎯 High-Precision Signal, Zero Fluff
|
|
112
|
+
Orion suppresses duplicate/generated-file noise, learns from your `.orion-feedback.json` corrections, and honors inline `# orion:ignore` comments — delivering actionable findings you can trust.
|
|
157
113
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
You can integrate Orion directly into custom Python pipelines:
|
|
161
|
-
|
|
162
|
-
```python
|
|
163
|
-
import asyncio
|
|
164
|
-
from pathlib import Path
|
|
165
|
-
from orion.engine import OrionEngine, EngineConfig, ResourceLimits
|
|
166
|
-
from orion.engine.ir import OrionIR
|
|
167
|
-
|
|
168
|
-
async def audit_codebase():
|
|
169
|
-
# 1. Initialize Orion Engine
|
|
170
|
-
engine = OrionEngine()
|
|
171
|
-
|
|
172
|
-
# 2. Build Intermediate Representation (IR)
|
|
173
|
-
file_path = Path("src/server.py")
|
|
174
|
-
ir = OrionIR(
|
|
175
|
-
content=file_path.read_bytes(),
|
|
176
|
-
metadata={
|
|
177
|
-
"path": str(file_path),
|
|
178
|
-
"language": "python",
|
|
179
|
-
"project_root": "."
|
|
180
|
-
}
|
|
181
|
-
)
|
|
182
|
-
|
|
183
|
-
# 3. Configure Execution Limits
|
|
184
|
-
config = EngineConfig(
|
|
185
|
-
resource_limits=ResourceLimits(
|
|
186
|
-
max_cpu_seconds=30,
|
|
187
|
-
max_memory_mb=256
|
|
188
|
-
)
|
|
189
|
-
)
|
|
190
|
-
|
|
191
|
-
# 4. Execute Engine Suite
|
|
192
|
-
result = await engine.run([ir], config)
|
|
193
|
-
|
|
194
|
-
# 5. Process Findings
|
|
195
|
-
print(f"Total Findings: {len(result.findings)}")
|
|
196
|
-
for finding in result.findings:
|
|
197
|
-
print(f"[{finding.severity.upper()}] {finding.title} ({finding.location})")
|
|
198
|
-
print(f" Engine: {finding.engine} | Confidence: {finding.metadata.get('confidence')}")
|
|
199
|
-
|
|
200
|
-
if __name__ == "__main__":
|
|
201
|
-
asyncio.run(audit_codebase())
|
|
202
|
-
```
|
|
114
|
+
### 🤖 Optional AI Verification (Bring Your Own Key)
|
|
115
|
+
For an extra layer of confirmation on top of the fully offline static engines, Orion can optionally send its highest-severity findings to an LLM for a second opinion — using **your own API key** for Anthropic, OpenAI, DeepSeek, Grok, or OpenRouter. This is opt-in and disabled by default; without a key and explicit network permission, Orion runs entirely offline as always.
|
|
203
116
|
|
|
204
117
|
---
|
|
205
118
|
|
|
206
|
-
##
|
|
119
|
+
## 🛠️ Multi-Language Codebase Support
|
|
120
|
+
|
|
121
|
+
Orion automatically detects and audits your entire multi-language stack:
|
|
207
122
|
|
|
208
|
-
|
|
209
|
-
- **
|
|
210
|
-
- **
|
|
211
|
-
- **Manifests & Dependencies**: `requirements.txt`, `pyproject.toml`, `Pipfile`, `package.json`, `package-lock.json`, `go.mod`, `Cargo.toml`, `pom.xml`.
|
|
123
|
+
- **Languages**: Python, JavaScript, TypeScript, Go, Java, Rust, Ruby, PHP, C/C++, C#, Shell, SQL
|
|
124
|
+
- **Cloud & DevOps**: Dockerfile, `docker-compose.yml`, Kubernetes Manifests, Terraform, GitHub Actions
|
|
125
|
+
- **Dependency Manifests**: `package.json`, `requirements.txt`, `pyproject.toml`, `go.mod`, `Cargo.toml`, `pom.xml`
|
|
212
126
|
|
|
213
127
|
---
|
|
214
128
|
|
|
215
|
-
##
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
├── assets/
|
|
220
|
-
│ └── logo.png # Official Orion Emblem & Logo
|
|
221
|
-
├── src/
|
|
222
|
-
│ └── orion/
|
|
223
|
-
│ └── engine/
|
|
224
|
-
│ ├── core.py # OrionEngine Core Coordinator
|
|
225
|
-
│ ├── ir.py # Intermediate Representation (IR)
|
|
226
|
-
│ ├── runner.py # CLI Runner, Formatter & Report Generator
|
|
227
|
-
│ ├── registry.py # Dynamic In-House Engine Discovery
|
|
228
|
-
│ ├── config.py # Engine Configurations & Resource Limits
|
|
229
|
-
│ ├── results.py # Finding & EngineResult Data Models
|
|
230
|
-
│ ├── sast/ # DeepSAST™ Engine
|
|
231
|
-
│ ├── taint/ # TaintFlow™ Engine
|
|
232
|
-
│ ├── secrets/ # KeyVault™ Engine
|
|
233
|
-
│ ├── threat_model/ # ThreatPulse™ STRIDE Engine
|
|
234
|
-
│ ├── sensitive_data/ # PrivacyShield™ PII/PCI Engine
|
|
235
|
-
│ ├── llm_security/ # AegisAgent™ AI/LLM Security Engine
|
|
236
|
-
│ ├── perf_guard/ # SpeedGuard™ Performance Engine
|
|
237
|
-
│ ├── iac_security/ # IaCGuard™ Cloud/IaC Engine
|
|
238
|
-
│ └── ... # (All in-house proprietary engines)
|
|
239
|
-
├── ORION SCANNER REPORTS/ # Output Directory for Latest Generated Reports
|
|
240
|
-
├── pyproject.toml # Package Configuration (v0.1.0)
|
|
241
|
-
└── README.md # Documentation
|
|
242
|
-
```
|
|
129
|
+
## 📦 NPM Package Links
|
|
130
|
+
|
|
131
|
+
- **NPM Package**: [`https://www.npmjs.com/package/@orionscanner/cli`](https://www.npmjs.com/package/@orionscanner/cli)
|
|
132
|
+
- **GitHub Repository**: [`https://github.com/chandrahotha/OrionEngine`](https://github.com/chandrahotha/OrionEngine)
|
|
243
133
|
|
|
244
134
|
---
|
|
245
135
|
|
|
246
|
-
## License &
|
|
136
|
+
## License & Intellectual Property
|
|
247
137
|
|
|
248
|
-
Orion Security Suite is a proprietary, in-house developed codebase intelligence platform. All engines,
|
|
138
|
+
Orion Security Suite is a proprietary, in-house developed codebase intelligence platform. All engines, algorithms, and AST analyzers are original intellectual property built for high-performance security auditing.
|
package/bin/orion.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* Orion Security Suite -
|
|
3
|
+
* Orion Security Suite - Protected Standalone Binary Wrapper (v0.5.1)
|
|
4
4
|
* 100% In-House Code Intelligence & SAST Platform
|
|
5
|
+
* (Zero Python Source Code Distributed)
|
|
5
6
|
*/
|
|
6
7
|
|
|
7
8
|
const { spawn } = require('child_process');
|
|
@@ -11,38 +12,38 @@ const fs = require('fs');
|
|
|
11
12
|
const projectRoot = path.resolve(__dirname, '..');
|
|
12
13
|
const args = process.argv.slice(2);
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
});
|
|
15
|
+
// Check for standalone compiled binary first (zero source code)
|
|
16
|
+
const exePath = path.join(projectRoot, 'dist', 'orion.exe');
|
|
17
|
+
const binPath = path.join(projectRoot, 'dist', 'orion');
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
const child = spawn(
|
|
19
|
+
if (process.platform === 'win32' && fs.existsSync(exePath)) {
|
|
20
|
+
const child = spawn(exePath, args, {
|
|
21
21
|
stdio: 'inherit',
|
|
22
|
-
env: pythonEnv,
|
|
23
22
|
cwd: process.cwd()
|
|
24
23
|
});
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
runPython('py');
|
|
31
|
-
} else {
|
|
32
|
-
console.error('\x1b[31m✖ Error: Python 3.10+ is required to execute Orion Engine.\x1b[0m');
|
|
33
|
-
console.error('Please ensure Python is installed and added to your PATH environment variable.');
|
|
34
|
-
process.exit(1);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
child.on('close', (code) => {
|
|
39
|
-
process.exit(code || 0);
|
|
24
|
+
child.on('close', (code) => process.exit(code || 0));
|
|
25
|
+
} else if (fs.existsSync(binPath)) {
|
|
26
|
+
const child = spawn(binPath, args, {
|
|
27
|
+
stdio: 'inherit',
|
|
28
|
+
cwd: process.cwd()
|
|
40
29
|
});
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
// Start with standard python executable or python3
|
|
44
|
-
if (process.platform === 'win32') {
|
|
45
|
-
runPython('python');
|
|
30
|
+
child.on('close', (code) => process.exit(code || 0));
|
|
46
31
|
} else {
|
|
47
|
-
|
|
32
|
+
// Fallback if running from development workspace with source
|
|
33
|
+
const scriptPath = path.join(projectRoot, 'src', 'orion', 'engine', 'runner.py');
|
|
34
|
+
if (fs.existsSync(scriptPath)) {
|
|
35
|
+
const pythonEnv = Object.assign({}, process.env, {
|
|
36
|
+
PYTHONPATH: path.join(projectRoot, 'src') + (process.env.PYTHONPATH ? path.delimiter + process.env.PYTHONPATH : '')
|
|
37
|
+
});
|
|
38
|
+
const cmd = process.platform === 'win32' ? 'python' : 'python3';
|
|
39
|
+
const child = spawn(cmd, [scriptPath, ...args], {
|
|
40
|
+
stdio: 'inherit',
|
|
41
|
+
env: pythonEnv,
|
|
42
|
+
cwd: process.cwd()
|
|
43
|
+
});
|
|
44
|
+
child.on('close', (code) => process.exit(code || 0));
|
|
45
|
+
} else {
|
|
46
|
+
console.error('\x1b[31m✖ Error: Orion binary executable not found.\x1b[0m');
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
48
49
|
}
|
package/dist/orion.exe
ADDED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,48 +1,46 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@orionscanner/cli",
|
|
3
|
-
"version": "0.1
|
|
4
|
-
"description": "Orion Security Suite - Proprietary In-House Code Intelligence, SAST & Architecture Auditing Platform",
|
|
5
|
-
"main": "bin/orion.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"orion": "
|
|
8
|
-
"orion-engine": "
|
|
9
|
-
"orion-cli": "
|
|
10
|
-
},
|
|
11
|
-
"scripts": {
|
|
12
|
-
"start": "node
|
|
13
|
-
"orion": "node
|
|
14
|
-
},
|
|
15
|
-
"keywords": [
|
|
16
|
-
"orion",
|
|
17
|
-
"security",
|
|
18
|
-
"sast",
|
|
19
|
-
"code-audit",
|
|
20
|
-
"static-analysis",
|
|
21
|
-
"taint-analysis",
|
|
22
|
-
"code-quality",
|
|
23
|
-
"threat-modeling",
|
|
24
|
-
"privacy-shield",
|
|
25
|
-
"architecture"
|
|
26
|
-
],
|
|
27
|
-
"author": "Chandra Hotha",
|
|
28
|
-
"license": "UNLICENSED",
|
|
29
|
-
"engines": {
|
|
30
|
-
"node": ">=16.0.0"
|
|
31
|
-
},
|
|
32
|
-
"repository": {
|
|
33
|
-
"type": "git",
|
|
34
|
-
"url": "git+https://github.com/chandrahotha/OrionEngine.git"
|
|
35
|
-
},
|
|
36
|
-
"bugs": {
|
|
37
|
-
"url": "https://github.com/chandrahotha/OrionEngine/issues"
|
|
38
|
-
},
|
|
39
|
-
"homepage": "https://github.com/chandrahotha/OrionEngine#readme",
|
|
40
|
-
"files": [
|
|
41
|
-
"bin/",
|
|
42
|
-
"
|
|
43
|
-
"assets/",
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
]
|
|
48
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@orionscanner/cli",
|
|
3
|
+
"version": "0.5.1",
|
|
4
|
+
"description": "Orion Security Suite - Proprietary In-House Code Intelligence, SAST & Architecture Auditing Platform",
|
|
5
|
+
"main": "bin/orion.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"orion": "bin/orion.js",
|
|
8
|
+
"orion-engine": "bin/orion.js",
|
|
9
|
+
"orion-cli": "bin/orion.js"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"start": "node bin/orion.js",
|
|
13
|
+
"orion": "node bin/orion.js"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"orion",
|
|
17
|
+
"security",
|
|
18
|
+
"sast",
|
|
19
|
+
"code-audit",
|
|
20
|
+
"static-analysis",
|
|
21
|
+
"taint-analysis",
|
|
22
|
+
"code-quality",
|
|
23
|
+
"threat-modeling",
|
|
24
|
+
"privacy-shield",
|
|
25
|
+
"architecture"
|
|
26
|
+
],
|
|
27
|
+
"author": "Chandra Hotha",
|
|
28
|
+
"license": "UNLICENSED",
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=16.0.0"
|
|
31
|
+
},
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "git+https://github.com/chandrahotha/OrionEngine.git"
|
|
35
|
+
},
|
|
36
|
+
"bugs": {
|
|
37
|
+
"url": "https://github.com/chandrahotha/OrionEngine/issues"
|
|
38
|
+
},
|
|
39
|
+
"homepage": "https://github.com/chandrahotha/OrionEngine#readme",
|
|
40
|
+
"files": [
|
|
41
|
+
"bin/",
|
|
42
|
+
"dist/",
|
|
43
|
+
"assets/",
|
|
44
|
+
"README.md"
|
|
45
|
+
]
|
|
46
|
+
}
|