๐งช Alchemies
โก Dynamic Recipe System
Define detection rules in YAML format instead of relying only on built-in hardcoded recipes. Create custom detection patterns with hot reload support and comprehensive validation.
๐ฏ Key Featuresโ
๐ Dynamic Loadingโ
Load recipes on-the-fly without system restart.
๐ฅ Hot Reloadโ
Update rules without restart - changes apply automatically.
๐ฆ Built-in Recipesโ
Pre-configured detection patterns shipped with Jibril.
โ Validationโ
Automatic rule verification ensures correctness.
๐ฏ Multiple Typesโ
File access, execution, and network peer detections.
๐ก Tip: Check out Jibril's public recipes repository at https://github.com/garnet-org/jibril-recipes for community-contributed detection rules.
๐ Documentationโ
Enable Alchemies
Configuration and setup guide
Create Recipes
YAML recipe structure and examples
Recipes Reference
Complete field reference guide
Built-in Recipes
Pre-configured detection patterns
๐๏ธ Architectureโ
The alchemies system consists of several key components:
- Alchemy - The YAML representation of a detection recipe
- Recipe - The runtime detection rule generated from an alchemy
- Monitor - Watches external directories for YAML file changes
- Validation - Ensures recipe configurations are correct
๐ Monitoring and Hot Reloadโ
When using external recipe directories with the path option, the alchemies system automatically:
- โ Monitors the directory for changes
- โ Loads new YAML files when added
- โ Reloads modified files
- โ Removes recipes when files are deleted
- โ Validates all changes before applying
โ Best Practicesโ
๐ Use Descriptive Names
Recipe kind and name should clearly indicate what they detect.
๐ฏ Set Appropriate Limits
Use times entries to reduce false positives.
๐งช Test Thoroughly
Start with enabled: false and test before enabling.
๐ Document Well
Include links to documentation explaining detection logic.
๐ Version Control
Track recipe files in git for change management.
๐ Organize by Type
Group similar recipes in subdirectories.
๐ง Common Issuesโ
Recipe Not Loadingโ
- Check YAML syntax
- Verify all required fields are present
- Look for validation errors in logs
Too Many Alertsโ
- Adjust
timeslimits - Add
arbitraryfilters - Use more specific patterns
Missing Detectionsโ
- Verify
enabled: true - Check file/network patterns match
- Ensure correct
file_actionsare specified
Debug Tipsโ
- Set
log-level: debuginconfig.yaml - Check logs for
activatinganddeactivatingmessages - Validation errors appear as
ignoring errored recipe