mrkeyoor.com_
Tue 01 Sept 17:44 UTC
AI Toolsevaluationupdated 25 Aug 2026

biosecurity-agent review

Biosecurity Agent is a local TypeScript application that collects evidence about a person, animal, plant, product, place, or organization and turns it into a persistent map of possible biosecurity risks. A terminal controls sources, watchers, simulations, and defensive suggestions, while an optional read-only viewer displays the resulting entities and relationships.

-1stars / 7d
Verdict

Our Biosecurity Agent run installed 576 packages, used 686 MB, and passed all 83 tests, so version 0.1.2 is more than a terminal mockup. Use it as an analyst-supervised research harness for defensive evidence work, not as a diagnosis or autonomous warning system. Its safety code deserves attention; its real-world predictive value remains unproven by the repository.

We ran it

Lab card: what happened when we ran biosecurity-agentScreenshot of biosecurity-agent (github.com/Forsy-AI/biosecurity-agent)
Install✓ · 67s576 packages · 686 MB
Build✓ · 12s
Tests✓ · 41s83 passed · 0 failed of 83 (vitest)
Repo77 files~11,924 lines of source · 2.2 MB · 0 CI workflows · Dockerfile · tests dir

Answers from our run

Does biosecurity-agent build from source?

Dependencies installed in 67 seconds (576 packages), and the build succeeded in 12 seconds. We cloned commit 13240f2 into a clean Debian container with 3 CPUs and no project-specific setup.

Do biosecurity-agent's tests pass?

Yes: 83 of 83 passed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Who should not use biosecurity-agent?

Clinicians or patients seeking diagnosis or treatment: the README explicitly says the project is not for clinical diagnosis, and the safety code rejects some diagnostic and dosage language.

What are the alternatives to biosecurity-agent?

SORMAS, EpiNow2, SpiderFoot. Our Biosecurity Agent run installed 576 packages, used 686 MB, and passed all 83 tests, so version 0.

Setup3/5One npx entry, followed by provider, source, and permission setup
Docs3/5Clear concept and quick start, sparse operational detail
Community2/5514 stars and a current push, but no releases or issue history
Maturity2/583 passing tests cannot validate real biosecurity predictions

Who it’s for

Biosecurity researchers prototyping target-centered evidence collection with human review.
Technical teams that want local persistence and a choice of hosted or local language models.
Analysts who need observed, inferred, and simulated claims labeled separately.
Developers evaluating prompt-injection controls, source isolation, and defensive-use checks in an agent workflow.

Who it’s NOT for

Clinicians or patients seeking diagnosis or treatment: the README explicitly says the project is not for clinical diagnosis, and the safety code rejects some diagnostic and dosage language.
Laboratories seeking pathogen design help: the stated purpose is defensive biosecurity, and requests involving increased virulence, transmissibility, synthesis, or weaponization are rejected.
Organizations needing validated outbreak prediction: the repository supplies software tests, not evidence that its simulated future paths predict real biological events.
Nontechnical users expecting a configured service from one command: useful runs need a model provider or local Ollama, chosen sources, permissions, and careful review of claims.
Teams requiring a settled API and release policy: the package identifies itself as version 0.1.2, the README says v0.1, and GitHub has no release record.

Setup reality

Our pnpm install succeeded in 67 seconds, adding 576 packages and occupying 686 MB. The build completed in 12 seconds, and Vitest passed all 83 tests in 41 seconds. The checkout at commit 13240f2 held 77 files, about 11,924 source lines, and a Dockerfile plus Compose configuration.

The npx entry is short, but a useful run needs an AI provider. Presets cover hosted APIs, a native Codex adapter, Claude, local Ollama, and custom endpoints. Public retrieval is disabled by default through BIOSECURITY_ALLOW_NETWORK=false; optional search uses SearXNG. Persistent data, server keys, model keys, and alert destinations need local configuration.

Compose binds port 7331 to localhost and starts offline unless settings change. Operators then own source permissions, API costs, evidence review, model behavior, and safe exposure of the viewer or server. The tests show the code paths worked in our sandbox; they do not validate epidemiological accuracy or justify unattended protective action.

Version 0.1.2 builds a persistent evidence world

Biosecurity Agent begins with a target described in ordinary language. The target can be a person, animal, plant, product, facility, place, organization, supply chain, or connected group. The runtime collects source artifacts, extracts claims, links entities, and saves a world that returns after restart. The terminal remains the controller. A separate viewer displays maps, evidence, relationships, and simulations without editing the saved state.

The repository is compact enough to inspect. Our checkout at commit 13240f2 contained 77 files and about 11,924 source lines in 2.2 MB. It is a pnpm workspace with a CLI, Fastify server, React viewer, shared contracts, provider adapters, and a safety package. A Dockerfile and Compose file are included. The npm package declares version 0.1.2, while the README's title still says v0.1, a fair sign that the public interface is young.

Observed, inferred, and simulated claims stay separate in code

The product's most responsible design choice is its claim labeling. Evidence gathered from sources should remain distinct from model inference and from a projected future path. Structured schemas describe targets, artifacts, claims, world snapshots, and simulation plans. Agent prompts instruct models to use supplied evidence, avoid inventing observations, and return schema-bound JSON. That makes model output easier to inspect than a long conversational answer whose sources and confidence have been blended together.

The 83 passing Vitest cases cover unit, integration, and safety areas in the measured suite. Filenames show attention to provider adapters, public-source boundaries, live tracking, OSINT chains, notifications, server behavior, and guard rules. This is a better testing shape than a single happy-path demo. It still evaluates software behavior against fixtures. No test count can tell us whether a 14-day simulated path matches a later outbreak or whether a suggested protection reduces risk.

Network access starts disabled and source text is treated as hostile

The example environment sets BIOSECURITY_ALLOW_NETWORK=false, and Compose starts the application in offline mode. Remote URL validation blocks credentials in URLs and rejects private or local network addresses unless an operator permits them. HTML retrieval removes scripts, hidden elements, frames, and similar content. Text matching prompt-injection patterns is quarantined, then wrapped as untrusted source material before an agent sees it. These controls address common agent retrieval failures in specific code.

Limits are also concrete. The safety package caps source text at 5 MB, uploads at 20 MB, and redirects at 3. Accepted upload extensions cover documents, text, structured data, and common images. File names are sanitized before writing. Secrets are redacted from errors and nested values when their keys resemble tokens or passwords. Our build completed in 12 seconds, which confirms this code compiled in the measured environment; it does not prove every adversarial encoding or redirect chain is caught.

Biological misuse gets a separate filter. Requests matching pathogen optimization, increased virulence or transmissibility, stepwise synthesis, cultivation, weaponization, or certain gene-editing patterns are rejected. Output checks also block unsupported diagnosis and dosage language. These are useful safeguards with necessarily limited pattern coverage. A determined user can phrase dangerous intent many ways, so deployment policy, model-provider controls, logs, and trained human oversight still carry part of the safety burden.

What happened when we ran it

Our run at commit 13240f2 installed 576 packages in 67 seconds and used 686 MB on disk. The project built in 12 seconds. Vitest completed in 41 seconds with 83 passed and 0 failed. The fresh Node 22 container had 3 CPUs, 8 GB of RAM, no secrets, and no privileged access. Installation, compilation, and the supplied test suite all completed successfully.

The dependency footprint is substantial for a 2.2 MB checkout because it includes a server, browser viewer, Playwright, model SDKs, parsing libraries, SQLite bindings, and map components. The repository had no CI workflow files in our checkout, even though it had a tests directory and working tests. That means contributors can run a meaningful local suite, while GitHub itself showed no checked-in workflow automatically enforcing the same 83-test result on every change.

The one-command start still needs models and sources

npx @forsy/biosecurity-agent is an inviting entry point, and a deterministic mock adapter can exercise an offline fixture. Useful analysis needs more. Provider presets include Codex, Claude, OpenAI, Gemini, OpenRouter, Groq, Together, DeepSeek, xAI, Fireworks, Ollama, and generic endpoints. Hosted choices require server-side keys. Ollama requires a reachable local service and model. Network retrieval is a separate permission, with optional SearXNG available through Compose.

Every added source changes the trust and cost model. Public pages may contain hostile instructions. Private files may identify people or reveal sensitive operational details. Model calls can send structured evidence outside the local machine even though Forsy says data is not uploaded to its own service by default. The 686 MB installed footprint is easy to budget; permissions, lawful collection, retention, and review time are harder. Teams should begin with synthetic targets and the mock adapter before enabling live sources.

A fresh push and zero issues are too little history for autonomy

GitHub showed 514 stars, 0 open issues or pull requests, and a push on August 25, 2026. There was no GitHub release. A zero count in a new repository does not demonstrate defect-free operation, especially when the application touches safety-sensitive interpretation. Apache-2.0 is friendly to inspection and modification, and the seed dataset offers a starting point for experiments. Neither substitutes for external validation, documented evaluation sets, or incident-response guidance.

Biosecurity Agent is best judged as an early analyst tool. Its 83 passing tests, persisted state, structured claims, network defaults, and defensive filters make it credible software. The project has not supplied evidence that a simulation predicts a biological event, and the README explicitly rules out clinical diagnosis and pathogen engineering. Keep a qualified person between its output and any consequential alert, treatment, travel, animal-care, or facility decision.

Alternatives

ProjectWhat it isPick it when
SORMASA full outbreak surveillance and response system for public-health operations.pick this instead when case management, contact tracing, and agency workflows matter more than an AI evidence agent.
EpiNow2An R package for estimating current infections and changing transmission from case data.pick this instead when you need a documented epidemiological model with explicit statistical inputs.
SpiderFoot gh↗A general OSINT automation platform for collecting and linking public data about targets.pick this instead when the investigation is general threat intelligence rather than biological risk.

What people are saying

  1. [velocity-scout] Forsy-AI/biosecurity-agent

Sources

  1. Biosecurity Agent README
  2. Biosecurity Agent repository
  3. Package configuration
  4. Safety implementation

More ai tools reviews

claudian · SkillSpector · robin · mjlab · MoGe · awesome-design-md · the whole board →