Metal Mantra / AGENT INTELLIGENCEPublic evidence reportAUTOMATED SIGNAL. NOT CERTIFICATION.
PUBLIC REPORT · ADDED BY METAL MANTRA / AGENT SIGNAL v0.2

serena.

Scanned repository says: A powerful MCP toolkit for coding, providing semantic retrieval and editing capabilities - the IDE for your agent

Metal Mantra scanned this public repository on its own initiative; the maintainer did not submit it. Maintainers: scan the repository yourself to take this report over, or contact us.

Inspect GitHub source

30.1k starsOtherpushed 2d ago

0community interest

Votes show community interest, not safety. They never change this score.

AUTOMATED SIGNAL62/100CCCNot security certification
START HERE

Critical findings need attention.

Critical finding · details withheld for 30 days

Inspect the findings
WHAT THIS DOES NOT ESTABLISH

Runtime safety, real-world agent capability, fitness for your use case or independent certification.

Scan scope200 / 206Partial eligible-file selection · not the entire repository
Recorded findings14Heuristic matches requiring human review
SnapshotOct 12, 2026UTC · engine 0.4.0
DNS at scan timeUnverifiedDomain control is not security certification
01 / KNOW THE REPOSITORY

What the source
actually tells us.

Structured, cited information from the scanned archive. Repository-authored claims are labeled and never treated as verified capabilities.

INSPECTED SOURCE200 / 206Partial selection
READMEReadRepository-authored information
MANIFESTS2LICENSE, pyproject.toml

Who it is for

  • Stated purpose · manifest declares · unreviewed

    A powerful MCP toolkit for coding, providing semantic retrieval and editing capabilities - the IDE for your agent

    pyproject.toml:8

What it can do

  • Stated capability · repository says · unreviewed

    Serena provides a wide range of tools for efficient code retrieval, editing and refactoring, as well as

    README.md:128

What adoption takes

  • Stated prerequisite · manifest declares · unreviewed

    Manifest declares Python >=3.11, <3.15 as a requirement.

    pyproject.toml:11
  • Declared dependency · manifest declares · unreviewed

    Declares a dependency on requests.

    pyproject.toml:21
  • Declared dependency · manifest declares · unreviewed

    Declares a dependency on overrides.

    pyproject.toml:22
  • Declared dependency · manifest declares · unreviewed

    Declares a dependency on python-dotenv.

    pyproject.toml:23
  • Declared dependency · manifest declares · unreviewed

    Declares a dependency on mcp.

    pyproject.toml:24
  • Declared dependency · manifest declares · unreviewed

    Declares a dependency on click.

    pyproject.toml:25
  • Declared dependency · manifest declares · unreviewed

    Declares a dependency on flask.

    pyproject.toml:26

Limits and terms

  • Declared license · manifest declares · unreviewed

    A license or copying file is present; its terms have not been reviewed.

    LICENSE:1

Observed technical context

JavaScript · 2 selected filesPython · 198 selected files

These are references in selected source files, not proof that a feature works at runtime.

Read from commit 1de556f at Oct 12, 2026, 5:18 AM UTC. Source links open that exact commit. Repository statements are unreviewed and do not affect the score.

02 / FINDINGS FIRST

What needs
a closer look.

Critical details are withheld publicly for the first 30 days after a scan. A matched pattern is a lead for investigation, not a confirmed vulnerability.

Dependencies: 85 exact runtime versions from uv.lock checked against OSV.dev on Oct 12, 2026; 6 with known advisories. Reachability is not checked.

14 findings
CRITICAL

Critical finding · details withheld for 30 days

SEC002 · Security & privacy

Details are withheld from public view for 30 days after the scan. The owner can see them in full.

SUGGESTED ACTION

Review the private assessment and address the finding.

[location embargoed] · location unavailable
CRITICAL

Critical finding · details withheld for 30 days

SEC002 · Security & privacy

Details are withheld from public view for 30 days after the scan. The owner can see them in full.

SUGGESTED ACTION

Review the private assessment and address the finding.

[location embargoed] · location unavailable
MAJOR

Unsafe deserialization

SEC006 · Security & privacy

The code loads data with a format that can run code while it is read, such as pickle or unrestricted YAML. A poisoned file, cache entry or downloaded model then runs with the agent's permissions.

SUGGESTED ACTION

Use a data-only format (JSON, safetensors, yaml.safe_load) for anything that is not fully trusted.

src/serena/hooks.py:229
MAJOR

Unsafe deserialization

SEC006 · Security & privacy

The code loads data with a format that can run code while it is read, such as pickle or unrestricted YAML. A poisoned file, cache entry or downloaded model then runs with the agent's permissions.

SUGGESTED ACTION

Use a data-only format (JSON, safetensors, yaml.safe_load) for anything that is not fully trusted.

src/serena/project_server.py:277
MAJOR

Domain ownership not verified

TRUST001 · Entity trust

Metal Mantra could not confirm that the owner controls the stated domain. The domain may belong to someone else.

SUGGESTED ACTION

Verify the domain using the Metal Mantra DNS TXT challenge.

oraios.github.io · location unavailable
MAJOR

Dependency with a high-severity advisory

DEP001 · Security & privacy

anyio 4.13.0 (PyPI) has known advisories: GHSA-5p39-cfhj-2xmp, GHSA-82r6-8w77-94w6, PYSEC-2026-4024, PYSEC-2026-4025 (highest severity critical). AnyIO: TLSStream IDNA 2003 host name encoding enables potential TLS certificate spoofing

SUGGESTED ACTION

Upgrade to a fixed version listed in the advisory and regenerate the lockfile.

uv.lock:81
MAJOR

Dependency with a high-severity advisory

DEP001 · Security & privacy

httpcore2 2.9.1 (PyPI) has known advisories: GHSA-7mj9-2mp8-4m2p, PYSEC-2026-3844 (highest severity high). HTTPX2: Secure WebSocket traffic sent without TLS through SOCKS proxies

SUGGESTED ACTION

Upgrade to a fixed version listed in the advisory and regenerate the lockfile.

uv.lock:825
MAJOR

Dependency with a high-severity advisory

DEP001 · Security & privacy

httpx2 2.9.1 (PyPI) has known advisories: GHSA-7mj9-2mp8-4m2p, GHSA-8xx6-hgc6-gc2m, GHSA-f2fp-rgf2-35cp, GHSA-h4x7-gw46-3wm6, GHSA-pf96-p4fj-6566 (highest severity high). HTTPX2: Secure WebSocket traffic sent without TLS through SOCKS proxies

SUGGESTED ACTION

Upgrade to a fixed version listed in the advisory and regenerate the lockfile.

uv.lock:858
MINOR

Raw model text returned

SCH002 · Schema & tooling

The code returns the model's raw text. Output that was never parsed or validated can pass mistakes straight to users or other systems.

SUGGESTED ACTION

Parse and validate the result before returning it.

src/serena/project_server.py:258
MINOR

Privacy Policy link not confirmed

TRUST003 · Entity trust

No privacy policy link was found on the stated homepage. Buyers cannot see how the vendor handles their data.

SUGGESTED ACTION

Expose a clear Privacy Policy link on the official homepage.

oraios.github.io · location unavailable
MINOR

Terms link not confirmed

TRUST004 · Entity trust

No terms link was found on the stated homepage. Buyers cannot see the conditions that apply to using the service.

SUGGESTED ACTION

Expose a clear Terms link on the official homepage.

oraios.github.io · location unavailable
MINOR

Dependency with a known advisory

DEP002 · Security & privacy

pyjwt 2.13.0 (PyPI) has known advisories: GHSA-2gx3-rcp4-g85q, GHSA-42vr-xj54-vc7v, GHSA-8wjv-2p76-3863, GHSA-9j54-fg26-wv3r, GHSA-9v7f-9g4p-ffgj (highest severity moderate). PyJWT: PyJWKClient still amplifies unauthenticated JWKS fetches on unknown kid values (incomplete fix of CVE-2026-48524)

SUGGESTED ACTION

Upgrade to a fixed version listed in the advisory and regenerate the lockfile.

uv.lock:1385
MINOR

Dependency with a known advisory

DEP002 · Security & privacy

soupsieve 2.8.4 (PyPI) has known advisories: GHSA-gjv8-xp57-g29c, GHSA-j934-xhv5-fg8f, PYSEC-2026-4170, PYSEC-2026-4171 (highest severity moderate). Soup Sieve: Polynomial-time ReDoS (O(n²)) in the `IDENTIFIER` / `VALUE` selector sub-patterns

SUGGESTED ACTION

Upgrade to a fixed version listed in the advisory and regenerate the lockfile.

uv.lock:189
MINOR

Dependency with a known advisory

DEP002 · Security & privacy

werkzeug 3.1.7 (PyPI) has a known advisory: GHSA-g6x2-hccm-hh4m (highest severity moderate). Werkzeug safe_join() allows Windows special device names

SUGGESTED ACTION

Upgrade to a fixed version listed in the advisory and regenerate the lockfile.

uv.lock:657
03 / EVIDENCE & LIMITS

The boundary
is part of the result.

What was scanned
200 of 206 eligible files · Partial selection.
Supported static source patterns and domain checks; no runtime execution.
What remains unknown
Unscanned files, external dependencies, production configuration, actual agent behavior and evidence beyond the configured checks.
Source location
Links open the current repository HEAD. Source may have changed since this snapshot.
Something looks wrong?
Tell us if a finding, scope or claim on this report needs a correction. Report a problem with this report
Entity trust · 15% of v0.2
Includes DNS ownership, HTTPS and policy evidence. Verification is domain control, not a security certificate.
DNS: unverifiedHTTPS: availablePrivacy: not confirmedTerms: not confirmed
04 / THE METHOD BEHIND THE NUMBER

Open the
calculation.

Each pillar starts at 100. Rule deductions reduce its score; weights determine the overall contribution.

01

Security & privacy

10 findings · 25% weight
0/1000.0 pts
02

Guardrails & loop control

0 findings · 25% weight
100/10025.0 pts
03

Schema & tooling

1 findings · 20% weight
92/10018.4 pts
04

Token & cost efficiency

0 findings · 15% weight
100/10015.0 pts
05

Entity trust

3 findings · 15% weight
25/1003.8 pts
Inspect the current standard
USER REPORTS

Did serena work for people?

No user reports yet.

Each report is one signed-in GitHub account saying what happened. We do not verify that the account ran the agent, and reports never change the automated score or grade. For a security problem, use the disclosure page instead of a public note.

Sign in with GitHub to add a report

SHARE THE EVIDENCE

A signal.
Not a seal.

Share the full report so its scope and limits travel with the score.

Metal Mantra automated signal 62/100, not certified