fullshield 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +81 -1
- package/README.md +75 -5
- package/dist/agent.js +50 -40
- package/dist/cli/index.js +103 -93
- package/dist/compliance.js +2 -2
- package/dist/iac.js +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +84 -74
- package/dist/mcp.js +53 -43
- package/dist/runtime/auto.js +5 -5
- package/dist/runtime/rasp.js +7 -7
- package/dist/runtime/register.js +6 -6
- package/dist/supply.js +5 -5
- package/models/index.json +1 -1
- package/models/npm-builders.json +3 -0
- package/models/npm-popular.json +2414 -0
- package/models/ssti.json +14 -0
- package/models/vendored.json +15 -0
- package/models/webhooks.json +9 -0
- package/package.json +2 -2
- package/rules/CONFIG-ELECTRON-001.md +11 -0
- package/rules/CONFIG-ELECTRON-002.md +11 -0
- package/rules/CONFIG-ELECTRON-003.md +11 -0
- package/rules/CONFIG-ENGINES-001.md +11 -0
- package/rules/CONFIG-LIFECYCLE-001.md +11 -0
- package/rules/CONFIG-NEXT-001.md +11 -0
- package/rules/CONFIG-NEXT-002.md +11 -0
- package/rules/DEPS-ALIAS-SQUAT-001.md +11 -0
- package/rules/DEPS-BADINTEGRITY-001.md +11 -0
- package/rules/DEPS-BIDI-001.md +11 -0
- package/rules/DEPS-BIN-SHADOW-001.md +11 -0
- package/rules/DEPS-BUNDLED-001.md +11 -0
- package/rules/DEPS-COREPACK-001.md +11 -0
- package/rules/DEPS-DEPRECATED-REPLACE-001.md +11 -0
- package/rules/DEPS-DEV-PROD-EDGE-001.md +11 -0
- package/rules/DEPS-DUALPACKAGE-001.md +11 -0
- package/rules/DEPS-ENGINE-STRICT-001.md +11 -0
- package/rules/DEPS-FILESPEC-001.md +11 -0
- package/rules/DEPS-FLOAT-001.md +11 -0
- package/rules/DEPS-FLOAT-002.md +11 -0
- package/rules/DEPS-GITDEP-001.md +11 -0
- package/rules/DEPS-GITSPEC-001.md +11 -0
- package/rules/DEPS-GRAPH-ALIAS-001.md +11 -0
- package/rules/DEPS-GRAPH-OPTIONAL-001.md +11 -0
- package/rules/DEPS-HOMOGLYPH-001.md +11 -0
- package/rules/DEPS-LINKDEP-001.md +11 -0
- package/rules/DEPS-LOCKOMIT-001.md +11 -0
- package/rules/DEPS-LOCKPATH-001.md +11 -0
- package/rules/DEPS-LOCKVER-001.md +11 -0
- package/rules/DEPS-MIXEDSCRIPT-001.md +11 -0
- package/rules/DEPS-MULTLOCK-001.md +11 -0
- package/rules/DEPS-NAME-CASE-001.md +11 -0
- package/rules/DEPS-NAME-ENCODED-001.md +11 -0
- package/rules/DEPS-NAME-LENGTH-001.md +11 -0
- package/rules/DEPS-NOINTEGRITY-001.md +11 -0
- package/rules/DEPS-NONSEMVER-001.md +11 -0
- package/rules/DEPS-NORESOLVED-001.md +11 -0
- package/rules/DEPS-NPMALIAS-001.md +11 -0
- package/rules/DEPS-NPMRC-HOME-001.md +11 -0
- package/rules/DEPS-NPMRC-REG-001.md +11 -0
- package/rules/DEPS-NPMRC-SCRIPT-001.md +11 -0
- package/rules/DEPS-OPTIONAL-IMPORT-001.md +11 -0
- package/rules/DEPS-OSCPU-001.md +11 -0
- package/rules/DEPS-OVERRIDE-ALIAS-001.md +11 -0
- package/rules/DEPS-OVERRIDE-VULN-001.md +11 -0
- package/rules/DEPS-OVERRIDE-WIDE-001.md +11 -0
- package/rules/DEPS-PACKAGEMANAGER-001.md +13 -0
- package/rules/DEPS-PACKAGEMANAGER-002.md +11 -0
- package/rules/DEPS-PEER-MISSING-001.md +11 -0
- package/rules/DEPS-PEER-UNDECLARED-001.md +11 -0
- package/rules/DEPS-PHANTOM-002.md +11 -0
- package/rules/DEPS-PUBLISHCONFIG-001.md +11 -0
- package/rules/DEPS-PUBLISHCONFIG-002.md +11 -0
- package/rules/DEPS-REG-AGE-001.md +11 -0
- package/rules/DEPS-REG-BIN-001.md +11 -0
- package/rules/DEPS-REG-BUILDER-001.md +11 -0
- package/rules/DEPS-REG-DEPRECATED-001.md +11 -0
- package/rules/DEPS-REG-DEPS-001.md +11 -0
- package/rules/DEPS-REG-DRIFT-001.md +11 -0
- package/rules/DEPS-REG-ENGINES-001.md +11 -0
- package/rules/DEPS-REG-INSTALLSCRIPT-001.md +11 -0
- package/rules/DEPS-REG-INTEGRITY-001.md +11 -0
- package/rules/DEPS-REG-MAINTAINER-001.md +11 -0
- package/rules/DEPS-REG-NPMUSER-001.md +11 -0
- package/rules/DEPS-REG-PEER-001.md +11 -0
- package/rules/DEPS-REG-PROV-ABSENT-001.md +11 -0
- package/rules/DEPS-REG-REPO-001.md +11 -0
- package/rules/DEPS-REG-REPOSITORY-001.md +11 -0
- package/rules/DEPS-REG-SIGNATURES-001.md +11 -0
- package/rules/DEPS-REG-SUBJECT-001.md +11 -0
- package/rules/DEPS-REG-TARBALL-001.md +11 -0
- package/rules/DEPS-REG-TIME-001.md +11 -0
- package/rules/DEPS-REG-UNPUBLISHED-001.md +11 -0
- package/rules/DEPS-REPEAT-001.md +11 -0
- package/rules/DEPS-RESOLVED-HOST-001.md +11 -0
- package/rules/DEPS-RESOLVED-HTTP-001.md +11 -0
- package/rules/DEPS-ROOTVER-001.md +11 -0
- package/rules/DEPS-SCOPE-NEW-001.md +11 -0
- package/rules/DEPS-SCOPE-SYNTAX-001.md +11 -0
- package/rules/DEPS-SCOPE-TYPO-001.md +11 -0
- package/rules/DEPS-SCRIPT-BASE64-001.md +11 -0
- package/rules/DEPS-SCRIPT-BIN-001.md +11 -0
- package/rules/DEPS-SCRIPT-COND-001.md +11 -0
- package/rules/DEPS-SCRIPT-CURL-001.md +11 -0
- package/rules/DEPS-SCRIPT-DEV-001.md +11 -0
- package/rules/DEPS-SCRIPT-GIT-001.md +11 -0
- package/rules/DEPS-SCRIPT-LOCK-001.md +11 -0
- package/rules/DEPS-SCRIPT-MISMATCH-001.md +11 -0
- package/rules/DEPS-SCRIPT-MULTI-001.md +11 -0
- package/rules/DEPS-SCRIPT-NODEGYP-001.md +11 -0
- package/rules/DEPS-SCRIPT-OPTIONAL-001.md +11 -0
- package/rules/DEPS-SCRIPT-PREPARE-001.md +11 -0
- package/rules/DEPS-SCRIPT-PREPUBLISH-001.md +11 -0
- package/rules/DEPS-SCRIPT-PUBLISH-001.md +11 -0
- package/rules/DEPS-SCRIPT-ROLLUP-001.md +11 -0
- package/rules/DEPS-SCRIPT-SHEBANG-001.md +11 -0
- package/rules/DEPS-SCRIPT-TOKEN-001.md +11 -0
- package/rules/DEPS-SCRIPT-TRANSITIVE-001.md +11 -0
- package/rules/DEPS-SCRIPT-TRUSTED-001.md +11 -0
- package/rules/DEPS-SCRIPT-WRITE-001.md +11 -0
- package/rules/DEPS-SELFNAME-001.md +11 -0
- package/rules/DEPS-SEPARATOR-001.md +11 -0
- package/rules/DEPS-SHRINKWRAP-001.md +11 -0
- package/rules/DEPS-SHRINKWRAP-002.md +11 -0
- package/rules/DEPS-SUFFIX-001.md +11 -0
- package/rules/DEPS-TAGSPEC-001.md +11 -0
- package/rules/DEPS-TARBALL-BIN-001.md +11 -0
- package/rules/DEPS-TARBALL-CRED-001.md +11 -0
- package/rules/DEPS-TARBALL-DYNAMIC-001.md +11 -0
- package/rules/DEPS-TARBALL-ENV-001.md +11 -0
- package/rules/DEPS-TARBALL-HASH-001.md +11 -0
- package/rules/DEPS-TARBALL-HIDDEN-001.md +11 -0
- package/rules/DEPS-TARBALL-HOOK-001.md +11 -0
- package/rules/DEPS-TARBALL-ID-001.md +11 -0
- package/rules/DEPS-TARBALL-INSTALLJS-001.md +11 -0
- package/rules/DEPS-TARBALL-LICENSE-001.md +11 -0
- package/rules/DEPS-TARBALL-LIFECYCLE-001.md +11 -0
- package/rules/DEPS-TARBALL-MANIFEST-001.md +11 -0
- package/rules/DEPS-TARBALL-NATIVE-001.md +11 -0
- package/rules/DEPS-TARBALL-NET-001.md +11 -0
- package/rules/DEPS-TARBALL-OBFUSC-001.md +11 -0
- package/rules/DEPS-TARBALL-PATH-001.md +11 -0
- package/rules/DEPS-TARBALL-SHELL-001.md +11 -0
- package/rules/DEPS-TARBALL-SIZE-001.md +11 -0
- package/rules/DEPS-TARBALL-SKIP-001.md +11 -0
- package/rules/DEPS-TARBALL-TOPLEVEL-001.md +11 -0
- package/rules/DEPS-TRUSTED-001.md +11 -0
- package/rules/DEPS-TYPES-001.md +11 -0
- package/rules/DEPS-TYPO-TRANSITIVE-001.md +11 -0
- package/rules/DEPS-UNFIXED-001.md +11 -0
- package/rules/DEPS-URLSPEC-001.md +11 -0
- package/rules/DEPS-VENDORED-001.md +11 -0
- package/rules/DEPS-WEAKINTEGRITY-001.md +11 -0
- package/rules/DEPS-WORKSPACE-NAME-001.md +11 -0
- package/rules/README.md +35 -0
- package/rules/SAST-CIPHER-001.md +13 -0
- package/rules/SAST-CIPHER-002.md +11 -0
- package/rules/SAST-DOMXSS-001.md +11 -0
- package/rules/SAST-IDOR-001.md +11 -0
- package/rules/SAST-JWT-002.md +11 -0
- package/rules/SAST-LOGLEAK-001.md +11 -0
- package/rules/SAST-NEXT-001.md +11 -0
- package/rules/SAST-POSTMSG-001.md +11 -0
- package/rules/SAST-REACT-001.md +11 -0
- package/rules/SAST-RSA-001.md +11 -0
- package/rules/SAST-SESSION-002.md +11 -0
- package/rules/SAST-SSTI-001.md +11 -0
- package/rules/SAST-TLS-001.md +13 -0
- package/rules/SAST-TLS-002.md +13 -0
- package/rules/SAST-TOKENSTORE-001.md +11 -0
- package/rules/SAST-WEBHOOK-001.md +11 -0
- package/rules/SECRET-FILE-002.md +11 -0
- package/rules/SECRET-FILE-003.md +11 -0
- package/rules/SECRET-FILE-004.md +11 -0
- package/rules/SECRET-FILE-005.md +11 -0
- package/rules/SECRET-FILE-006.md +11 -0
- package/rules/SECRET-FILE-007.md +11 -0
- package/rules/SECRET-NEXTPUB-001.md +11 -0
package/dist/compliance.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var I="This is not a certification or audit. FullShield produces an evidence-style mapping only; it does not certify PCI DSS, SOC 2, ISO, or any other standard.",S=(C,i,r,e,n)=>({ruleId:C,owasp:i,cwe:r,asvs:e,pci:n}),E=[S("SAST-SQLI-001","A03:2021 Injection","CWE-89","V5.3.4","PCI DSS 6.2.4"),S("SAST-NOSQLI-001","A03:2021 Injection","CWE-943","V5.3.4","PCI DSS 6.2.4"),S("SAST-CMDI-001","A03:2021 Injection","CWE-78","V5.3.3","PCI DSS 6.2.4"),S("SAST-PATH-001","A01:2021 Broken Access Control","CWE-22","V12.3.1","PCI DSS 6.2.4"),S("SAST-EVAL-001","A03:2021 Injection","CWE-95","V5.3.3","PCI DSS 6.2.4"),S("SAST-SSRF-001","A10:2021 SSRF","CWE-918","V12.6.1","PCI DSS 6.2.4"),S("SAST-REDIRECT-001","A01:2021 Broken Access Control","CWE-601","V5.1.1","PCI DSS 6.4.2"),S("SAST-PROTO-001","A03:2021 Injection","CWE-1321","V5.3.3","PCI DSS 6.2.4"),S("SAST-XSS-001","A03:2021 Injection","CWE-79","V5.3.3","PCI DSS 6.2.4"),S("SAST-JWT-001","A07:2021 Identification Failures","CWE-347","V3.5.3","PCI DSS 6.5.10"),S("SAST-CRYPTO-001","A02:2021 Cryptographic Failures","CWE-338","V6.2.1","PCI DSS 3.6 / 4.2"),S("SAST-AUTH-001","A07:2021 Identification Failures","CWE-306","V4.1.1","PCI DSS 8.2"),S("SECRET-AWS-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2 / 8.3"),S("SECRET-STRIPE-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2"),S("SECRET-GITHUB-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 8.3"),S("SECRET-SLACK-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 8.3"),S("SECRET-GOOGLE-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 8.3"),S("SECRET-AIKEY-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 8.3"),S("SECRET-PRIVKEY-001","A02:2021 Cryptographic Failures","CWE-321","V6.4.1","PCI DSS 3.5 / 4.2"),S("SECRET-DBURL-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2 / 8.3"),S("SECRET-JWT-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.5"),S("SECRET-SESSION-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.5 / 6.2.4"),S("CONFIG-DIRLIST-001","A05:2021 Security Misconfiguration","CWE-548","V12.1.1","PCI DSS 2.2 / 6.4.3"),S("SECRET-ENVFILE-001","A02:2021 Cryptographic Failures","CWE-312","V8.3.4","PCI DSS 3.2"),S("SECRET-ENTROPY-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 8.3"),S("DEPS-VULN-001","A06:2021 Vulnerable Components","CWE-1104","V14.2.1","PCI DSS 6.3.3"),S("DEPS-MALICIOUS-001","A06:2021 Vulnerable Components","CWE-506","V14.2.1","PCI DSS 6.3.3 / 12.10"),S("DEPS-TYPOSQUAT-001","A06:2021 Vulnerable Components","CWE-494","V14.2.1","PCI DSS 6.3.3"),S("DEPS-NOLOCK-001","A06:2021 Vulnerable Components","CWE-1104","V14.2.1","PCI DSS 6.3.3"),S("DEPS-DEPRECATED-001","A06:2021 Vulnerable Components","CWE-1104","V14.2.1","PCI DSS 6.3.3"),S("CONFIG-HELMET-001","A05:2021 Security Misconfiguration","CWE-693","V14.4.3","PCI DSS 6.4.3"),S("CONFIG-BODYLIMIT-001","A05:2021 Security Misconfiguration","CWE-400","V13.1.1","PCI DSS 6.2.4"),S("CONFIG-CORS-001","A05:2021 Security Misconfiguration","CWE-942","V14.4.5","PCI DSS 6.4.3"),S("CONFIG-RATELIMIT-001","A07:2021 Identification Failures","CWE-307","V2.2.1","PCI DSS 8.3.4"),S("CONFIG-ERRSTACK-001","A04:2021 Insecure Design","CWE-209","V7.4.1","PCI DSS 6.2.4"),S("CONFIG-INSTALLSCRIPT-001","A06:2021 Vulnerable Components","CWE-829","V14.2.1","PCI DSS 6.3.3"),S("CONFIG-DOCKER-LATEST-001","A05:2021 Security Misconfiguration","CWE-1188","V14.1.3","PCI DSS 2.2"),S("CONFIG-DOCKER-ROOT-001","A05:2021 Security Misconfiguration","CWE-250","V14.1.3","PCI DSS 2.2"),S("CONFIG-DOCKER-ENV-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2"),S("EDGE-CDN-001","A05:2021 Security Misconfiguration","CWE-693","V14.4.3","PCI DSS 1.2 / 6.4"),S("EDGE-CSP-001","A05:2021 Security Misconfiguration","CWE-693","V14.4.3","PCI DSS 6.4.3"),S("EDGE-EXPOSE-001","A05:2021 Security Misconfiguration","CWE-538","V14.4.3","PCI DSS 2.2 / 6.4"),S("EDGE-HSTS-001","A05:2021 Security Misconfiguration","CWE-319","V9.1.1","PCI DSS 4.2"),S("EDGE-REFERRER-001","A05:2021 Security Misconfiguration","CWE-201","V14.4.3","PCI DSS 6.4.3"),S("EDGE-TLS-001","A02:2021 Cryptographic Failures","CWE-319","V9.1.1","PCI DSS 4.2"),S("EDGE-XCTO-001","A05:2021 Security Misconfiguration","CWE-693","V14.4.3","PCI DSS 6.4.3"),S("EDGE-XFO-001","A05:2021 Security Misconfiguration","CWE-1021","V14.4.3","PCI DSS 6.4.3"),S("RASP-SQL-001","A03:2021 Injection","CWE-89","V5.3.4","PCI DSS 6.4.2"),S("RASP-SHELL-001","A03:2021 Injection","CWE-78","V5.3.3","PCI DSS 6.4.2"),S("RASP-PATH-001","A01:2021 Broken Access Control","CWE-22","V12.3.1","PCI DSS 6.4.2"),S("RASP-NOSQL-001","A03:2021 Injection","CWE-943","V5.3.4","PCI DSS 6.4.2"),S("RASP-SSRF-001","A10:2021 SSRF","CWE-918","V12.6.1","PCI DSS 1.3"),S("RASP-PROTO-001","A03:2021 Injection","CWE-1321","V5.3.3","PCI DSS 6.4.2"),S("AI-INJECT-001","A03:2021 Injection","CWE-1427","V5.3.3","PCI DSS 6.2.4"),S("LLM-001","A03:2021 Injection","CWE-1426","V5.3.3","PCI DSS 6.2.4"),S("LLM-002","A03:2021 Injection","CWE-94","V5.3.3","PCI DSS 6.2.4"),S("LLM-003","A01:2021 Broken Access Control","CWE-250","V4.1.1","PCI DSS 7.2"),S("LLM-004","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2"),S("LLM-005","A04:2021 Insecure Design","CWE-770","V13.1.1","PCI DSS 6.2.4"),S("SUPPLY-INSTALLSCRIPT-001","A06:2021 Vulnerable Components","CWE-829","V14.2.1","PCI DSS 6.3.3"),S("SUPPLY-NPMRC-NET-001","A06:2021 Vulnerable Components","CWE-506","V14.2.1","PCI DSS 12.10"),S("SUPPLY-OBFUSCATE-001","A06:2021 Vulnerable Components","CWE-506","V14.2.1","PCI DSS 6.3.3"),S("SUPPLY-BEHAVIOR-001","A06:2021 Vulnerable Components","CWE-829","V14.2.1","PCI DSS 6.3.3"),S("SUPPLY-COOLDOWN-001","A06:2021 Vulnerable Components","CWE-1104","V14.2.1","PCI DSS 6.3.3"),S("SUPPLY-LOCKURL-001","A08:2021 Integrity Failures","CWE-494","V14.2.3","PCI DSS 6.3.3"),S("SUPPLY-LOCKINTEGRITY-001","A08:2021 Integrity Failures","CWE-353","V14.2.3","PCI DSS 6.3.3"),S("SUPPLY-CONFUSION-001","A08:2021 Integrity Failures","CWE-494","V14.2.3","PCI DSS 6.3.3"),S("SUPPLY-PROVENANCE-001","A08:2021 Integrity Failures","CWE-494","V14.2.3","PCI DSS 6.3.3"),S("SUPPLY-PROV-001","A08:2021 Integrity Failures","CWE-494","V14.2.3","PCI DSS 6.3.3"),S("SUPPLY-WORM-001","A06:2021 Vulnerable Components","CWE-506","V14.2.1","PCI DSS 6.3.3 / 12.10"),S("SUPPLY-WORKFLOW-001","A08:2021 Integrity Failures","CWE-829","V14.2.3","PCI DSS 6.3.3"),S("SUPPLY-CHAINC2-001","A06:2021 Vulnerable Components","CWE-506","V14.2.1","PCI DSS 6.3.3"),S("SUPPLY-STEALER-001","A06:2021 Vulnerable Components","CWE-506","V14.2.1","PCI DSS 12.10"),S("SUPPLY-PLATFORMGATE-001","A06:2021 Vulnerable Components","CWE-829","V14.2.1","PCI DSS 6.3.3"),S("SUPPLY-SECHOLDER-001","A06:2021 Vulnerable Components","CWE-506","V14.2.1","PCI DSS 6.3.3"),S("SUPPLY-CAP-001","A06:2021 Vulnerable Components","CWE-829","V14.2.1","PCI DSS 6.3.3"),S("IAC-GHA-UNPINNED-001","A08:2021 Integrity Failures","CWE-494","V14.2.3","PCI DSS 6.3.3"),S("IAC-GHA-PRTARGET-001","A01:2021 Broken Access Control","CWE-269","V4.1.1","PCI DSS 7.2"),S("IAC-GHA-PERMS-001","A01:2021 Broken Access Control","CWE-250","V4.1.1","PCI DSS 7.2"),S("IAC-GHA-SECRETLOG-001","A09:2021 Security Logging Failures","CWE-532","V7.1.1","PCI DSS 3.2 / 10.2"),S("IAC-GHA-INJECT-001","A03:2021 Injection","CWE-94","V5.2.4","PCI DSS 6.2.4"),S("IAC-GHA-PRCHECKOUT-001","A01:2021 Broken Access Control","CWE-829","V4.1.1","PCI DSS 6.2.4"),S("DEPS-LICENSE-001","A06:2021 Vulnerable Components","CWE-1104","V14.2.1","PCI DSS 6.3.3"),S("IAC-TF-S3PUBLIC-001","A01:2021 Broken Access Control","CWE-284","V12.1.1","PCI DSS 1.3 / 3.2"),S("IAC-TF-SGOPEN-001","A05:2021 Security Misconfiguration","CWE-284","V1.4.1","PCI DSS 1.2 / 1.3"),S("IAC-TF-UNENCRYPTED-001","A02:2021 Cryptographic Failures","CWE-311","V6.2.1","PCI DSS 3.4 / 4.2"),S("IAC-K8S-PRIV-001","A05:2021 Security Misconfiguration","CWE-250","V14.1.3","PCI DSS 2.2"),S("IAC-COMPOSE-PRIV-001","A05:2021 Security Misconfiguration","CWE-250","V14.1.3","PCI DSS 2.2"),S("RASP-EGRESS-001","A10:2021 SSRF","CWE-918","V12.6.1","PCI DSS 1.3"),S("RASP-HONEY-001","A09:2021 Security Logging Failures","CWE-778","V7.1.1","PCI DSS 10.2 / 11.5"),S("RASP-FAIL-OPEN-001","A05:2021 Security Misconfiguration","CWE-755","V14.4.3","PCI DSS 6.4.3"),S("RUNTIME-SQLI-001","A03:2021 Injection","CWE-89","V5.3.4","PCI DSS 6.4.2"),S("RUNTIME-XSS-001","A03:2021 Injection","CWE-79","V5.3.3","PCI DSS 6.4.2"),S("RUNTIME-PATH-001","A01:2021 Broken Access Control","CWE-22","V12.3.1","PCI DSS 6.4.2"),S("RUNTIME-RATELIMIT-001","A07:2021 Identification Failures","CWE-307","V2.2.1","PCI DSS 8.3.4"),S("RUNTIME-BODY-001","A05:2021 Security Misconfiguration","CWE-400","V13.1.1","PCI DSS 6.2.4"),S("RUNTIME-ANOMALY-001","A04:2021 Insecure Design","CWE-754","V14.4.3","PCI DSS 10.2"),S("AI-IDOR-001","A01:2021 Broken Access Control","CWE-639","V4.1.1","PCI DSS 7.2"),S("AI-MASSASSIGN-001","A01:2021 Broken Access Control","CWE-915","V5.1.1","PCI DSS 6.2.4"),S("SAST-REDOS-001","A05:2021 Security Misconfiguration","CWE-1333","V5.1.5","PCI DSS 6.2.4"),S("SAST-DESER-001","A08:2021 Integrity Failures","CWE-502","V5.5.3","PCI DSS 6.2.4"),S("SAST-XXE-001","A05:2021 Security Misconfiguration","CWE-611","V5.5.2","PCI DSS 6.2.4"),S("SAST-UPLOAD-001","A04:2021 Insecure Design","CWE-434","V12.5.1","PCI DSS 6.2.4"),S("SAST-COOKIE-001","A05:2021 Security Misconfiguration","CWE-614/1004","V3.4.2","PCI DSS 6.2.4"),S("SAST-CSRF-001","A01:2021 Broken Access Control","CWE-352","V4.2.2","PCI DSS 6.4.3"),S("SAST-MASSASSIGN-001","A01:2021 Broken Access Control","CWE-915","V5.1.1","PCI DSS 6.2.4"),S("SAST-TIMING-001","A07:2021 Identification Failures","CWE-208","V2.10.3","PCI DSS 8.3"),S("SAST-HASH-001","A02:2021 Cryptographic Failures","CWE-916","V6.2.2","PCI DSS 8.3.1"),S("SAST-GQL-001","A04:2021 Insecure Design","CWE-770/200","V13.1.1","PCI DSS 6.2.4"),S("SAST-SKIP-001","A05:2021 Security Misconfiguration","CWE-693","V1.1.1","PCI DSS 6.2.4"),S("CONFIG-TRUSTPROXY-001","A07:2021 Identification Failures","CWE-290","V2.2.1","PCI DSS 8.3.4"),S("SECRET-BUNDLE-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2 / 8.3"),S("DLP-SECRET-001","A02:2021 Cryptographic Failures","CWE-200","V8.3.4","PCI DSS 3.2 / 8.3"),S("DLP-STACK-001","A04:2021 Insecure Design","CWE-209","V7.4.1","PCI DSS 6.2.4"),S("DLP-INTERNAL-001","A01:2021 Broken Access Control","CWE-200","V8.3.4","PCI DSS 1.3 / 2.2"),S("DLP-CARD-001","A02:2021 Cryptographic Failures","CWE-359","V8.3.4","PCI DSS 3.3 / 3.4"),S("DLP-PII-001","A01:2021 Broken Access Control","CWE-359","V8.3.4","PCI DSS 3.2 / 6.4.2"),S("MCP-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2 / 8.3"),S("MCP-002","A08:2021 Integrity Failures","CWE-494","V14.2.3","PCI DSS 6.3.3"),S("MCP-003","A01:2021 Broken Access Control","CWE-250","V4.1.1","PCI DSS 7.2"),S("MCP-004","A03:2021 Injection","CWE-74","V5.3.3","PCI DSS 6.2.4"),S("MCP-005","A02:2021 Cryptographic Failures","CWE-319","V9.1.1","PCI DSS 4.2"),S("HOST-SSH-001","A06:2021 Vulnerable Components","CWE-364","V14.2.1","PCI DSS 6.3.3"),S("HOST-SSH-002","A05:2021 Security Misconfiguration","CWE-693","V14.4.3","PCI DSS 2.2"),S("HOST-SSH-003","A07:2021 Identification Failures","CWE-307","V7.1.1","PCI DSS 10.2 / 11.5"),S("DEPS-PHANTOM-001","A06:2021 Vulnerable Components","CWE-829","V14.2.1","PCI DSS 6.3.3"),S("DEPS-LOCKMISMATCH-001","A06:2021 Vulnerable Components","CWE-1104","V14.2.1","PCI DSS 6.3.3")],A=new Map(E.map(C=>[C.ruleId,C]));function P(C){return A.get(C)}function o(C,i="pci"){let r=C.map(e=>{let n=P(e.ruleId);return `${e.ruleId} ${e.severity??""} ${e.file??""} ${n?.pci??"unmapped"} ${n?.owasp??""} ${n?.cwe??""}`});return [`FullShield compliance mapping (${i})`,I,"","ruleId severity file pci owasp cwe",...r,"",I].join(`
|
|
2
|
-
`)}function t
|
|
1
|
+
import'crypto';import'fs/promises';import'path';import {builtinModules}from'module';import'fs';import'url';import {execFile}from'child_process';import {promisify}from'util';var f=(t,i)=>()=>(t&&(i=t(t=0)),i);var m=f(()=>{});var p=f(()=>{m();});var c=f(()=>{});var u=f(()=>{});p();c();c();function n(t,i){return {ruleId:t,owasp:"A06:2021 Vulnerable Components",cwe:i,asvs:"V14.2.1",pci:"PCI DSS 6.3.3"}}var Q="DEPS-SHRINKWRAP-001",ee="DEPS-SHRINKWRAP-002",ne="DEPS-LOCKVER-001",te="DEPS-MULTLOCK-001",ie="DEPS-ROOTVER-001",re="DEPS-NONSEMVER-001",se="DEPS-NORESOLVED-001",oe="DEPS-RESOLVED-HOST-001",ae="DEPS-RESOLVED-HTTP-001",ce="DEPS-NOINTEGRITY-001",de="DEPS-WEAKINTEGRITY-001",ue="DEPS-BADINTEGRITY-001",fe="DEPS-LINKDEP-001",le="DEPS-GITDEP-001",pe="DEPS-NPMALIAS-001",ge="DEPS-BUNDLED-001",me="DEPS-PEER-UNDECLARED-001",he="DEPS-OPTIONAL-IMPORT-001",ye="DEPS-LOCKPATH-001",Se="DEPS-LOCKOMIT-001",Ee="DEPS-DEV-PROD-EDGE-001";new Set(builtinModules.flatMap(t=>[t,t.replace(/^node:/,"")]));var h=[n(Q,"CWE-829"),n(ee,"CWE-436"),n(ne,"CWE-1104"),n(te,"CWE-436"),n(ie,"CWE-436"),n(re,"CWE-1104"),n(se,"CWE-829"),n(oe,"CWE-494"),n(ae,"CWE-319"),n(ce,"CWE-353"),n(de,"CWE-328"),n(ue,"CWE-353"),n(fe,"CWE-829"),n(le,"CWE-829"),n(pe,"CWE-829"),n(ge,"CWE-829"),n(me,"CWE-829"),n(he,"CWE-703"),n(ye,"CWE-22"),n(Se,"CWE-829"),n(Ee,"CWE-829")];u();var Pe="DEPS-FLOAT-001",be="DEPS-FLOAT-002",Re="DEPS-GITSPEC-001",Ie="DEPS-FILESPEC-001",we="DEPS-URLSPEC-001",Ce="DEPS-TAGSPEC-001",Ae="DEPS-OVERRIDE-VULN-001",ve="DEPS-OVERRIDE-WIDE-001",De="DEPS-OVERRIDE-ALIAS-001",Ne="CONFIG-LIFECYCLE-001",Te="DEPS-NPMRC-REG-001",Le="DEPS-NPMRC-SCRIPT-001",Oe="DEPS-NPMRC-HOME-001",_e="DEPS-PACKAGEMANAGER-001",$e="DEPS-PACKAGEMANAGER-002",Me="DEPS-COREPACK-001",xe="CONFIG-ENGINES-001",Fe="DEPS-ENGINE-STRICT-001",je="DEPS-TRUSTED-001",We="DEPS-PUBLISHCONFIG-001",Ve="DEPS-PUBLISHCONFIG-002",Ge="DEPS-BIN-SHADOW-001",Ue="DEPS-OSCPU-001";var y=[n(Pe,"CWE-829"),n(be,"CWE-829"),n(Re,"CWE-829"),n(Ie,"CWE-829"),n(we,"CWE-494"),n(Ce,"CWE-829"),n(Ae,"CWE-1104"),n(ve,"CWE-829"),n(De,"CWE-829"),n(Ne,"CWE-829"),n(Te,"CWE-494"),n(Le,"CWE-829"),n(Oe,"CWE-494"),n(_e,"CWE-1104"),n($e,"CWE-1104"),n(Me,"CWE-353"),n(xe,"CWE-1104"),n(Fe,"CWE-693"),n(je,"CWE-829"),n(We,"CWE-494"),n(Ve,"CWE-668"),n(Ge,"CWE-427"),n(Ue,"CWE-1104")];u();var He=[["DEPS-REG-INTEGRITY-001","CWE-353"],["DEPS-REG-TARBALL-001","CWE-494"],["DEPS-REG-DEPRECATED-001","CWE-1104"],["DEPS-REG-UNPUBLISHED-001","CWE-829"],["DEPS-REG-NPMUSER-001","CWE-829"],["DEPS-REG-MAINTAINER-001","CWE-829"],["DEPS-REG-PROV-ABSENT-001","CWE-494"],["DEPS-REG-BUILDER-001","CWE-494"],["DEPS-REG-REPO-001","CWE-829"],["DEPS-REG-SUBJECT-001","CWE-345"],["DEPS-REG-TIME-001","CWE-345"],["DEPS-REG-AGE-001","CWE-1104"],["DEPS-REG-INSTALLSCRIPT-001","CWE-829"],["DEPS-REG-SIGNATURES-001","CWE-345"],["DEPS-REG-ENGINES-001","CWE-1104"],["DEPS-REG-DRIFT-001","CWE-1104"],["DEPS-REG-DEPS-001","CWE-1104"],["DEPS-REG-PEER-001","CWE-829"],["DEPS-REG-BIN-001","CWE-22"],["DEPS-REG-REPOSITORY-001","CWE-829"]],E=He.map(([t,i])=>n(t,i));var k=n("DEPS-TARBALL-HASH-001","CWE-353"),P=n("DEPS-TARBALL-ID-001","CWE-494"),b=n("DEPS-TARBALL-LIFECYCLE-001","CWE-829"),R=n("DEPS-TARBALL-NET-001","CWE-829"),I=n("DEPS-TARBALL-SHELL-001","CWE-78"),w=n("DEPS-TARBALL-CRED-001","CWE-522"),C=n("DEPS-TARBALL-OBFUSC-001","CWE-506"),A=n("DEPS-TARBALL-BIN-001","CWE-427"),v=n("DEPS-TARBALL-NATIVE-001","CWE-829"),D=n("DEPS-TARBALL-HOOK-001","CWE-829"),N=n("DEPS-TARBALL-HIDDEN-001","CWE-451"),T=n("DEPS-TARBALL-PATH-001","CWE-22"),L=n("DEPS-TARBALL-SIZE-001","CWE-770"),O=n("DEPS-TARBALL-LICENSE-001","CWE-1104"),_=n("DEPS-TARBALL-MANIFEST-001","CWE-494"),$=n("DEPS-TARBALL-INSTALLJS-001","CWE-829"),M=n("DEPS-TARBALL-TOPLEVEL-001","CWE-829"),x=n("DEPS-TARBALL-ENV-001","CWE-200"),F=n("DEPS-TARBALL-DYNAMIC-001","CWE-829"),j=n("DEPS-TARBALL-SKIP-001","CWE-353"),W=[k,P,b,R,I,w,C,A,v,D,N,T,L,O,_,$,M,x,F,j];({[k.ruleId]:{},[P.ruleId]:{},[b.ruleId]:{},[R.ruleId]:{},[I.ruleId]:{},[w.ruleId]:{},[C.ruleId]:{},[A.ruleId]:{},[v.ruleId]:{},[D.ruleId]:{},[N.ruleId]:{},[T.ruleId]:{},[L.ruleId]:{},[O.ruleId]:{},[_.ruleId]:{},[$.ruleId]:{},[M.ruleId]:{},[x.ruleId]:{},[F.ruleId]:{},[j.ruleId]:{}});var Be="DEPS-SCRIPT-TRANSITIVE-001",Ke="DEPS-SCRIPT-OPTIONAL-001",qe="DEPS-SCRIPT-DEV-001",Ye="DEPS-SCRIPT-PREPARE-001",ze="DEPS-SCRIPT-PREPUBLISH-001",Je="DEPS-SCRIPT-CURL-001",Xe="DEPS-SCRIPT-BASE64-001",Ze="DEPS-SCRIPT-NODEGYP-001",Qe="DEPS-SCRIPT-WRITE-001",en="DEPS-SCRIPT-LOCK-001",nn="DEPS-SCRIPT-GIT-001",tn="DEPS-SCRIPT-TOKEN-001",rn="DEPS-SCRIPT-PUBLISH-001",sn="DEPS-SCRIPT-TRUSTED-001",on="DEPS-SCRIPT-MISMATCH-001",an="DEPS-SCRIPT-MULTI-001",cn="DEPS-SCRIPT-BIN-001",dn="DEPS-SCRIPT-SHEBANG-001",un="DEPS-SCRIPT-COND-001",fn="DEPS-SCRIPT-ROLLUP-001";var G=[n(Be,"CWE-829"),n(Ke,"CWE-829"),n(qe,"CWE-829"),n(Ye,"CWE-829"),n(ze,"CWE-829"),n(Je,"CWE-494"),n(Xe,"CWE-95"),n(Ze,"CWE-829"),n(Qe,"CWE-22"),n(en,"CWE-506"),n(nn,"CWE-829"),n(tn,"CWE-522"),n(rn,"CWE-506"),n(sn,"CWE-829"),n(on,"CWE-829"),n(an,"CWE-829"),n(cn,"CWE-829"),n(dn,"CWE-78"),n(un,"CWE-829"),n(fn,"CWE-829")];c();u();p();promisify(execFile);u();c();var U=[{name:"express"},{name:"fastify"},{name:"koa"},{name:"hapi"},{name:"restify"},{name:"next"},{name:"nuxt"},{name:"gatsby"},{name:"react"},{name:"react-dom"},{name:"react-router"},{name:"react-router-dom"},{name:"redux"},{name:"vue"},{name:"vuex"},{name:"vue-router"},{name:"angular"},{name:"rxjs"},{name:"zone.js"},{name:"svelte"},{name:"solid-js"},{name:"preact"},{name:"jquery"},{name:"lodash"},{name:"underscore"},{name:"ramda"},{name:"minimist"},{name:"yargs"},{name:"commander"},{name:"inquirer"},{name:"chalk"},{name:"debug"},{name:"ms"},{name:"semver"},{name:"glob"},{name:"rimraf"},{name:"mkdirp"},{name:"fs-extra"},{name:"path-to-regexp"},{name:"qs"},{name:"body-parser"},{name:"cookie-parser"},{name:"cors"},{name:"helmet"},{name:"morgan"},{name:"compression"},{name:"multer"},{name:"passport"},{name:"jsonwebtoken"},{name:"bcrypt"},{name:"bcryptjs"},{name:"argon2"},{name:"uuid"},{name:"nanoid"},{name:"axios"},{name:"node-fetch"},{name:"got"},{name:"request"},{name:"superagent"},{name:"undici"},{name:"ws"},{name:"socket.io"},{name:"socket.io-client"},{name:"mqtt"},{name:"amqplib"},{name:"ioredis"},{name:"redis"},{name:"mongoose"},{name:"mongodb"},{name:"pg"},{name:"mysql"},{name:"mysql2"},{name:"sqlite3"},{name:"better-sqlite3"},{name:"sequelize"},{name:"typeorm"},{name:"prisma"},{name:"knex"},{name:"dotenv"},{name:"cross-env"},{name:"nodemon"},{name:"pm2"},{name:"concurrently"},{name:"typescript"},{name:"ts-node"},{name:"tsx"},{name:"tsup"},{name:"esbuild"},{name:"swc"},{name:"vite"},{name:"webpack"},{name:"webpack-cli"},{name:"webpack-dev-server"},{name:"rollup"},{name:"parcel"},{name:"turbo"},{name:"nx"},{name:"lerna"},{name:"eslint"},{name:"prettier"},{name:"stylelint"},{name:"husky"},{name:"lint-staged"},{name:"jest"},{name:"vitest"},{name:"mocha"},{name:"chai"},{name:"sinon"},{name:"ava"},{name:"tap"},{name:"supertest"},{name:"cypress"},{name:"playwright"},{name:"puppeteer"},{name:"jsdom"},{name:"happy-dom"},{name:"testing-library"},{name:"@testing-library/react"},{name:"@testing-library/jest-dom"},{name:"babel"},{name:"@babel/core"},{name:"@babel/preset-env"},{name:"@babel/preset-react"},{name:"@babel/preset-typescript"},{name:"@babel/plugin-transform-runtime"},{name:"core-js"},{name:"regenerator-runtime"},{name:"prop-types"},{name:"classnames"},{name:"clsx"},{name:"tailwindcss"},{name:"postcss"},{name:"autoprefixer"},{name:"sass"},{name:"less"},{name:"styled-components"},{name:"emotion"},{name:"@emotion/react"},{name:"@emotion/styled"},{name:"antd"},{name:"@mui/material"},{name:"@chakra-ui/react"},{name:"bootstrap"},{name:"moment"},{name:"dayjs"},{name:"date-fns"},{name:"luxon"},{name:"immutable"},{name:"immer"},{name:"zustand"},{name:"jotai"},{name:"recoil"},{name:"mobx"},{name:"mobx-react"},{name:"graphql"},{name:"apollo-server"},{name:"@apollo/client"},{name:"urql"},{name:"relay-runtime"},{name:"swagger-ui-express"},{name:"openapi-types"},{name:"zod"},{name:"yup"},{name:"joi"},{name:"ajv"},{name:"class-validator"},{name:"class-transformer"},{name:"nestjs"},{name:"@nestjs/core"},{name:"@nestjs/common"},{name:"express-validator"},{name:"express-rate-limit"},{name:"express-session"},{name:"cookie-session"},{name:"connect-redis"},{name:"csurf"},{name:"hpp"},{name:"winston"},{name:"pino"},{name:"bunyan"},{name:"log4js"},{name:"ora"},{name:"cli-table3"},{name:"figlet"},{name:"boxen"},{name:"update-notifier"},{name:"meow"},{name:"arg"},{name:"minimatch"},{name:"micromatch"},{name:"picomatch"},{name:"fast-glob"},{name:"globby"},{name:"ignore"},{name:"slash"},{name:"normalize-path"},{name:"resolve"},{name:"resolve-from"},{name:"import-fresh"},{name:"pkg-dir"},{name:"find-up"},{name:"locate-path"},{name:"p-locate"},{name:"p-limit"},{name:"p-map"},{name:"p-retry"},{name:"p-queue"},{name:"delay"},{name:"pretty-ms"},{name:"humanize-ms"},{name:"bytes"},{name:"pretty-bytes"},{name:"mime"},{name:"mime-types"},{name:"content-type"},{name:"content-disposition"},{name:"etag"},{name:"fresh"},{name:"negotiator"},{name:"accepts"},{name:"type-is"},{name:"raw-body"},{name:"on-finished"},{name:"on-headers"},{name:"finalhandler"},{name:"serve-static"},{name:"send"},{name:"range-parser"},{name:"http-errors"},{name:"statuses"},{name:"depd"},{name:"inherits"},{name:"util-deprecate"},{name:"safe-buffer"},{name:"buffer"},{name:"ieee754"},{name:"base64-js"},{name:"punycode"},{name:"ipaddr.js"},{name:"proxy-addr"},{name:"forwarded"},{name:"parseurl"},{name:"encodeurl"},{name:"escape-html"},{name:"setprototypeof"},{name:"object-assign"},{name:"vary"},{name:"methods"},{name:"array-flatten"},{name:"merge-descriptors"},{name:"utils-merge"},{name:"ee-first"},{name:"unpipe"},{name:"destroy"},{name:"toidentifier"},{name:"safer-buffer"},{name:"iconv-lite"},{name:"string_decoder"},{name:"readable-stream"},{name:"through2"},{name:"through"},{name:"pump"},{name:"end-of-stream"},{name:"once"},{name:"wrappy"},{name:"inflight"},{name:"balanced-match"},{name:"brace-expansion"},{name:"concat-map"},{name:"path-is-absolute"},{name:"fs.realpath"},{name:"graceful-fs"},{name:"jsonfile"},{name:"universalify"},{name:"is-stream"},{name:"is-plain-obj"},{name:"is-plain-object"},{name:"kind-of"},{name:"typeof"},{name:"isarray"},{name:"isobject"},{name:"has-flag"},{name:"supports-color"},{name:"ansi-styles"},{name:"color-convert"},{name:"color-name"},{name:"escape-string-regexp"},{name:"has-ansi"},{name:"strip-ansi"},{name:"ansi-regex"},{name:"wrap-ansi"},{name:"cli-cursor"},{name:"restore-cursor"},{name:"onetime"},{name:"mimic-fn"},{name:"signal-exit"},{name:"is-interactive"},{name:"is-unicode-supported"},{name:"log-symbols"},{name:"stdin-discarder"},{name:"string-width"},{name:"eastasianwidth"},{name:"emoji-regex"},{name:"get-east-asian-width"},{name:"widest-line"},{name:"cli-boxes"},{name:"type-fest"},{name:"camelcase"},{name:"decamelize"},{name:"kebab-case"},{name:"snake-case"},{name:"change-case"},{name:"titleize"},{name:"upper-case"},{name:"lower-case"},{name:"dot-prop"},{name:"dot-object"},{name:"object-path"},{name:"deepmerge"},{name:"lodash.merge"},{name:"lodash.get"},{name:"lodash.set"},{name:"lodash.clonedeep"},{name:"lodash.debounce"},{name:"lodash.throttle"},{name:"lodash.isequal"},{name:"lodash.omit"},{name:"lodash.pick"},{name:"clone"},{name:"clone-deep"},{name:"shallow-clone"},{name:"arrify"},{name:"array-union"},{name:"array-uniq"},{name:"uniq"},{name:"unique-string"},{name:"crypto-random-string"},{name:"randombytes"},{name:"randomfill"},{name:"hash.js"},{name:"create-hash"},{name:"create-hmac"},{name:"browserify-sign"},{name:"parse-asn1"},{name:"bn.js"},{name:"elliptic"},{name:"minimalistic-assert"},{name:"brorand"},{name:"hmac-drbg"},{name:"hash-base"},{name:"md5.js"},{name:"ripemd160"},{name:"sha.js"},{name:"cipher-base"},{name:"evp_bytestokey"},{name:"browserify-aes"},{name:"browserify-des"},{name:"browserify-rsa"},{name:"browserify-zlib"},{name:"buffer-xor"},{name:"des.js"},{name:"diffie-hellman"},{name:"miller-rabin"},{name:"public-encrypt"},{name:"random-bytes"},{name:"pbkdf2"},{name:"scrypt-js"},{name:"tweetnacl"},{name:"libsodium"},{name:"noble-hashes"},{name:"jose"},{name:"jwks-rsa"},{name:"passport-jwt"},{name:"passport-local"},{name:"passport-oauth2"},{name:"openid-client"},{name:"oidc-provider"},{name:"express-oauth-server"},{name:"nocache"},{name:"frameguard"},{name:"hsts"},{name:"ienoopen"},{name:"x-xss-protection"},{name:"aws-sdk"},{name:"@aws-sdk/client-s3"},{name:"@aws-sdk/client-sqs"},{name:"@aws-sdk/client-sns"},{name:"@aws-sdk/client-dynamodb"},{name:"@aws-sdk/client-lambda"},{name:"@aws-sdk/client-secrets-manager"},{name:"@google-cloud/storage"},{name:"@google-cloud/pubsub"},{name:"firebase-admin"},{name:"firebase"},{name:"stripe"},{name:"twilio"},{name:"nodemailer"},{name:"sendgrid"},{name:"@sendgrid/mail"},{name:"mailgun.js"},{name:"postmark"},{name:"bull"},{name:"bullmq"},{name:"agenda"},{name:"bee-queue"},{name:"kue"},{name:"cron"},{name:"node-cron"},{name:"node-schedule"},{name:"later"},{name:"rrule"},{name:"sharp"},{name:"jimp"},{name:"gm"},{name:"canvas"},{name:"pdfkit"},{name:"puppeteer-core"},{name:"cheerio"},{name:"linkedom"},{name:"parse5"},{name:"htmlparser2"},{name:"css-select"},{name:"domhandler"},{name:"entities"},{name:"he"},{name:"escape-goat"},{name:"sanitize-html"},{name:"dompurify"},{name:"xss"},{name:"validator"},{name:"validator.js"},{name:"express-mongo-sanitize"},{name:"sqlstring"},{name:"pg-format"},{name:"tedious"},{name:"mssql"},{name:"oracledb"},{name:"snowflake-sdk"},{name:"cassandra-driver"},{name:"neo4j-driver"},{name:"elasticsearch"},{name:"@elastic/elasticsearch"},{name:"meilisearch"},{name:"algoliasearch"},{name:"typesense"},{name:"openai"},{name:"@anthropic-ai/sdk"},{name:"langchain"},{name:"@langchain/core"},{name:"tiktoken"},{name:"gpt-tokenizer"},{name:"zod-to-json-schema"},{name:"json-schema"},{name:"ajv-formats"},{name:"ajv-keywords"},{name:"fast-json-stringify"},{name:"fast-json-stable-stringify"},{name:"json-stable-stringify"},{name:"json5"},{name:"js-yaml"},{name:"yaml"},{name:"toml"},{name:"ini"},{name:"dotenv-expand"},{name:"env-var"},{name:"envalid"},{name:"convict"},{name:"nconf"},{name:"config"},{name:"rc"},{name:"cosmiconfig"},{name:"lilconfig"},{name:"pkg-up"},{name:"read-pkg"},{name:"read-pkg-up"},{name:"normalize-package-data"},{name:"validate-npm-package-name"},{name:"npm-package-arg"},{name:"pacote"},{name:"npm-registry-fetch"},{name:"libnpmpublish"},{name:"npmlog"},{name:"are-we-there-yet"},{name:"gauge"},{name:"wide-align"},{name:"console-control-strings"},{name:"has-unicode"},{name:"delegates"},{name:"aproba"},{name:"set-blocking"},{name:"silent-error"},{name:"bluebird"},{name:"q"},{name:"asap"},{name:"promise"},{name:"native-promise-only"},{name:"es6-promise"},{name:"es6-promisify"},{name:"pify"},{name:"pinkie"},{name:"pinkie-promise"},{name:"thenify"},{name:"any-promise"},{name:"mz"},{name:"co"},{name:"thunkify"},{name:"async"},{name:"async-retry"},{name:"retry"},{name:"backoff"},{name:"exponential-backoff"},{name:"p-timeout"},{name:"p-defer"},{name:"p-lazy"},{name:"p-min-delay"},{name:"p-reflect"},{name:"p-settle"},{name:"p-some"},{name:"p-any"},{name:"p-all"},{name:"p-each-series"},{name:"p-filter"},{name:"p-reduce"},{name:"p-whilst"},{name:"p-do-whilst"},{name:"p-forever"},{name:"p-wait-for"},{name:"p-event"},{name:"p-times"},{name:"p-progress"},{name:"ow"},{name:"is"},{name:"is-what"},{name:"is-number"},{name:"is-string"},{name:"is-array"},{name:"is-object"},{name:"is-function"},{name:"is-promise"},{name:"is-generator-fn"},{name:"is-async-function"},{name:"is-callable"},{name:"is-regex"},{name:"is-date-object"},{name:"is-symbol"},{name:"is-bigint"},{name:"is-boolean-object"},{name:"is-number-object"},{name:"is-weakmap"},{name:"is-weakset"},{name:"is-map"},{name:"is-set"},{name:"is-error"},{name:"is-docker"},{name:"is-wsl"},{name:"is-ci"},{name:"ci-info"},{name:"hosted-git-info"},{name:"normalize-url"},{name:"prepend-http"},{name:"human-signals"},{name:"execa"},{name:"cross-spawn"},{name:"shebang-command"},{name:"shebang-regex"},{name:"which"},{name:"isexe"},{name:"path-key"},{name:"npm-run-path"},{name:"strip-final-newline"},{name:"get-stream"},{name:"merge-stream"},{name:"mimic-response"},{name:"decompress-response"},{name:"clone-response"},{name:"responselike"},{name:"cacheable-request"},{name:"cacheable-lookup"},{name:"http2-wrapper"},{name:"lowercase-keys"},{name:"to-readable-stream"},{name:"duplexer3"},{name:"pumpify"},{name:"duplexify"},{name:"from2"},{name:"flush-write-stream"},{name:"parallel-transform"},{name:"cyclist"},{name:"xtend"},{name:"object.assign"},{name:"object-keys"},{name:"define-properties"},{name:"has-property-descriptors"},{name:"gopd"},{name:"es-define-property"},{name:"es-errors"},{name:"es-object-atoms"},{name:"get-intrinsic"},{name:"has-symbols"},{name:"has-proto"},{name:"function-bind"},{name:"has"},{name:"hasown"},{name:"call-bind"},{name:"set-function-length"},{name:"define-data-property"},{name:"available-typed-arrays"},{name:"for-each"},{name:"is-typed-array"},{name:"which-typed-array"},{name:"typed-array-buffer"},{name:"typed-array-byte-length"},{name:"typed-array-byte-offset"},{name:"typed-array-length"},{name:"possible-typed-array-names"},{name:"is-array-buffer"},{name:"is-shared-array-buffer"},{name:"is-weakref"},{name:"is-finalizationregistry"},{name:"is-generator-function"},{name:"generator-function"},{name:"safe-regex-test"},{name:"regexp.prototype.flags"},{name:"side-channel"},{name:"object-inspect"},{name:"strict-uri-encode"},{name:"query-string"},{name:"querystring"},{name:"querystring-es3"},{name:"split-on-first"},{name:"filter-obj"},{name:"decode-uri-component"},{name:"url-parse"},{name:"requires-port"},{name:"querystringify"},{name:"parse-path"},{name:"parse-url"},{name:"humanize-url"},{name:"file-url"},{name:"data-uri-to-buffer"},{name:"form-data"},{name:"formdata-node"},{name:"formdata-polyfill"},{name:"busboy"},{name:"dicer"},{name:"streamsearch"},{name:"append-field"},{name:"concat-stream"},{name:"buffer-from"},{name:"typedarray"},{name:"process-nextick-args"},{name:"core-util-is"},{name:"bl"},{name:"tar-stream"},{name:"tar"},{name:"tar-fs"},{name:"unzipper"},{name:"yauzl"},{name:"yazl"},{name:"archiver"},{name:"compressing"},{name:"adm-zip"},{name:"jszip"},{name:"node-stream-zip"},{name:"unzip-stream"},{name:"gunzip-maybe"},{name:"peek-stream"},{name:"mississippi"},{name:"cloneable-readable"},{name:"into-stream"},{name:"stream-browserify"},{name:"stream-http"},{name:"https-browserify"},{name:"http-browserify"},{name:"url"},{name:"process"},{name:"timers-browserify"},{name:"tty-browserify"},{name:"vm-browserify"},{name:"console-browserify"},{name:"constants-browserify"},{name:"crypto-browserify"},{name:"domain-browser"},{name:"events"},{name:"os-browserify"},{name:"path-browserify"},{name:"assert"},{name:"util"},{name:"node-libs-browser"},{name:"setimmediate"},{name:"webpack-sources"},{name:"terser-webpack-plugin"},{name:"css-loader"},{name:"style-loader"},{name:"file-loader"},{name:"url-loader"},{name:"raw-loader"},{name:"html-webpack-plugin"},{name:"mini-css-extract-plugin"},{name:"copy-webpack-plugin"},{name:"clean-webpack-plugin"},{name:"webpack-bundle-analyzer"},{name:"webpack-merge"},{name:"webpack-node-externals"},{name:"ts-loader"},{name:"babel-loader"},{name:"sass-loader"},{name:"postcss-loader"},{name:"less-loader"},{name:"source-map-loader"},{name:"thread-loader"},{name:"cache-loader"},{name:"eslint-loader"},{name:"eslint-webpack-plugin"},{name:"fork-ts-checker-webpack-plugin"},{name:"tsconfig-paths-webpack-plugin"},{name:"awesome-typescript-loader"},{name:"vue-loader"},{name:"vue-template-compiler"},{name:"svelte-loader"},{name:"solid-refresh"},{name:"vite-plugin-solid"},{name:"@vitejs/plugin-react"},{name:"@vitejs/plugin-vue"},{name:"rollup-plugin-terser"},{name:"@rollup/plugin-node-resolve"},{name:"@rollup/plugin-commonjs"},{name:"@rollup/plugin-json"},{name:"@rollup/plugin-typescript"},{name:"@rollup/plugin-replace"},{name:"@rollup/plugin-babel"},{name:"rollup-plugin-dts"},{name:"rollup-plugin-esbuild"},{name:"esbuild-register"},{name:"ts-node-dev"},{name:"tsconfig-paths"},{name:"tslib"},{name:"@types/node"},{name:"@types/express"},{name:"@types/react"},{name:"@types/react-dom"},{name:"@types/lodash"},{name:"@types/jest"},{name:"@types/mocha"},{name:"@types/cors"},{name:"@types/compression"},{name:"@types/cookie-parser"},{name:"@types/morgan"},{name:"@types/multer"},{name:"@types/passport"},{name:"@types/jsonwebtoken"},{name:"@types/bcryptjs"},{name:"@types/uuid"},{name:"@types/ws"},{name:"@types/pg"},{name:"@types/nodemailer"},{name:"@types/supertest"},{name:"@types/js-yaml"},{name:"typedoc"},{name:"jsdoc"},{name:"documentation"},{name:"compodoc"},{name:"storybook"},{name:"@storybook/react"},{name:"@storybook/vue3"},{name:"chromatic"},{name:"msw"},{name:"nock"},{name:"testdouble"},{name:"rewire"},{name:"proxyquire"},{name:"mock-fs"},{name:"memfs"},{name:"mockdate"},{name:"timekeeper"},{name:"lolex"},{name:"fake-timers"},{name:"@sinonjs/fake-timers"},{name:"clock-mock"},{name:"jest-extended"},{name:"jest-when"},{name:"jest-mock"},{name:"jest-environment-jsdom"},{name:"jest-environment-node"},{name:"babel-jest"},{name:"ts-jest"},{name:"vite-node"},{name:"tinyspy"},{name:"tinypool"},{name:"chai-as-promised"},{name:"chai-http"},{name:"should"},{name:"expect.js"},{name:"unexpected"},{name:"tape"},{name:"node:test"},{name:"uvu"},{name:"uvu/assert"},{name:"kleur"},{name:"picocolors"},{name:"colorette"},{name:"ansi-colors"},{name:"yoctocolors"},{name:"nanocolors"}];var g=U.map(t=>t.name);var yn="DEPS-SCOPE-TYPO-001",Sn="DEPS-HOMOGLYPH-001",En="DEPS-BIDI-001",kn="DEPS-MIXEDSCRIPT-001",Pn="DEPS-SEPARATOR-001",bn="DEPS-REPEAT-001",Rn="DEPS-SUFFIX-001",In="DEPS-SCOPE-NEW-001",wn="DEPS-SCOPE-SYNTAX-001",Cn="DEPS-TYPES-001",An="DEPS-DEPRECATED-REPLACE-001",vn="DEPS-TYPO-TRANSITIVE-001",Dn="DEPS-NAME-LENGTH-001",Nn="DEPS-NAME-CASE-001",Tn="DEPS-NAME-ENCODED-001",Ln="DEPS-ALIAS-SQUAT-001",On="DEPS-SELFNAME-001",_n="DEPS-WORKSPACE-NAME-001";new Set(g);var H=new Set,$n=new Set,B=new Map,K=new Map;for(let t of g){let i=xn(t),s=K.get(i);s===void 0?K.set(i,[t]):s.push(t);let r=Mn(t);if(r===void 0){H.add(t);continue}$n.add(r.scope),H.add(r.base);let o=B.get(r.scope)??new Set;o.add(r.base),B.set(r.scope,o);}var q=[n(yn,"CWE-494"),n(Sn,"CWE-1007"),n(En,"CWE-1007"),n(kn,"CWE-1007"),n(Pn,"CWE-494"),n(bn,"CWE-494"),n(Rn,"CWE-494"),n(In,"CWE-1104"),n(wn,"CWE-20"),n(Cn,"CWE-1104"),n(An,"CWE-1104"),n(vn,"CWE-494"),n(Dn,"CWE-1284"),n(Nn,"CWE-178"),n(Tn,"CWE-20"),n(Ln,"CWE-494"),n(On,"CWE-694"),n(_n,"CWE-494")];function Mn(t){if(!t.startsWith("@"))return;let i=t.indexOf("/");if(i<=1||t.indexOf("/",i+1)!==-1)return;let s=t.slice(1,i),r=t.slice(i+1);if(!(s.length===0||r.length===0))return {scope:s,base:r}}function xn(t){return t.replaceAll(".","-").replaceAll("_","-")}c();new Set(builtinModules.flatMap(t=>[t,t.replace(/^node:/,"")]));var jn="DEPS-GRAPH-OPTIONAL-001",Wn="DEPS-PEER-MISSING-001",Vn="DEPS-GRAPH-ALIAS-001",Gn="DEPS-DUALPACKAGE-001",Un="DEPS-PHANTOM-002",Y=[n(jn,"CWE-829"),n(Wn,"CWE-829"),n(Vn,"CWE-829"),n(Gn,"CWE-829"),n(Un,"CWE-829")];u();var z=[];var J=[...h,...y,...E,...W,...G,...q,...Y,...z];var X="This is not a certification or audit. FullShield produces an evidence-style mapping only; it does not certify PCI DSS, SOC 2, ISO, or any other standard.",e=(t,i,s,r,o)=>({ruleId:t,owasp:i,cwe:s,asvs:r,pci:o}),Hn=[e("SAST-SQLI-001","A03:2021 Injection","CWE-89","V5.3.4","PCI DSS 6.2.4"),e("SAST-NOSQLI-001","A03:2021 Injection","CWE-943","V5.3.4","PCI DSS 6.2.4"),e("SAST-CMDI-001","A03:2021 Injection","CWE-78","V5.3.3","PCI DSS 6.2.4"),e("SAST-PATH-001","A01:2021 Broken Access Control","CWE-22","V12.3.1","PCI DSS 6.2.4"),e("SAST-EVAL-001","A03:2021 Injection","CWE-95","V5.3.3","PCI DSS 6.2.4"),e("SAST-SSRF-001","A10:2021 SSRF","CWE-918","V12.6.1","PCI DSS 6.2.4"),e("SAST-REDIRECT-001","A01:2021 Broken Access Control","CWE-601","V5.1.1","PCI DSS 6.4.2"),e("SAST-PROTO-001","A03:2021 Injection","CWE-1321","V5.3.3","PCI DSS 6.2.4"),e("SAST-XSS-001","A03:2021 Injection","CWE-79","V5.3.3","PCI DSS 6.2.4"),e("SAST-JWT-001","A07:2021 Identification Failures","CWE-347","V3.5.3","PCI DSS 6.5.10"),e("SAST-CRYPTO-001","A02:2021 Cryptographic Failures","CWE-338","V6.2.1","PCI DSS 3.6 / 4.2"),e("SAST-CIPHER-001","A02:2021 Cryptographic Failures","CWE-327","V6.2.1","PCI DSS 3.6 / 4.2"),e("SAST-CIPHER-002","A02:2021 Cryptographic Failures","CWE-321","V6.2.1","PCI DSS 3.6 / 4.2"),e("SAST-RSA-001","A02:2021 Cryptographic Failures","CWE-326","V6.2.1","PCI DSS 3.6 / 4.2"),e("SAST-JWT-002","A07:2021 Identification Failures","CWE-613","V3.5.3","PCI DSS 6.5.10"),e("SAST-TLS-001","A02:2021 Cryptographic Failures","CWE-295","V9.2.1","PCI DSS 4.2"),e("SAST-TLS-002","A02:2021 Cryptographic Failures","CWE-295","V9.2.1","PCI DSS 4.2"),e("SAST-SSTI-001","A03:2021 Injection","CWE-1336","V5.2.5","PCI DSS 6.2.4"),e("SAST-LOGLEAK-001","A09:2021 Security Logging Failures","CWE-532","V7.1.3","PCI DSS 10.3"),e("SAST-WEBHOOK-001","A07:2021 Identification Failures","CWE-345","V13.2.5","PCI DSS 6.5.10"),e("SAST-SESSION-002","A07:2021 Identification Failures","CWE-384","V3.2.1","PCI DSS 6.5.10"),e("SAST-IDOR-001","A01:2021 Broken Access Control","CWE-639","V4.2.1","PCI DSS 6.2.4"),e("SAST-DOMXSS-001","A03:2021 Injection","CWE-79","V5.3.3","PCI DSS 6.2.4"),e("SAST-REACT-001","A03:2021 Injection","CWE-79","V5.3.3","PCI DSS 6.2.4"),e("SAST-POSTMSG-001","A07:2021 Identification Failures","CWE-346","V13.2.5","PCI DSS 6.2.4"),e("SAST-TOKENSTORE-001","A02:2021 Cryptographic Failures","CWE-922","V8.3.4","PCI DSS 3.5"),e("SAST-NEXT-001","A01:2021 Broken Access Control","CWE-306","V4.1.1","PCI DSS 8.2"),e("CONFIG-NEXT-001","A01:2021 Broken Access Control","CWE-306","V4.1.1","PCI DSS 8.2"),e("CONFIG-NEXT-002","A05:2021 Security Misconfiguration","CWE-942","V14.4.5","PCI DSS 6.4.3"),e("SECRET-NEXTPUB-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2"),e("SAST-AUTH-001","A07:2021 Identification Failures","CWE-306","V4.1.1","PCI DSS 8.2"),e("SECRET-AWS-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2 / 8.3"),e("SECRET-STRIPE-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2"),e("SECRET-GITHUB-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 8.3"),e("SECRET-SLACK-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 8.3"),e("SECRET-GOOGLE-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 8.3"),e("SECRET-AIKEY-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 8.3"),e("SECRET-PRIVKEY-001","A02:2021 Cryptographic Failures","CWE-321","V6.4.1","PCI DSS 3.5 / 4.2"),e("SECRET-DBURL-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2 / 8.3"),e("SECRET-JWT-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.5"),e("SECRET-SESSION-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.5 / 6.2.4"),e("CONFIG-DIRLIST-001","A05:2021 Security Misconfiguration","CWE-548","V12.1.1","PCI DSS 2.2 / 6.4.3"),e("SECRET-ENVFILE-001","A02:2021 Cryptographic Failures","CWE-312","V8.3.4","PCI DSS 3.2"),e("SECRET-FILE-002","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2 / 8.3"),e("SECRET-FILE-003","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2 / 8.3"),e("SECRET-FILE-004","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2 / 8.3"),e("SECRET-FILE-005","A02:2021 Cryptographic Failures","CWE-312","V8.3.4","PCI DSS 3.2"),e("SECRET-FILE-006","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2 / 8.3"),e("SECRET-FILE-007","A02:2021 Cryptographic Failures","CWE-321","V6.4.1","PCI DSS 3.5 / 4.2"),e("SECRET-ENTROPY-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 8.3"),e("DEPS-VULN-001","A06:2021 Vulnerable Components","CWE-1104","V14.2.1","PCI DSS 6.3.3"),e("DEPS-VENDORED-001","A06:2021 Vulnerable Components","CWE-1104","V14.2.1","PCI DSS 6.3.3"),e("DEPS-UNFIXED-001","A06:2021 Vulnerable Components","CWE-1104","V14.2.1","PCI DSS 6.3.3"),e("DEPS-MALICIOUS-001","A06:2021 Vulnerable Components","CWE-506","V14.2.1","PCI DSS 6.3.3 / 12.10"),e("DEPS-TYPOSQUAT-001","A06:2021 Vulnerable Components","CWE-494","V14.2.1","PCI DSS 6.3.3"),e("DEPS-NOLOCK-001","A06:2021 Vulnerable Components","CWE-1104","V14.2.1","PCI DSS 6.3.3"),e("DEPS-DEPRECATED-001","A06:2021 Vulnerable Components","CWE-1104","V14.2.1","PCI DSS 6.3.3"),e("CONFIG-HELMET-001","A05:2021 Security Misconfiguration","CWE-693","V14.4.3","PCI DSS 6.4.3"),e("CONFIG-BODYLIMIT-001","A05:2021 Security Misconfiguration","CWE-400","V13.1.1","PCI DSS 6.2.4"),e("CONFIG-CORS-001","A05:2021 Security Misconfiguration","CWE-942","V14.4.5","PCI DSS 6.4.3"),e("CONFIG-RATELIMIT-001","A07:2021 Identification Failures","CWE-307","V2.2.1","PCI DSS 8.3.4"),e("CONFIG-ERRSTACK-001","A04:2021 Insecure Design","CWE-209","V7.4.1","PCI DSS 6.2.4"),e("CONFIG-ELECTRON-001","A05:2021 Security Misconfiguration","CWE-749","V14.1.3","PCI DSS 6.4.3"),e("CONFIG-ELECTRON-002","A01:2021 Broken Access Control","CWE-939","V5.1.1","PCI DSS 6.2.4"),e("CONFIG-ELECTRON-003","A05:2021 Security Misconfiguration","CWE-749","V14.1.3","PCI DSS 6.4.3"),e("CONFIG-INSTALLSCRIPT-001","A06:2021 Vulnerable Components","CWE-829","V14.2.1","PCI DSS 6.3.3"),e("CONFIG-DOCKER-LATEST-001","A05:2021 Security Misconfiguration","CWE-1188","V14.1.3","PCI DSS 2.2"),e("CONFIG-DOCKER-ROOT-001","A05:2021 Security Misconfiguration","CWE-250","V14.1.3","PCI DSS 2.2"),e("CONFIG-DOCKER-ENV-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2"),e("EDGE-CDN-001","A05:2021 Security Misconfiguration","CWE-693","V14.4.3","PCI DSS 1.2 / 6.4"),e("EDGE-CSP-001","A05:2021 Security Misconfiguration","CWE-693","V14.4.3","PCI DSS 6.4.3"),e("EDGE-EXPOSE-001","A05:2021 Security Misconfiguration","CWE-538","V14.4.3","PCI DSS 2.2 / 6.4"),e("EDGE-HSTS-001","A05:2021 Security Misconfiguration","CWE-319","V9.1.1","PCI DSS 4.2"),e("EDGE-REFERRER-001","A05:2021 Security Misconfiguration","CWE-201","V14.4.3","PCI DSS 6.4.3"),e("EDGE-TLS-001","A02:2021 Cryptographic Failures","CWE-319","V9.1.1","PCI DSS 4.2"),e("EDGE-XCTO-001","A05:2021 Security Misconfiguration","CWE-693","V14.4.3","PCI DSS 6.4.3"),e("EDGE-XFO-001","A05:2021 Security Misconfiguration","CWE-1021","V14.4.3","PCI DSS 6.4.3"),e("RASP-SQL-001","A03:2021 Injection","CWE-89","V5.3.4","PCI DSS 6.4.2"),e("RASP-SHELL-001","A03:2021 Injection","CWE-78","V5.3.3","PCI DSS 6.4.2"),e("RASP-PATH-001","A01:2021 Broken Access Control","CWE-22","V12.3.1","PCI DSS 6.4.2"),e("RASP-NOSQL-001","A03:2021 Injection","CWE-943","V5.3.4","PCI DSS 6.4.2"),e("RASP-SSRF-001","A10:2021 SSRF","CWE-918","V12.6.1","PCI DSS 1.3"),e("RASP-PROTO-001","A03:2021 Injection","CWE-1321","V5.3.3","PCI DSS 6.4.2"),e("RASP-SSTI-001","A03:2021 Injection","CWE-94","V5.3.3","PCI DSS 6.4.2"),e("AI-INJECT-001","A03:2021 Injection","CWE-1427","V5.3.3","PCI DSS 6.2.4"),e("LLM-001","A03:2021 Injection","CWE-1426","V5.3.3","PCI DSS 6.2.4"),e("LLM-002","A03:2021 Injection","CWE-94","V5.3.3","PCI DSS 6.2.4"),e("LLM-003","A01:2021 Broken Access Control","CWE-250","V4.1.1","PCI DSS 7.2"),e("LLM-004","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2"),e("LLM-005","A04:2021 Insecure Design","CWE-770","V13.1.1","PCI DSS 6.2.4"),e("SUPPLY-INSTALLSCRIPT-001","A06:2021 Vulnerable Components","CWE-829","V14.2.1","PCI DSS 6.3.3"),e("SUPPLY-NPMRC-NET-001","A06:2021 Vulnerable Components","CWE-506","V14.2.1","PCI DSS 12.10"),e("SUPPLY-OBFUSCATE-001","A06:2021 Vulnerable Components","CWE-506","V14.2.1","PCI DSS 6.3.3"),e("SUPPLY-BEHAVIOR-001","A06:2021 Vulnerable Components","CWE-829","V14.2.1","PCI DSS 6.3.3"),e("SUPPLY-COOLDOWN-001","A06:2021 Vulnerable Components","CWE-1104","V14.2.1","PCI DSS 6.3.3"),e("SUPPLY-LOCKURL-001","A08:2021 Integrity Failures","CWE-494","V14.2.3","PCI DSS 6.3.3"),e("SUPPLY-LOCKINTEGRITY-001","A08:2021 Integrity Failures","CWE-353","V14.2.3","PCI DSS 6.3.3"),e("SUPPLY-CONFUSION-001","A08:2021 Integrity Failures","CWE-494","V14.2.3","PCI DSS 6.3.3"),e("SUPPLY-PROVENANCE-001","A08:2021 Integrity Failures","CWE-494","V14.2.3","PCI DSS 6.3.3"),e("SUPPLY-PROV-001","A08:2021 Integrity Failures","CWE-494","V14.2.3","PCI DSS 6.3.3"),e("SUPPLY-WORM-001","A06:2021 Vulnerable Components","CWE-506","V14.2.1","PCI DSS 6.3.3 / 12.10"),e("SUPPLY-WORKFLOW-001","A08:2021 Integrity Failures","CWE-829","V14.2.3","PCI DSS 6.3.3"),e("SUPPLY-CHAINC2-001","A06:2021 Vulnerable Components","CWE-506","V14.2.1","PCI DSS 6.3.3"),e("SUPPLY-STEALER-001","A06:2021 Vulnerable Components","CWE-506","V14.2.1","PCI DSS 12.10"),e("SUPPLY-PLATFORMGATE-001","A06:2021 Vulnerable Components","CWE-829","V14.2.1","PCI DSS 6.3.3"),e("SUPPLY-SECHOLDER-001","A06:2021 Vulnerable Components","CWE-506","V14.2.1","PCI DSS 6.3.3"),e("SUPPLY-CAP-001","A06:2021 Vulnerable Components","CWE-829","V14.2.1","PCI DSS 6.3.3"),e("IAC-GHA-UNPINNED-001","A08:2021 Integrity Failures","CWE-494","V14.2.3","PCI DSS 6.3.3"),e("IAC-GHA-PRTARGET-001","A01:2021 Broken Access Control","CWE-269","V4.1.1","PCI DSS 7.2"),e("IAC-GHA-PERMS-001","A01:2021 Broken Access Control","CWE-250","V4.1.1","PCI DSS 7.2"),e("IAC-GHA-SECRETLOG-001","A09:2021 Security Logging Failures","CWE-532","V7.1.1","PCI DSS 3.2 / 10.2"),e("IAC-GHA-INJECT-001","A03:2021 Injection","CWE-94","V5.2.4","PCI DSS 6.2.4"),e("IAC-GHA-PRCHECKOUT-001","A01:2021 Broken Access Control","CWE-829","V4.1.1","PCI DSS 6.2.4"),e("DEPS-LICENSE-001","A06:2021 Vulnerable Components","CWE-1104","V14.2.1","PCI DSS 6.3.3"),e("IAC-TF-S3PUBLIC-001","A01:2021 Broken Access Control","CWE-284","V12.1.1","PCI DSS 1.3 / 3.2"),e("IAC-TF-SGOPEN-001","A05:2021 Security Misconfiguration","CWE-284","V1.4.1","PCI DSS 1.2 / 1.3"),e("IAC-TF-UNENCRYPTED-001","A02:2021 Cryptographic Failures","CWE-311","V6.2.1","PCI DSS 3.4 / 4.2"),e("IAC-K8S-PRIV-001","A05:2021 Security Misconfiguration","CWE-250","V14.1.3","PCI DSS 2.2"),e("IAC-COMPOSE-PRIV-001","A05:2021 Security Misconfiguration","CWE-250","V14.1.3","PCI DSS 2.2"),e("RASP-EGRESS-001","A10:2021 SSRF","CWE-918","V12.6.1","PCI DSS 1.3"),e("RASP-HONEY-001","A09:2021 Security Logging Failures","CWE-778","V7.1.1","PCI DSS 10.2 / 11.5"),e("RASP-FAIL-OPEN-001","A05:2021 Security Misconfiguration","CWE-755","V14.4.3","PCI DSS 6.4.3"),e("RUNTIME-SQLI-001","A03:2021 Injection","CWE-89","V5.3.4","PCI DSS 6.4.2"),e("RUNTIME-XSS-001","A03:2021 Injection","CWE-79","V5.3.3","PCI DSS 6.4.2"),e("RUNTIME-PATH-001","A01:2021 Broken Access Control","CWE-22","V12.3.1","PCI DSS 6.4.2"),e("RUNTIME-RATELIMIT-001","A07:2021 Identification Failures","CWE-307","V2.2.1","PCI DSS 8.3.4"),e("RUNTIME-BODY-001","A05:2021 Security Misconfiguration","CWE-400","V13.1.1","PCI DSS 6.2.4"),e("RUNTIME-ANOMALY-001","A04:2021 Insecure Design","CWE-754","V14.4.3","PCI DSS 10.2"),e("AI-IDOR-001","A01:2021 Broken Access Control","CWE-639","V4.1.1","PCI DSS 7.2"),e("AI-MASSASSIGN-001","A01:2021 Broken Access Control","CWE-915","V5.1.1","PCI DSS 6.2.4"),e("SAST-REDOS-001","A05:2021 Security Misconfiguration","CWE-1333","V5.1.5","PCI DSS 6.2.4"),e("SAST-DESER-001","A08:2021 Integrity Failures","CWE-502","V5.5.3","PCI DSS 6.2.4"),e("SAST-XXE-001","A05:2021 Security Misconfiguration","CWE-611","V5.5.2","PCI DSS 6.2.4"),e("SAST-UPLOAD-001","A04:2021 Insecure Design","CWE-434","V12.5.1","PCI DSS 6.2.4"),e("SAST-COOKIE-001","A05:2021 Security Misconfiguration","CWE-614/1004","V3.4.2","PCI DSS 6.2.4"),e("SAST-CSRF-001","A01:2021 Broken Access Control","CWE-352","V4.2.2","PCI DSS 6.4.3"),e("SAST-MASSASSIGN-001","A01:2021 Broken Access Control","CWE-915","V5.1.1","PCI DSS 6.2.4"),e("SAST-TIMING-001","A07:2021 Identification Failures","CWE-208","V2.10.3","PCI DSS 8.3"),e("SAST-HASH-001","A02:2021 Cryptographic Failures","CWE-916","V6.2.2","PCI DSS 8.3.1"),e("SAST-GQL-001","A04:2021 Insecure Design","CWE-770/200","V13.1.1","PCI DSS 6.2.4"),e("SAST-SKIP-001","A05:2021 Security Misconfiguration","CWE-693","V1.1.1","PCI DSS 6.2.4"),e("CONFIG-TRUSTPROXY-001","A07:2021 Identification Failures","CWE-290","V2.2.1","PCI DSS 8.3.4"),e("SECRET-BUNDLE-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2 / 8.3"),e("DLP-SECRET-001","A02:2021 Cryptographic Failures","CWE-200","V8.3.4","PCI DSS 3.2 / 8.3"),e("DLP-STACK-001","A04:2021 Insecure Design","CWE-209","V7.4.1","PCI DSS 6.2.4"),e("DLP-INTERNAL-001","A01:2021 Broken Access Control","CWE-200","V8.3.4","PCI DSS 1.3 / 2.2"),e("DLP-CARD-001","A02:2021 Cryptographic Failures","CWE-359","V8.3.4","PCI DSS 3.3 / 3.4"),e("DLP-PII-001","A01:2021 Broken Access Control","CWE-359","V8.3.4","PCI DSS 3.2 / 6.4.2"),e("MCP-001","A02:2021 Cryptographic Failures","CWE-798","V6.4.1","PCI DSS 3.2 / 8.3"),e("MCP-002","A08:2021 Integrity Failures","CWE-494","V14.2.3","PCI DSS 6.3.3"),e("MCP-003","A01:2021 Broken Access Control","CWE-250","V4.1.1","PCI DSS 7.2"),e("MCP-004","A03:2021 Injection","CWE-74","V5.3.3","PCI DSS 6.2.4"),e("MCP-005","A02:2021 Cryptographic Failures","CWE-319","V9.1.1","PCI DSS 4.2"),e("HOST-SSH-001","A06:2021 Vulnerable Components","CWE-364","V14.2.1","PCI DSS 6.3.3"),e("HOST-SSH-002","A05:2021 Security Misconfiguration","CWE-693","V14.4.3","PCI DSS 2.2"),e("HOST-SSH-003","A07:2021 Identification Failures","CWE-307","V7.1.1","PCI DSS 10.2 / 11.5"),e("DEPS-PHANTOM-001","A06:2021 Vulnerable Components","CWE-829","V14.2.1","PCI DSS 6.3.3"),e("DEPS-LOCKMISMATCH-001","A06:2021 Vulnerable Components","CWE-1104","V14.2.1","PCI DSS 6.3.3"),...J],Bn=new Map(Hn.map(t=>[t.ruleId,t]));function Kn(t){return Bn.get(t)}function gs(t,i="pci"){let s=t.map(r=>{let o=Kn(r.ruleId);return `${r.ruleId} ${r.severity??""} ${r.file??""} ${o?.pci??"unmapped"} ${o?.owasp??""} ${o?.cwe??""}`});return [`FullShield compliance mapping (${i})`,X,"","ruleId severity file pci owasp cwe",...s,"",X].join(`
|
|
2
|
+
`)}function ms(t){let i=new Set,s=/\b((?:SAST|SECRET|DEPS|CONFIG|EDGE|AI|LLM|SUPPLY|IAC|RASP|RUNTIME|DLP|MCP|HOST)(?:-[A-Z0-9]+)*-\d{3})\b/g;for(let r of t){let o;for(;(o=s.exec(r))!==null;)i.add(o[1]??"");}return [...i].sort()}export{X as COMPLIANCE_DISCLAIMER,Hn as RULE_MAP,ms as collectRuleIdsFromSources,Kn as mappingFor,gs as renderCompliance};
|
package/dist/iac.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {existsSync,statSync,readFileSync,readdirSync}from'fs';import {relative,join}from'path';import {createHash}from'crypto';function d(n,s,e){let r=(e??"").replace(/\s+/g," ").trim();return createHash("sha256").update(`${n}\0${s??""}\0${r}`).digest("hex").slice(0,16)}function o(n,s,e,r,t="high"){return {id:d(n,r,e),ruleId:n,module:"config",title:s,severity:t,confidence:"medium",file:r,message:e,remediation:"Pin actions by SHA, drop pull_request_target, tighten permissions, close 0.0.0.0/0, encrypt storage, drop privileged."}}function v(n){let s=[],e=n.split(/\r?\n/);for(let r=0;r<e.length;r+=1){let t=/^(\s*)(?:-\s+)?run:\s*(.*)$/.exec(e[r]??"");if(t===null)continue;let i=t[1]?.length??0,
|
|
2
|
-
`);}s.push(
|
|
1
|
+
import {existsSync,statSync,readFileSync,readdirSync}from'fs';import {relative,join}from'path';import {createHash}from'crypto';function d(n,s,e){let r=(e??"").replace(/\s+/g," ").trim();return createHash("sha256").update(`${n}\0${s??""}\0${r}`).digest("hex").slice(0,16)}function o(n,s,e,r,t="high"){return {id:d(n,r,e),ruleId:n,module:"config",title:s,severity:t,confidence:"medium",file:r,message:e,remediation:"Pin actions by SHA, drop pull_request_target, tighten permissions, close 0.0.0.0/0, encrypt storage, drop privileged."}}function v(n){let s=[],e=n.split(/\r?\n/);for(let r=0;r<e.length;r+=1){let t=/^(\s*)(?:-\s+)?run:\s*(.*)$/.exec(e[r]??"");if(t===null)continue;let i=t[1]?.length??0,l=t[2]??"";if(l==="|"||l===">"){let u=[];for(let a=r+1;a<e.length;a+=1){let c=e[a]??"";if(c.trim()===""){u.push(c);continue}if((c.match(/^\s*/)?.[0].length??0)<=i)break;u.push(c);}l=u.join(`
|
|
2
|
+
`);}s.push(l);}return s}function g(n,s=[]){if(!existsSync(n))return s;for(let e of readdirSync(n,{withFileTypes:true})){let r=join(n,e.name);if(e.isDirectory()){if(["node_modules","dist",".git"].includes(e.name))continue;g(r,s);}else e.isFile()&&s.push(r);}return s}function C(n,s={}){if(!s.experimental&&process.env.FULLSHIELD_EXPERIMENTAL_IAC!=="1")return [];if(!existsSync(n)||!statSync(n).isDirectory())return [];let e=[];for(let r of g(n)){let t=relative(n,r).replaceAll("\\","/"),i=readFileSync(r,"utf8");t.includes(".github/workflows/")&&/\.ya?ml$/.test(t)&&(/uses:\s+\S+@v\d/.test(i)&&!/uses:\s+\S+@[0-9a-f]{40}/.test(i)&&e.push(o("IAC-GHA-UNPINNED-001","GitHub Action not pinned to a commit SHA","uses: tag instead of SHA",t)),/pull_request_target/.test(i)&&e.push(o("IAC-GHA-PRTARGET-001","pull_request_target workflow","untrusted PR can run with base secrets",t,"critical")),/pull_request_target/.test(i)&&/actions\/checkout/.test(i)&&/github\.event\.pull_request/.test(i)&&e.push(o("IAC-GHA-PRCHECKOUT-001","pull_request_target checks out pull-request code","untrusted head can run with the base repository token",t,"critical")),v(i).some(l=>/\$\{\{\s*github\.event\./.test(l))&&e.push(o("IAC-GHA-INJECT-001","Workflow run step interpolates github.event","untrusted event text is passed to the shell",t,"critical")),(/permissions:\s*\n\s+contents:\s*write/.test(i)||/permissions:\s+write-all/.test(i))&&e.push(o("IAC-GHA-PERMS-001","Overly broad GitHub Actions permissions","write-all or contents: write",t)),/echo\s+\$\{\{\s*secrets\.|console\.(?:log|info|debug)\([^)]*secrets\./i.test(i)&&e.push(o("IAC-GHA-SECRETLOG-001","Secret written to workflow logs","echo or console of secrets.*",t,"critical"))),/\.tf$/.test(t)&&(/acl\s*=\s*"public-read"|block_public_acls\s*=\s*false/.test(i)&&e.push(o("IAC-TF-S3PUBLIC-001","Public S3 bucket","public-read or public ACLs enabled",t,"critical")),/0\.0\.0\.0\/0/.test(i)&&/22|3306|5432/.test(i)&&e.push(o("IAC-TF-SGOPEN-001","Security group open to the world on a data/admin port","0.0.0.0/0 on 22/3306/5432",t,"critical")),/encrypted\s*=\s*false/.test(i)&&e.push(o("IAC-TF-UNENCRYPTED-001","Unencrypted cloud storage","encrypted = false",t))),(/deployment\.ya?ml$|pod\.ya?ml$/.test(t)||t.includes("k8s/"))&&(/privileged:\s*true/.test(i)||/hostNetwork:\s*true/.test(i))&&e.push(o("IAC-K8S-PRIV-001","Privileged or hostNetwork Kubernetes pod","privileged/hostNetwork true",t,"critical")),/compose\.ya?ml$|docker-compose\.ya?ml$/.test(t)&&/privileged:\s*true/.test(i)&&e.push(o("IAC-COMPOSE-PRIV-001","Privileged docker-compose service","privileged: true",t,"critical"));}return e}export{C as scanIac};
|
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ declare const MODULE_NAMES: readonly ["deps", "secrets", "sast", "config"];
|
|
|
14
14
|
type ModuleName = (typeof MODULE_NAMES)[number];
|
|
15
15
|
type Confidence = 'low' | 'medium' | 'high';
|
|
16
16
|
/** Built-in `Finding.source` tags. Any other ingest tool name is stored as `sarif`. */
|
|
17
|
-
declare const FINDING_SOURCES: readonly ["deterministic", "ai", "user-rule", "npm-audit", "semgrep", "osv-scanner", "sarif"];
|
|
17
|
+
declare const FINDING_SOURCES: readonly ["deterministic", "ai", "user-rule", "npm-audit", "semgrep", "osv-scanner", "sarif", "rule"];
|
|
18
18
|
type FindingSource = (typeof FINDING_SOURCES)[number];
|
|
19
19
|
/** Why a finding was moved to `ScanResult.suppressed`. */
|
|
20
20
|
type SuppressedBy = 'types' | `model:${string}`;
|
|
@@ -55,7 +55,7 @@ interface Finding {
|
|
|
55
55
|
note: string;
|
|
56
56
|
}>;
|
|
57
57
|
/** Dependency reachability (Phase 13 / harden-3). */
|
|
58
|
-
reachability?: 'reachable' | 'imported-not-called' | 'reachable-via-dependency' | 'not-imported' | 'reachability-unknown' | 'symbol-reachable' | 'symbol-not-called';
|
|
58
|
+
reachability?: 'reachable' | 'imported-not-called' | 'reachable-via-dependency' | 'not-imported' | 'reachability-unknown' | 'symbol-reachable' | 'symbol-not-called' | 'vendored';
|
|
59
59
|
/** Lockfile path from an imported direct dependency, e.g. express > body-parser > qs. */
|
|
60
60
|
dependencyPath?: string[];
|
|
61
61
|
/** Every retained dependency path for this package+advisory (shortest first). */
|