Skip to main content

Open-source engineering intelligence agent — learns a software project over time, detects architectural and security change, and produces evidence-backed intelligence reports.

Project description

Raven — Engineering Intelligence Agent

PyPI Python License

Raven is an open-source engineering intelligence agent. It learns a software project over time, detects architectural and security change, correlates it across revisions, and produces evidence-backed intelligence reports. Every report explains why something matters, not just what changed.

Evidence first. Engineering second. Opinion last.

Install

pip install ravenscan

Quick Start

raven init           # scaffold .raven directory
raven scan .         # run full analysis
raven score .        # compute risk score
raven report         # render existing artifacts
raven doctor         # environment sanity check
raven version        # show version info

SDK Usage

from raven import Raven
from raven.core.config import RavenConfig

client = Raven(RavenConfig(path="."))

profile = client.scan()          # RepositoryProfile
arch = client.architecture()     # ArchitectureGraph
security = client.security()     # SecurityReport
risk = client.score()            # RiskScore
daily = client.daily_report()    # DailyReport

print(f"Score: {risk.overall}/100 — Grade {risk.grade}")

Output

All commands support --format json and --format markdown (default).

Artifacts are written to .raven/:

  • RepositoryProfile.{json,md}
  • ArchitectureGraph.{json,md}
  • SecurityReport.{json,md}
  • RiskScore.{json,md}
  • DailyReport.{json,md}

JSON is canonical — Markdown is rendered from the JSON model, never independently.

Exit Codes (CI Integration)

Code Meaning
0 Clean — no findings or score above threshold
1 Score below --fail-under threshold
2 Execution error
3 Configuration error
raven score --fail-under 70   # CI gate: exit 1 if score < 70

WraithWall Connected Mode (remote)

Raven now supports connected mode with live WraithWall even from outside the server:

# anyone with a raven:use API key can use this before open source
raven wraith campaigns --api-key YOURKEY --api-secret YOURSECRET
raven wraith whoami --api-key ... --api-secret ...
raven wraith submit . --api-key ... --api-secret ...
  • Defaults to https://wraithwall.online
  • Public reads for campaigns/bgp (no key needed)
  • Write/submit and whoami require key with raven:use scope (create in WraithWall UI)
  • Works from laptop, CI, anywhere.

What Raven Is Not

Raven is a local CLI/SDK analyzer for repositories you point it at. It does not:

Limitation Detail
Live website integration (new) raven wraith subcommands now connect to live WraithWall at https://wraithwall.online using API keys (raven:use scope). Campaigns, BGP alerts (public), whoami, submit-scan supported remotely.
No runtime telemetry Raven analyzes static source trees and git history — not Redis keys, honeypot sessions, BGP feeds, or APScheduler state.
No WraithWall operator console Phase 8 live architecture visualization (/console#/architecture) is a separate corpus-driven system in the main Flask app (architecture_viz.py), not Raven output.
No deception mesh modeling Cowrie pipelines, canary propagation, sandbox flows, and campaign correlation are documented in docs/architecture/ and rendered by scripts/generate_wraithwall_diagrams.py — Raven does not ingest those runtime graphs.
No autonomous alerting Raven writes local .raven/ artifacts only. It does not send Telegram, Discord, or email notifications.
No multi-repo fleet view One raven scan per working tree. No cross-deployment correlation across VPS hosts.
No guaranteed supply-chain audit Security plugins cover common languages; unknown frameworks, generated bundles, and vendored binaries may be skipped.

WraithWall vs Raven

Capability WraithWall (production) Raven (CLI)
Architecture diagrams on website Yes — /#architecture scroll gallery + authenticated console No — local .raven/ArchitectureGraph.md only
Source of truth docs/architecture/*.json (Phase 8 corpus) Repository static analysis
Live honeypot / deception data Yes No
CI risk gate Via custom integration raven score --fail-under

To regenerate WraithWall publication diagrams from the validated corpus:

python3 scripts/generate_wraithwall_diagrams.py
# → static/img/architecture/*.svg + *.png

To deploy Cowrie without config-mount regressions:

chmod +x cowrie-analyzer/scripts/deploy-cowrie.sh
cowrie-analyzer/scripts/deploy-cowrie.sh

Development

pip install -e ".[all]"
pytest

License

MIT

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

ravenscan-0.1.0.tar.gz (64.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ravenscan-0.1.0-py3-none-any.whl (88.3 kB view details)

Uploaded Python 3

File details

Details for the file ravenscan-0.1.0.tar.gz.

File metadata

  • Download URL: ravenscan-0.1.0.tar.gz
  • Upload date:
  • Size: 64.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ravenscan-0.1.0.tar.gz
Algorithm Hash digest
SHA256 369ec6cac53f4355dc02bb7e32e7503103fef22baf53deb69ce2ead86f4076b2
MD5 728773db15ab5a939fc5964a2e558ee2
BLAKE2b-256 a0e782a601f0f88f35f772ea01175a2a05aa84ef4a13066aeb708e4aa9ff445f

See more details on using hashes here.

File details

Details for the file ravenscan-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ravenscan-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 88.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ravenscan-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 59b70ea1642d951a672fd94defe6453df11ad31739e7d1ca7237e6d9982cea93
MD5 e19b1f54786335754cd24c071195bad1
BLAKE2b-256 35b2407b630ca3cef3e2023f211fd7dc52327fb8b5af392125c2f50f4b169e99

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page