Portal Community
Phase 3 — PENDING This feature is planned but not yet implemented.

Scan Results

ResultMeaningCan List?Shown to Installers?
PASSNo security issues detectedYesGreen shield badge
WARNLow-severity findings — non-blockingYesYellow shield badge with warning count
FAILCritical security findings — listing blockedNoNot listed

Scan Checks Performed

CheckSeverity on DetectionWhat It Scans
Expression InjectionFAILAll expression fields across all artifact types for environment variable exfiltration patterns, raw code eval, data extraction patterns
SQL InjectionFAILAny EntitySchema or RuleSet fields containing raw SQL fragments, UNION attacks, drop table patterns
Credential ExposureFAILREADME, descriptions, and config fields for API keys, passwords, connection strings, PEM keys
Dependency Vulnerability (CVE)FAIL (critical CVE) / WARN (medium CVE)Package dependencies listed in manifest against NVD and OSV databases
Content PolicyFAIL (prohibited) / WARN (borderline)README and description text for prohibited content types
Malicious URLFAILAll URLs in manifest and README against threat intelligence feeds
Unsafe File TypesFAILZIP contents for executable files, scripts, binary blobs outside of expected artifact JSON files

Scan Report

GET /api/marketplace/submissions/{submissionId}/scan-report

{
  "submissionId":  "sub-a1b2c3d4",
  "overallResult": "FAIL",
  "scannedAt":     "2026-05-25T14:05:00Z",
  "durationMs":    3421,
  "checks": [
    {
      "check":    "ExpressionInjection",
      "result":   "FAIL",
      "severity": "Critical",
      "findings": [
        {
          "artifactType": "ProcessDefinition",
          "artifactName": "EmployeeOnboarding",
          "field":        "nodes[2].config.expression",
          "value":        "{{env.DATABASE_PASSWORD}}",
          "rule":         "EnvironmentVariableExfiltration",
          "message":      "Expression accesses environment variable 'DATABASE_PASSWORD' — this pattern is blocked in marketplace packages"
        }
      ]
    },
    {
      "check":    "CredentialExposure",
      "result":   "PASS",
      "findings": []
    },
    {
      "check":    "DependencyVulnerability",
      "result":   "WARN",
      "findings": [
        {
          "dependency": "acme-corp/form-utils@1.0.0",
          "cve":        "CVE-2026-12345",
          "severity":   "Medium",
          "message":    "Dependency 'acme-corp/form-utils' version 1.0.0 has a medium-severity XSS vulnerability. Update to 1.0.1 or later."
        }
      ]
    }
  ]
}

Common Scan Failures and Fixes

FailureCommon CauseFix
EnvironmentVariableExfiltrationUsing {{env.X}} expressions in workflow nodesRemove all env.* expression references. Use tenant-configured parameters instead.
CredentialExposureAPI key or password left in a config field or README exampleReplace real credentials with <YOUR_API_KEY> placeholders in all documentation and configs.
MaliciousUrlA screenshot or documentation URL flagged by threat intelligenceReview all URLs in manifest and README. Use only your organization's verified domain.
UnsafeFileTypeA .sh, .exe, or .dll file accidentally included in the ZIPRebuild the package using the standard export pipeline. Do not manually modify the ZIP contents.
Requesting a False Positive Review If you believe a scan result is a false positive, include a falsePositiveExplanation field with your resubmission explaining why the flagged pattern is not a security risk. The review team will assess the explanation before listing the package.