{"id":"github.com/fabric","name":"Fabric","commands":["fabric"],"examples":[{"run":"fabric --setup","does":"Configure AI providers, API keys and default model"},{"run":"fabric --listpatterns","does":"List all available prompt patterns"},{"run":"fabric -u <url> -p analyze_claims","does":"Fetch a web page and run a pattern on it"},{"run":"fabric -y \"<youtube-url>\" --stream --pattern extract_wisdom","does":"Pull a YouTube transcript and extract key insights"}],"description":"Open source framework and CLI that applies a library of crowdsourced AI prompt patterns to text.","homepage":"https://github.com/danielmiessler/Fabric","repository":"https://github.com/danielmiessler/Fabric","license":"MIT","agentic":false,"latest_version":"1.4.562","vendor":"Daniel Miessler","install":"curl -fsSL https://raw.githubusercontent.com/danielmiessler/fabric/main/scripts/installer/install.sh | bash","publisher":"third-party","w3bs":"w3bs install github.com/fabric","scan":{"status":"passed","scanner":"threatcrush 0.13.30","filesScanned":896,"summary":{"critical":0,"high":2,"medium":11,"low":6,"info":0},"malware":0,"truncated":false,"version":"1.4.562","sources":{"installer":"https://raw.githubusercontent.com/danielmiessler/fabric/main/scripts/installer/install.sh","installerSha256":"5768b5047ccab0792c644964b2ac9dbd67399d35ad9f30ce4d4ec4f3fc279b9b","repository":"github.com/danielmiessler/Fabric","commit":"00a653f01ce5a2cf939aaebb569c81fa7e374c01"},"notes":[],"scannedAt":"2026-11-02T22:58:39.073Z","findings":[{"ruleId":"sh-eval-expansion","title":"eval on an expanded string","severity":"high","category":"code","cwe":"CWE-78","file":"source/completions/setup-completions.sh","line":53,"malware":false},{"ruleId":"secret-generic-credential","title":"Hardcoded Credential","severity":"high","category":"secret","cwe":"CWE-798","file":"source/web/README.md","line":113,"malware":false},{"ruleId":"sql-string-concatenation","title":"SQL assembled by concatenation or interpolation","severity":"medium","category":"code","cwe":"CWE-89","file":"source/cmd/generate_changelog/internal/cache/cache.go","line":272,"malware":false},{"ruleId":"secret-jwt","title":"JSON Web Token","severity":"medium","category":"secret","cwe":"CWE-798","file":"source/data/patterns/write_nuclei_template_rule/system.md","line":414,"malware":false},{"ruleId":"go-shell-exec-command","title":"exec.Command invoking a shell","severity":"medium","category":"code","cwe":"CWE-78","file":"source/internal/plugins/template/extension_executor.go","line":52,"malware":false},{"ruleId":"py-stack-trace-returned","title":"stack trace returned to the caller","severity":"medium","category":"code","cwe":"CWE-209","file":"source/scripts/python_ui/streamlit.py","line":161,"malware":false},{"ruleId":"py-stack-trace-returned","title":"stack trace returned to the caller","severity":"medium","category":"code","cwe":"CWE-209","file":"source/scripts/python_ui/streamlit.py","line":492,"malware":false},{"ruleId":"py-stack-trace-returned","title":"stack trace returned to the caller","severity":"medium","category":"code","cwe":"CWE-209","file":"source/scripts/python_ui/streamlit.py","line":940,"malware":false},{"ruleId":"py-stack-trace-returned","title":"stack trace returned to the caller","severity":"medium","category":"code","cwe":"CWE-209","file":"source/scripts/python_ui/streamlit.py","line":1277,"malware":false},{"ruleId":"py-stack-trace-returned","title":"stack trace returned to the caller","severity":"medium","category":"code","cwe":"CWE-209","file":"source/scripts/python_ui/streamlit.py","line":1316,"malware":false},{"ruleId":"py-stack-trace-returned","title":"stack trace returned to the caller","severity":"medium","category":"code","cwe":"CWE-209","file":"source/scripts/python_ui/streamlit.py","line":1350,"malware":false},{"ruleId":"py-stack-trace-returned","title":"stack trace returned to the caller","severity":"medium","category":"code","cwe":"CWE-209","file":"source/scripts/python_ui/streamlit.py","line":1374,"malware":false},{"ruleId":"js-unescaped-html-sink","title":"unescaped HTML rendering","severity":"medium","category":"code","cwe":"CWE-79","file":"source/web/src/lib/services/transcriptService.ts","line":11,"malware":false},{"ruleId":"secret-generic-credential","title":"Hardcoded Credential","severity":"low","category":"secret","cwe":"CWE-798","file":"source/docs/DigitalOcean-Agents-Setup.md","line":26,"malware":false},{"ruleId":"secret-aws-access-key","title":"AWS Access Key","severity":"low","category":"secret","cwe":"CWE-798","file":"source/internal/plugins/ai/bedrock/bedrock_test.go","line":88,"malware":false},{"ruleId":"secret-aws-access-key","title":"AWS Access Key","severity":"low","category":"secret","cwe":"CWE-798","file":"source/internal/plugins/ai/bedrock/bedrock_test.go","line":115,"malware":false},{"ruleId":"secret-generic-credential","title":"Hardcoded Credential","severity":"low","category":"secret","cwe":"CWE-798","file":"source/internal/plugins/ai/bedrock/bedrock_test.go","line":178,"malware":false},{"ruleId":"secret-openai-key","title":"OpenAI API Key","severity":"low","category":"secret","cwe":"CWE-798","file":"source/internal/server/mask_test.go","line":12,"malware":false},{"ruleId":"secret-generic-api-key","title":"Generic API Key","severity":"low","category":"secret","cwe":"CWE-798","file":"source/internal/server/recovery_test.go","line":20,"malware":false}]}}