Skip to main content

supply-chain-scan

Working on RedAmon's supply-chain scanner (offline OSV + GuardDog + retire + trufflehog): the offline OSV database that the scan path does not bootstrap, the world-readable requirement for the hardened scanner, and the soft-error markers that record what was never analysed. Trigger: editing scanners/supply_chain_common/, scanners/supply_chain_analyzer/ or scanners/supply_chain_scan/; touching osv_db_sync.py, osv_runner.py, guarddog_runner.py, deep_recovery.py, or the offline OSV database handling.

معلومات المصدر

المستودع
samugit83/redamon
آخر نشاط في المصدر
١٠ أغسطس ٢٠٢٦ في ١١:٠٨
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٣٬١٠٦
التفرعات
٦٤٦

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
supply-chain-scan
description
Working on RedAmon's supply-chain scanner (offline OSV + GuardDog + retire + trufflehog): the offline OSV database that the scan path does not bootstrap, the world-readable requirement for the hardened scanner, and the soft-error markers that record what was never analysed. Trigger: editing scanners/supply_chain_common/, scanners/supply_chain_analyzer/ or scanners/supply_chain_scan/; touching osv_db_sync.py, osv_runner.py, guarddog_runner.py, deep_recovery.py, or the offline OSV database handling.
license
MIT
metadata
{"author":"redamon","version":"1.0.0","scope":["supply_chain"],"auto_invoke":["Editing the supply-chain scanner or its offline OSV database handling"]}
## When to Use - Changing any of the three supply-chain layers (OSV, GuardDog, retire/trufflehog) or the offline database plumbing. The `supply_chain_common`-must-be-bind-mounted rule is in the [AGENTS.md](../../scanners/supply_chain_scan/AGENTS.md) CRITICAL RULES; this skill is the scanning behaviour. --- ## Critical Rules - **NEVER assume the offline OSV database is populated.** It is filled lazily, per-ecosystem, only on the explicit `--download-offline-databases` step - NOT on every scan and NOT at install time ([scanners/supply_chain_common/osv_db_sync.py](../../scanners/supply_chain_common/osv_db_sync.py)). A scan against an unsynced ecosystem must report it as missing, not crash. - **NEVER `chmod` the OSV DB tighter than world-readable.** The scanner runs hardened and non-root; `osv_db_sync.py` makes the whole tree world-readable/traversable on purpose so the scanner can read it. Restricting it breaks offline scans silently. - **NEVER erase an existing soft-error marker on a failed/invalid analysis.** A package the analyzer never actually inspected is recorded as a `soft_error` ([scanners/supply_chain_common/deep_recovery.py](../../scanners/supply_chain_common/deep_recovery.py)); invalid GuardDog output must be dropped, not allowed to overwrite those markers (regression fixed in commit `c5cd6a16`). - **NEVER run the OSV binary without the `--offline` pairing.** Offline mode uses the `--offline --download-offline-databases` pair; using one without the other either hits the network or reads an empty DB. --- ## Layers | Layer | Runner | Note | | --- | --- | --- | | known vulns | [osv_runner.py](../../scanners/supply_chain_common/osv_runner.py) + [osv_db_sync.py](../../scanners/supply_chain_common/osv_db_sync.py) | offline OSV DB (named volume, lazily synced) | | malicious behaviour | [guarddog_runner.py](../../scanners/supply_chain_common/guarddog_runner.py) | GuardDog heuristics; soft-errors via [deep_recovery.py](../../scanners/supply_chain_common/deep_recovery.py) | | dispatch | [analyzer_dispatch.py](../../scanners/supply_chain_common/analyzer_dispatch.py) | routes a package to the right analyzer | ## Commands ```bash ./redamon.sh supply-chain-sync <ecosystems> # bootstrap the offline OSV DB (separate from scans) ./redamon.sh test unit # supply_chain_* under the root-agent section ``` ## Resources - [docs/readmes/README.SUPPLY_CHAIN.md](../../docs/readmes/README.SUPPLY_CHAIN.md) - the 3-layer architecture and offline DB volume - Related: supply_chain [AGENTS.md](../../scanners/supply_chain_scan/AGENTS.md) CRITICAL RULES (bind-mount `supply_chain_common`)
عرض على GitHub