Skip to main content

Signed rules-bundle distribution

The Agentforce checks (AP-061 to AP-070) read their catalog data from a signed knowledge bundle, so the catalog can change without a new binary.

vulkro-sf update # fetches and verifies the latest bundle

A scan never downloads the bundle. It uses the verified copy vulkro-sf update last fetched, or the seed copy built into every binary. A scan never fails because a bundle is missing, and an air-gapped install always has a working catalog. When the cached copy is older than a day, a scan prints a one-line note suggesting vulkro-sf update.

What the bundle holds​

FindingCatalog field
AP-061 (PII free text into an agent)pii_free_text_fields
AP-062 (over-broad Trusted URL)trusted_url_wildcard_blocklist
AP-066 (missing customer verification)standard_verification_actions
AP-067 (missing output assignments)standard_verification_actions.required_outputs
AP-068 (thin topic instructions)topic_word_thresholds
AP-069 (too many topics)excessive_topics_threshold
AP-070 (untested agent action)test_file_patterns

Other anti-pattern checks are fixed in the binary.

Why it is signed​

vulkro-sf update downloads agentforce.bundle.json and its detached Ed25519 signature agentforce.bundle.sig from https://dist.vulkro.com/sf/rules. The signature is checked against a public key built into the binary. A bundle that fails the check, does not parse, or cannot be cached is rejected and the seed is used, so someone who controls the download server cannot change what the checks report. The signing key never leaves our release host.

Settings​

VariableWhat it does
VULKRO_SF_OFFLINE=1Ignore the cached bundle (scans use the seed) and skip the bundle refresh in update.
VULKRO_SF_RULES_BUNDLE_URLBase URL update fetches from. Default https://dist.vulkro.com/sf/rules. For an internal mirror.
VULKRO_SF_RULES_BUNDLE_OVERRIDELoad a local JSON bundle instead (testing).
VULKRO_SF_RULES_BUNDLE_CACHE_DIRCache directory. Default ~/.vulkro/rules-bundle/.
VULKRO_SF_RULES_BUNDLE_MIN_REFRESH_SECSAge after which a scan suggests update. Default 86400, clamped to 60 to 604800.

vulkro-sf env rules-bundle prints the same list.

See also: Agentforce detectors, vulkro-sf update