Skip to content
5aman22345Public

About

🛡️ Fix-orientierter Code-Security-Analyzer (SAST) mit eingebautem Scope-Gate: findet Schwachstellen im EIGENEN Code (Taint-Analyse, Secrets, CWE/OWASP) samt Behebung. Defensiv, rein lesend. Python, 0 Deps.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

panoptes

Der hundertäugige Wächter deines Codes. Ein fix-orientierter Security- Analyzer (SAST) mit eingebautem Scope-Gate: findet Schwachstellen in deinem eigenen Code – samt konkreter Behebungs-Anleitung.

CI Python License: MIT

⚠️ Nur autorisierte Ziele

panoptes ist ein defensives Werkzeug zum Härten von Code, den du besitzt oder ausdrücklich prüfen darfst. Es liest ausschließlich Dateien, führt keinen Zielcode aus, greift keine Systeme an und erzeugt keine Exploits. Jede Analyse ist durch eine Scope-Datei autorisiert; alles außerhalb wird verweigert.

Warum „tiefer und besser"

Autonome Angriffs-Tools erzeugen viel Lärm und laden zu Missbrauch ein. panoptes dreht den Spieß um:

  • 🛡️ Scope-Gate als Rückgrat – analysiert nur ausdrücklich freigegebene Pfade.
  • 🔬 Taint-Analyse (Datenfluss Eingabe → Senke) statt reinem grep → hohe Präzision, wenige Falsch-Positive.
  • 🩹 Fix-orientiert – jedes Finding kommt mit CWE/OWASP-Einordnung und konkreter Behebung.
  • 🧩 Modular & abhängigkeitsfrei – neue Regeln in wenigen Zeilen.

Installation

pip install git+https://github.com/5aman22345/panoptes.git

Oder lokal (keine Laufzeit-Abhängigkeiten):

git clone https://github.com/5aman22345/panoptes.git
cd panoptes && pip install -e ".[dev]"

Schnellstart

panoptes init-scope --authorized-by "dein-name (eigener Code)"   # Autorisierung
# roots/hosts in .panoptes-scope.json auf EIGENE Ziele setzen
panoptes scan .                        # analysieren
panoptes scan . --format markdown > security-report.md
panoptes scan . --fail-on high         # Exit-Code 1 ab HIGH (für CI)

Beispiel-Ausgabe:

🟥 [CRITICAL] Command-Injection über unvertraute Eingabe  (high)
   app.py:8  CWE-78 · A03:2021 Injection
   Variable 'name' → Senke: os.system("echo " + name)
   ↳ Fix: Argumentliste statt Shell-String; Eingaben validieren.

Was es findet

Regel Beispiele Einordnung
taint Eingabe → os.system/execute/eval/open CWE-78/89/95/22/79
secrets AWS/Google/GitHub/Slack-Keys, Private Keys, hartcodierte Passwörter (Entropie) CWE-798
dangerous-sink eval, exec, pickle, yaml.load, child_process.exec, innerHTML, SQL-Verkettung CWE-95/78/502/79/89
insecure-config DEBUG=True, verify=False, offene CORS, 0.0.0.0, hartcodierter SECRET_KEY CWE-489/295/942
weak-crypto MD5/SHA-1, DES/ECB, unsicherer Zufall für Tokens CWE-327/330

Sprachen: Python, JavaScript/TypeScript (weitere via Endung leicht ergänzbar).

Aufbau

scope.py       Scope-Gate: autorisiert Pfade/Hosts, verweigert alles andere
findings.py    Finding-/Severity-Modell (CWE, OWASP, Remediation)
languages.py   Sprach-Erkennung + Ausschlüsse (node_modules, .git, …)
rules/         secrets · taint · dangerous_sinks · insecure_config · weak_crypto
engine.py      läuft rein lesend über autorisierte Dateien
report.py      Terminal / Markdown / JSON
cli.py         Kommandozeile

Eigene Regel hinzufügen

Rule ableiten (id, languages, check(ctx) → Findings) und in rules/__init__.py:ALL_RULES eintragen.

Entwicklung

pip install -e ".[dev]"
pytest -q          # 18 Tests

Lizenz

MIT © J. (5aman22345)

About

🛡️ Fix-orientierter Code-Security-Analyzer (SAST) mit eingebautem Scope-Gate: findet Schwachstellen im EIGENEN Code (Taint-Analyse, Secrets, CWE/OWASP) samt Behebung. Defensiv, rein lesend. Python, 0 Deps.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages