frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Jibril Runtime Security v2.4: Reactions to Detections

1•rafaeldavidtin•18h ago
# Jibril Runtime Security v2.4

## Programmable JavaScript Reactions to OS Security Events

We've just released Jibril v2.4 with a new "Reactions" system that fundamentally changes how runtime security works. Instead of just detecting and alerting, you can now write JavaScript code that automatically executes in response to real-time OS security events.

## How it works

Jibril monitors the OS (file access, process execution, network activity, specific kernel logic) and when security events match detection rules, after being printed to enabled printers, JavaScript reactions are triggered. They run in isolated V8 contexts with direct access to system operations:

```javascript function process(data) { // Multi-stage response to crypto miner detection if (data.file.basename.match(/^(xmrig|ethminer|cgminer)$/)) { Error("Crypto miner detected: " + data.process.cmd);

        // Immediate containment
        KillCurrent(); // Terminate process
        NetBlockIp(); // Block network

        // Evidence collection
        let dir = CreateTempDir("miner-incident-*");
        let evidence = {
            timestamp: new Date().toISOString(),
            process_ancestry: data.base.background.ancestry,
            command_line: data.process.cmd
        };
        WriteFile(dir + "/evidence.json", JSON.stringify(evidence));

        // Track incidents
        let count = parseInt(DataGet("miners_terminated") || "0") + 1;
        DataSet("miners_terminated", String(count));
        Info("Miner #" + count + " terminated and blocked");
    }
} ```

## Technical capabilities

Jibril provides a comprehensive API with 25+ helper functions:

- Process management: `KillCurrent()`, `KillParent()`, `KillProcess(pid)` with safety controls - Network policy: `NetBlockIp()`, `NetBlockDomain()`, `NetBlockIpTimer()` for real-time blocking - File operations: `ReadFile()`, `WriteFile()`, `CreateTempDir()` with secure permissions - Data persistence: Key-value store surviving across executions - Emergency controls: `PowerOff()`, `Panic()` for critical threats

Each reaction runs in isolated V8 context with error handling, executes in milliseconds, handles concurrent execution automatically, and provides audit trails.

Check examples: https://github.com/garnet-org/jibril-wahy/tree/main/jibril/tests

## Beyond simple automation

The programmability enables sophisticated logic:

- Graduated responses: Start with logging, escalate to blocking, terminate as last resort - Context-aware decisions: Block external IPs but whitelist internal infrastructure - Cross-event correlation: Track patterns across multiple security events - Custom evidence collection: Automatically gather exactly the forensic data you need

Reactions are defined in YAML alongside detection rules, so response logic stays coupled with detection logic. Start conservative and gradually increase automation.

## Why this approach matters

Traditional tools detect threats but still require human analysts to respond. This creates a gap where threats continue running while humans investigate. By making response programmable and immediate, you can stop threats in their tracks while maintaining human oversight.

The isolation model means reactions can safely perform powerful operations (including system shutdown) without risking the host system if JavaScript code has bugs.

## Full documentation:

- https://jibril.garnet.ai/customization/reactions - https://jibril.garnet.ai/customization/alchemies - https://jibril.garnet.ai/customization/attenuator

Have fun!

The app I never launched

https://www.asad.pw/the-app-i-never-launched/
1•asaddhamani•1m ago•0 comments

Supply-chain attacks on open source software are getting out of hand

https://arstechnica.com/security/2025/07/open-source-repositories-are-seeing-a-rash-of-supply-chain-attacks/
1•chha•3m ago•0 comments

Ask HN - circumvent the UK's oppressive Online Safety Bill?

1•jimbobthemighty•3m ago•0 comments

Mini-Swe-Agent

https://github.com/SWE-agent/mini-swe-agent
2•handfuloflight•19m ago•0 comments

Small Wars Manual

https://en.wikipedia.org/wiki/Small_Wars_Manual
2•Michelangelo11•23m ago•0 comments

Nginx / Nginx Plus High Performance Cookbook (2021) [pdf]

https://www.f5.com/content/dam/f5/corp/global/pdf/ebooks/NGINX_Cookbook-final.pdf
3•superjose•26m ago•1 comments

Vite plugin to break Tailwind CSS classes

https://github.com/borela-tech/multiline-tailwindcss/tree/main/packages/vite-plugin-multiline-tailwindcss
1•borela•30m ago•0 comments

Locality-Sensitive Hashing

https://en.wikipedia.org/wiki/Locality-sensitive_hashing
3•Bluestein•38m ago•0 comments

Crackable Worlds

https://domofutu.substack.com/p/crackable-worlds
1•domofutu•39m ago•0 comments

Blending education and artificial intelligence technology

https://ikignosis.github.io/
1•joaompinto•39m ago•0 comments

UK condemns Hong Kong cash offer for help in arresting activists

https://www.bbc.com/news/articles/cdx069we39xo
3•testrun•41m ago•0 comments

Spotify exodus over arms industry link

https://www.theguardian.com/music/2025/jul/26/king-gizzard-and-the-lizard-wizard-join-spotify-exodus-over-arms-industry-link-ntwnfb
1•torrance•42m ago•0 comments

PostgreSQL streaming replication characteristics on UNLOGGED tables

https://ivdl.co.za/2024/11/04/what-happens-if-you-enable-logging-on-an-unlogged-postgresql-table-with-streaming-replication/
1•Ianvdl•44m ago•0 comments

Show HN: Show HN: YouTube Controls Fix – Restore the Player Layout

https://greasyfork.org/en/scripts/543679-youtube-repositions-the-volume-button
1•ArcticLangoor•44m ago•0 comments

The Steely Dan Dictionary: 30th June 2025 – 25th anniversary

https://steelydandictionary.com
1•tempodox•45m ago•0 comments

The Case for Open Source Investment in Europe's Digital Sovereignty Push

https://www.techpolicy.press/the-case-for-open-source-investment-in-europes-digital-sovereignty-push/
2•jruohonen•51m ago•0 comments

Canada First (1930)

https://time.com/archive/6745625/canada-canada-first/
1•thomassmith65•52m ago•0 comments

Automating Oral Argument

https://adamunikowsky.substack.com/p/automating-oral-argument
1•gone35•52m ago•0 comments

Information Security Protection for EV Charging Stations

https://sinoevse.com/information-security-protection-for-ev-charging-stations/
1•infotechme•54m ago•1 comments

Show HN: I'm trying to make it easier to run local LLMs directly in the browser

https://github.com/jakobhoeg/built-in-ai
1•jakobhoeg•54m ago•0 comments

Terence Tao: Applying Red Team / Blue Team Duality to AI Workflows

https://mathstodon.xyz/@tao/114915604830689046
2•bertman•56m ago•0 comments

Add AI coding assistant configuration to Linux kernel

https://lore.kernel.org/workflows/20250725175358.1989323-1-sashal@kernel.org/
1•watusername•56m ago•0 comments

Ambigrammia: Between Creation and Discovery (Hofstadter, 2025)

https://yalebooks.yale.edu/book/9780300275438/ambigrammia/
2•lorenzuru•58m ago•1 comments

Heredocs Can Make Your Bash Scripts Self-Documenting

https://holdtherobot.com/blog/heredocs-can-make-your-bash-scripts-self-documenting/
2•chmaynard•1h ago•0 comments

Neovide: GUI for Neovim with Cool Features

https://neovide.dev/features.html
2•AbuAssar•1h ago•0 comments

The Thermodynamics of Trading

https://signalsandthreads.com/the-thermodynamics-of-trading/
3•tosh•1h ago•1 comments

Next edit prediction in Neovim (magenta.nvim)

https://github.com/dlants/magenta.nvim/pull/162
1•anonymid•1h ago•2 comments

Show HN: Auto Favicon MCP Server

https://github.com/dh1011/auto-favicon-mcp
7•dh1011•1h ago•0 comments

When JavaScript Decided My Day Starts at 9AM

https://senhongo.com/blog/when-javaScript-decided-my-day-starts-at-9am
3•SenHeng•1h ago•0 comments

Kind of Confusing

https://aeon.co/essays/how-jazz-and-dolphins-can-help-explain-consciousness
1•jruohonen•1h ago•0 comments