Skip to main content

Compliance overview

Vulkro maps every finding to the controls in common compliance frameworks. To check your code against one, run:

vulkro compliance . --profile <name>

Or add --profile to a normal scan to attach a profile inline.

Frameworks supported​

ProfileFrameworkCoverage
owasp-asvsOWASP Application Security Verification StandardL1 + L2, V1-V14
pciPCI-DSS 4.0Req 6 (Develop and Maintain Secure Systems), Req 11 (Test Security)
soc2SOC 2 Trust Services CriteriaCC6 (Logical Access), CC7 (System Operations)
hipaaHIPAA Security RuleSec.164.312
nist-ssdfNIST SP 800-218 SSDFPS, PW, RV practice groups
nist-800-53NIST SP 800-53Selected control families
staterampStateRAMPSelected control baseline
iso27001ISO/IEC 27001:2022Annex A.5 (organisational) and A.8 (technological)
cisCIS Critical Security Controls v8All 18 controls
cwe-top25CWE Top 25 Most DangerousFull list
gdprGDPR (data-protection controls)Article 32 security-of-processing controls

GDPR also has two output formats for Article 30 Records of Processing:

vulkro compliance . --profile gdpr --format ropa-md # Markdown
vulkro compliance . --profile gdpr --format ropa-html # HTML

These produce a Records-of-Processing template, not a pass/fail control evaluation.

How mapping works​

Each finding category carries a compliance_controls list, so one finding can satisfy several frameworks at once. A single CSRF detection maps to ASVS V13, OWASP A05:2021, PCI 6.5.9, and CIS 16.10.

We curate the mapping table by hand. Mechanical CWE-to-control mappings miss the intent of each framework, so the extra maintenance buys citations an auditor can defend.

Reading the output​

vulkro compliance . --profile soc2
Profile: SOC 2 Trust Services Criteria
Status: 17 controls passed | 4 controls failed | 2 controls partial

CC6.1 Restrict access to information assets FAIL
Citation: API1 - BrokenObjectLevelAuth (115 findings)
Citation: API5 - BrokenFunctionLevelAuth (12 findings)

CC6.6 Implement logical access controls PASS
CC6.7 Restrict transmission to authorised users PASS
CC7.1 Detect security events FAIL
Citation: SecurityMisconfiguration - auditing disabled (47 findings)
...

Each control gets one status:

  • PASS: no findings against any of the control's mapped categories.
  • FAIL: at least one Critical or High finding against a mapped category.
  • PARTIAL: only Medium or Low findings against mapped categories.

In the desktop console​

The Compliance tab shows pass / fail per control, with links straight to the findings behind each one. When an auditor asks "show me how you meet PCI 6.5.7," you can answer in one click.

In Vulkro Cloud​

Vulkro Cloud keeps the same control mapping for every connected repository and Salesforce org, and can build an evidence pack on a schedule and email it through your own mail server. See Reports and evidence.

Per-framework deep dives​