{"id":15104932,"url":"https://github.com/blackstork-io/fabric","last_synced_at":"2025-10-23T00:30:42.933Z","repository":{"id":222831303,"uuid":"733873165","full_name":"blackstork-io/fabric","owner":"blackstork-io","description":"An open-source command-line tool for cybersecurity reporting automation and a configuration language for reusable templates. Reporting-as-Code","archived":false,"fork":false,"pushed_at":"2025-01-24T11:16:07.000Z","size":3512,"stargazers_count":44,"open_issues_count":22,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-24T12:23:13.914Z","etag":null,"topics":["compliance","compliance-reporting","cti","cybersecurity","pentesting","reporting","secops","security-reporting"],"latest_commit_sha":null,"homepage":"https://blackstork.io/fabric/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blackstork-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-20T10:22:35.000Z","updated_at":"2025-01-24T11:16:08.000Z","dependencies_parsed_at":"2024-06-27T22:11:28.904Z","dependency_job_id":"0cc41609-28c4-463d-8de3-ac30ba41de65","html_url":"https://github.com/blackstork-io/fabric","commit_stats":{"total_commits":147,"total_committers":7,"mean_commits":21.0,"dds":0.6666666666666667,"last_synced_commit":"55d1a32c8c89bb6181226d6e1136ddfcc259ba16"},"previous_names":["blackstork-io/fabric"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackstork-io%2Ffabric","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackstork-io%2Ffabric/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackstork-io%2Ffabric/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackstork-io%2Ffabric/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blackstork-io","download_url":"https://codeload.github.com/blackstork-io/fabric/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237754152,"owners_count":19360654,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compliance","compliance-reporting","cti","cybersecurity","pentesting","reporting","secops","security-reporting"],"created_at":"2024-09-25T20:04:20.357Z","updated_at":"2025-10-23T00:30:42.323Z","avatar_url":"https://github.com/blackstork-io.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\".github/fabric.svg\" alt=\"Fabric logo\" width=\"250px\"/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n[Releases](https://github.com/blackstork-io/fabric/releases) | [Docs](https://blackstork.io/fabric/docs/) | [Slack](https://fabric-community.slack.com/)\n\n![GitHub Repository stars](https://img.shields.io/github/stars/blackstork-io/fabric?style=social)\n![GitHub Release](https://img.shields.io/github/v/release/blackstork-io/fabric)\n[![Join Slack](https://img.shields.io/badge/slack-join-8F87F7)](https://fabric-community.slack.com/)\n\n\u003c/div\u003e\n\n**Fabric** is an open-source Command-Line Interface (CLI) tool with a configuration language designed to encode and automate content generation for cybersecurity and compliance.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\".github/diagram.png\" alt=\"The diagram illustrates a Fabric template and the corresponding rendered document\" width=\"700px\"/\u003e\n\u003c/div\u003e\n\nFabric generates documents from templates written in [Fabric Configuration Language](https://blackstork.io/fabric/docs/language/) (FCL). The templates are modular and reusable. By including data requirements and content structure definitions in the templates, the template authors can significantly reduce the manual effort of data consolidation and document build-up.\n\nSee [Tutorial](https://blackstork.io/fabric/docs/tutorial/) for an introduction to FCL and Fabric.\n\nFabric templates can include static content, dynamic templates (powered by Go templates) or rely on\nGenAI for content generation (with [`openai`](https://blackstork.io/fabric/docs/plugins/openai/) plugin, for example).\n\n\u003e [!NOTE]  \n\u003e Fabric is currently in the early stages of development, and there may be some issues. If you have any suggestions, ideas, or bug reports, please share them in [Fabric Community slack](https://fabric-community.slack.com/).\n\n## Plugins\n\nFabric supports plugins that offer integrations with various platforms, data stores, and security solutions, including [JSON/CSV files](https://blackstork.io/fabric/docs/plugins/builtin/), [Elastic](https://blackstork.io/fabric/docs/plugins/elastic/), [OpenCTI](https://blackstork.io/fabric/docs/plugins/opencti/), [Splunk Cloud](https://blackstork.io/fabric/docs/plugins/splunk/), [GitHub](https://blackstork.io/fabric/docs/plugins/github/), and more.\n\nYou can find the full list of supported plugins in [the documentation](https://blackstork.io/fabric/docs/plugins/).\n\n## Templates\n\nYou can find open-source templates for CTI, pentesting and SecOps use cases in [Fabric Templates](https://github.com/blackstork-io/fabric-templates) repository.\n\n## Installing Fabric\n\n### Homebrew\n\nTo install Fabric on macOS with [Homebrew](https://brew.sh/), run these commands:\n\n```bash\n# Install Fabric from the tap\nbrew install blackstork-io/tools/fabric\n\n# Verify the version installed\nfabric --version\n```\n\nThe tap is updated automatically with every release.\n\n### Docker\n\nThe Docker images for Fabric are hosted in [Docker Hub](https://hub.docker.com/r/blackstorkio/fabric/tags).\n\nTo run Fabric as a Docker image use a name `blackstorkio/fabric`:\n\n```bash\ndocker run blackstorkio/fabric\n```\n\n### GitHub releases\n\nFabric binaries for Windows, macOS, and Linux are available at [\"Releases\"](https://github.com/blackstork-io/fabric/releases) page in the project's GitHub.\n\nTo install Fabric:\n\n- **download a release archive**: choose and download Fabric release archive appropriate for your operating system (Windows, macOS/Darwin, or Linux) and architecture from [\"Releases\"](https://github.com/blackstork-io/fabric/releases) page;\n- **unpack**: extract the contents of the downloaded release archive into a preferred directory;\n\nFor example, the steps for macOS (arm64) are:\n\n```bash\n# Create a folder\nmkdir fabric-bin\n\n# Download the latest release of Fabric\nwget https://github.com/blackstork-io/fabric/releases/latest/download/fabric_darwin_arm64.tar.gz -O ./fabric_darwin_arm64.tar.gz\n\n# Unpack Fabric release archive into `fabric-bin` folder\ntar -xvzf ./fabric_darwin_arm64.tar.gz -C ./fabric-bin\n\n# Verify that `fabric` runs\n./fabric-bin/fabric --help\n```\n\n## Usage\n\nThe core `fabric` commands are:\n\n- `install` — install all plugins listed as required in the configuration (see\n  [Configuration](https://blackstork.io/fabric/docs/language/configs/)).\n- `data` — executes the data block and prints out prettified JSON to standard output (see [Data\n  blocks](https://blackstork.io/fabric/docs/language/data-blocks/)).\n- `render` — renders a document template and prints out the result to standard output or a file.\n\nFor more details, run `fabric --help`:\n\n```text\n$ ./fabric --help\nUsage:\n  fabric [command]\n\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  data        Execute a single data block\n  help        Help about any command\n  install     Install plugins\n  render      Render the document\n\nFlags:\n      --color               enables colorizing the logs and diagnostics (if supported by the terminal and log format) (default true)\n  -h, --help                help for fabric\n      --log-format string   format of the logs (plain or json) (default \"plain\")\n      --log-level string    logging level ('debug', 'info', 'warn', 'error') (default \"info\")\n      --source-dir string   a path to a directory with *.fabric files (default \".\")\n  -v, --verbose             a shortcut to --log-level debug\n      --version             version for fabric\n\nUse \"fabric [command] --help\" for more information about a command.\n```\n\n## Documentation\n\nVisit [https://blackstork.io/fabric/docs/](https://blackstork.io/fabric/docs/) to see full documentation for Fabric.\n\n## Security\n\nIf you suspect any vulnerabilities within Fabric, please report them using GitHub's [security\nadvisory reporting](https://github.com/blackstork-io/fabric/security/advisories/new). We treat every\nreport with the utmost seriousness and commit to conducting a thorough investigation.\n\nWe kindly request that you task with us before making any public disclosures. This precautionary\nstep ensures that no excessive information is shared prematurely, allowing us to prepare a patch.\nIt also gives users enough time to upgrade.\n\n## License\n\nFabric is licensed under Apache-2.0 license. See the [LICENSE](LICENSE) file for the details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblackstork-io%2Ffabric","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblackstork-io%2Ffabric","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblackstork-io%2Ffabric/lists"}