← Back to scan
File as GitHub Issue repo: facebook/fbthrift

Push this scan report to facebook/fbthrift

Click the green button below to open GitHub’s new-issue form, pre-filled with the report title, summary table, top findings, and an embedded score-card image. No authentication needed — you review on GitHub before submitting. Repobility is credited as the scanner.

Embedded score card image

This image will render at the top of the issue body. Hosted on Repobility, refreshes automatically after re-scans.

Repobility score card

Issue title

Missing import: `string` used but not imported

Curate findings to include

Pick exactly which findings appear in the issue body. By default the top 5 are included. Uncheck noise, check what matters.

Top 5 (default)
Severity Rule Title File:line
CRIT MINED107 [MINED107] Missing import: `stat` used but not imported: The file uses `stat.something(..… thrift/lib/py/util/Decorators.py:48
CRIT MINED107 [MINED107] Missing import: `struct` used but not imported: The file uses `struct.somethin… thrift/lib/py/util/__init__.py:44
CRIT MINED107 [MINED107] Missing import: `socket` used but not imported: The file uses `socket.somethin… thrift/lib/py/server/TAsyncioServer.py:150
CRIT MINED107 [MINED107] Missing import: `string` used but not imported: The file uses `string.somethin… thrift/lib/py/protocol/TSimpleJSONProto…:637
CRIT MINED107 [MINED107] Missing import: `string` used but not imported: The file uses `string.somethin… thrift/lib/py/protocol/TJSONProtocol.py:173
CRIT MINED107 [MINED107] Missing import: `struct` used but not imported: The file uses `struct.somethin… thrift/lib/python/metadata.py:503
HIGH MINED110 [MINED110] Blocking call `time.sleep` inside async function `badSleep`: `time.sleep` is a… thrift/perf/py3/load_handler.py:74
HIGH MINED110 [MINED110] Blocking call `input` inside async function `async_main`: `input` is a synchro… thrift/example/python/client/echo_clien…:37
HIGH MINED006 [MINED006] Overcatch Baseexception: except BaseException: ... — prevents Ctrl+C and Syste… thrift/perf/py/asyncio_test_server.py:45
HIGH MINED001 [MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows e… thrift/perf/py/asyncio_test_server.py:33
HIGH MINED004 [MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums). thrift/compiler/generate/t_concat_gener…:149
HIGH MINED115 [MINED115] Action `actions/cache/save` pinned to mutable ref `@v4`: `uses: actions/cache/… .github/workflows/getdeps_python_linux_…:264
HIGH MINED115 [MINED115] Action `actions/cache/restore` pinned to mutable ref `@v4`: `uses: actions/cac… .github/workflows/getdeps_python_linux_…:256
HIGH MINED115 [MINED115] Action `actions/cache/save` pinned to mutable ref `@v4`: `uses: actions/cache/… .github/workflows/getdeps_python_linux_…:248
HIGH MINED115 [MINED115] Action `actions/cache/restore` pinned to mutable ref `@v4`: `uses: actions/cac… .github/workflows/getdeps_python_linux_…:240
HIGH MINED115 [MINED115] Action `actions/cache/save` pinned to mutable ref `@v4`: `uses: actions/cache/… .github/workflows/getdeps_python_linux_…:232
HIGH MINED115 [MINED115] Action `actions/cache/restore` pinned to mutable ref `@v4`: `uses: actions/cac… .github/workflows/getdeps_python_linux_…:224
HIGH MINED115 [MINED115] Action `actions/cache/save` pinned to mutable ref `@v4`: `uses: actions/cache/… .github/workflows/getdeps_python_linux_…:216
HIGH MINED115 [MINED115] Action `actions/cache/restore` pinned to mutable ref `@v4`: `uses: actions/cac… .github/workflows/getdeps_python_linux_…:208
HIGH MINED115 [MINED115] Action `actions/cache/save` pinned to mutable ref `@v4`: `uses: actions/cache/… .github/workflows/getdeps_python_linux_…:200
HIGH MINED115 [MINED115] Action `actions/cache/restore` pinned to mutable ref `@v4`: `uses: actions/cac… .github/workflows/getdeps_python_linux_…:192
HIGH MINED115 [MINED115] Action `actions/cache/save` pinned to mutable ref `@v4`: `uses: actions/cache/… .github/workflows/getdeps_python_linux_…:184
HIGH MINED115 [MINED115] Action `actions/cache/restore` pinned to mutable ref `@v4`: `uses: actions/cac… .github/workflows/getdeps_python_linux_…:176
HIGH MINED115 [MINED115] Action `actions/cache/save` pinned to mutable ref `@v4`: `uses: actions/cache/… .github/workflows/getdeps_python_linux_…:168
HIGH MINED115 [MINED115] Action `actions/cache/restore` pinned to mutable ref `@v4`: `uses: actions/cac… .github/workflows/getdeps_python_linux_…:160
HIGH MINED115 [MINED115] Action `actions/cache/save` pinned to mutable ref `@v4`: `uses: actions/cache/… .github/workflows/getdeps_python_linux_…:152
HIGH MINED115 [MINED115] Action `actions/cache/restore` pinned to mutable ref `@v4`: `uses: actions/cac… .github/workflows/getdeps_python_linux_…:144
HIGH MINED115 [MINED115] Action `actions/cache/save` pinned to mutable ref `@v4`: `uses: actions/cache/… .github/workflows/getdeps_python_linux_…:136
HIGH MINED115 [MINED115] Action `actions/cache/restore` pinned to mutable ref `@v4`: `uses: actions/cac… .github/workflows/getdeps_python_linux_…:128
HIGH MINED115 [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout… .github/workflows/getdeps_python_linux_…:21
HIGH MINED115 [MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v6`: `uses: actions/u… .github/workflows/getdeps_linux.yml:157
HIGH MINED115 [MINED115] Action `mozilla-actions/sccache-action` pinned to mutable ref `@v0.0.9`: `uses… .github/workflows/getdeps_linux.yml:34
HIGH MINED115 [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout… .github/workflows/getdeps_linux.yml:30
HIGH MINED115 [MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v6`: `uses: actions/u… .github/workflows/getdeps_windows.yml:143
HIGH MINED115 [MINED115] Action `mozilla-actions/sccache-action` pinned to mutable ref `@v0.0.9`: `uses… .github/workflows/getdeps_windows.yml:46
HIGH MINED115 [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout… .github/workflows/getdeps_windows.yml:42
MED SEC127 [SEC127] AI agent stub — TODO: implement / pass placeholder body: Function body left as T… thrift/conformance/python/conformance_s…:41
MED SEC089 [SEC089] Go: bind to all interfaces (0.0.0.0): Server binds to all network interfaces — e… thrift/conformance/go/conformance_serve…:64
LOW ERR003 [ERR003] Ignored Error (Go): Ignoring error return values. thrift/perf/go/server/server.go:168
LOW SEC132 [SEC132] String concat where the language has interpolation (AI style drift): String buil… thrift/compiler/codemod/add_operational…:136
LOW COMP001 [COMP001] High cognitive complexity: Function `main` has cognitive complexity 14 (SonarSo… thrift/perf/py/py3_test_server.py:29
LOW AIC003 Duplicated implementation block across source files thrift/lib/cpp2/async/processor/Handler…:82
LOW AIC003 Duplicated implementation block across source files thrift/lib/cpp2/async/HibernatingReques…:38
LOW AIC003 Duplicated implementation block across source files thrift/lib/cpp2/async/HeaderClientChann…:82
LOW AIC003 Duplicated implementation block across source files thrift/lib/cpp/util/THttpParser.cpp:29
LOW AIC003 Duplicated implementation block across source files thrift/conformance/rust/rpc_server.rs:50
LOW AIC003 Duplicated implementation block across source files thrift/conformance/rpcclient/GTestHarne…:597
LOW AIC007 Generated build artifact directory is present at repository root build:1
INFO MINED064 [MINED064] Python Input Call: input() blocks for stdin. Inappropriate in services. thrift/example/python/client/echo_clien…:37
INFO MINED059 [MINED059] Rust Expect In Prod: .expect(...) panics same as unwrap with a custom message. thrift/conformance/rust/conformance_ser…:126
INFO MINED050 [MINED050] Stub Only Function: Function declared but body is just pass, return None, rais… thrift/perf/py/asyncio_test_server.py:34
INFO MINED050 [MINED050] Stub Only Function: Function declared but body is just pass, return None, rais… thrift/perf/py/asyncio_load_handler.py:40
INFO MINED050 [MINED050] Stub Only Function: Function declared but body is just pass, return None, rais… thrift/conformance/python/conformance_s…:45
INFO MINED060 [MINED060] Go Context No Cancel: context.Background() at request handler boundary leaks g… thrift/perf/go/server/server.go:46
INFO MINED060 [MINED060] Go Context No Cancel: context.Background() at request handler boundary leaks g… thrift/conformance/go/conformance_serve…:70
INFO MINED080 [MINED080] Cpp Using Namespace Std: using namespace std; pollutes the global namespace. thrift/compiler/generate/t_concat_gener…:28
INFO MINED057 [MINED057] Todo Bomb: Code path with a TODO/FIXME/HACK comment that gates correctness — l… thrift/compiler/ast/uri.h:227
INFO MINED042 [MINED042] Cpp New Without Delete: C++ raw new without RAII / unique_ptr — memory leak ri… thrift/compiler/detail/pluggable_functi…:22
INFO MINED042 [MINED042] Cpp New Without Delete: C++ raw new without RAII / unique_ptr — memory leak ri… thrift/compiler/ast/t_structured.h:52
INFO MINED042 [MINED042] Cpp New Without Delete: C++ raw new without RAII / unique_ptr — memory leak ri… thrift/compiler/ast/t_node.cc:45
Reset to top 5 60 findings available (after auto-suppression of test files + won't-fix)

Issue body (markdown)

## Code-quality scan: `facebook/fbthrift`

**Score: 72/100 (B+)**  ·  155 findings  ·  scanned 2026-06-06 00:13 UTC  ·  3,919,404 LOC

| Severity | Count |
|---|---|
| CRITICAL | 6 |
| HIGH | 30 |
| MEDIUM | 2 |
| LOW | 10 |

📊 [Full filterable report](https://repobility.com/scan/71d9ca5e-e7aa-41be-958a-2ca17c9b2ccd/)  ·  ![scorecard](https://repobility.com/scan/71d9ca5e-e7aa-41be-958a-2ca17c9b2ccd/report.png?v=1780704781-s2)

### Top findings

1. **CRITICAL** `MINED107` — Missing import: `stat` used but not imported
   `thrift/lib/py/util/Decorators.py:48` · ✓ Repobility
2. **CRITICAL** `MINED107` — Missing import: `struct` used but not imported
   `thrift/lib/py/util/__init__.py:44` · ✓ Repobility
3. **CRITICAL** `MINED107` — Missing import: `socket` used but not imported
   `thrift/lib/py/server/TAsyncioServer.py:150` · ✓ Repobility
4. **CRITICAL** `MINED107` — Missing import: `string` used but not imported
   `thrift/lib/py/protocol/TSimpleJSONProtocol.py:637` · ✓ Repobility
5. **CRITICAL** `MINED107` — Missing import: `string` used but not imported
   `thrift/lib/py/protocol/TJSONProtocol.py:173` · ✓ Repobility

---

_Filed automatically. Close this issue if not useful — we won't refile. Full report: https://repobility.com/scan/71d9ca5e-e7aa-41be-958a-2ca17c9b2ccd/_
Already filed
'facebook' is on the known-megaproject org list. These projects use auto-triage bots and established security disclosure channels. Unsolicited automated issues from Repobility would be perceived as AI-generated spam. For security findings, follow the project's SECURITY.md policy. For non-security findings, open a focused PR or community discussion instead.
Megaproject â high spam risk
Could not determine 'facebook/fbthrift' star count (GitHub API rate-limited or unreachable). When in doubt about repo size, prefer opening a focused PR or a discussion rather than an issue.
Already filed
126/157 findings (80%) on this scan are already flagged as test-file, won't-fix, or suppressed. The scan is too noisy to file as a single issue. Curate down to specific actionable findings, or address the FP source first.

The button opens GitHubâs new-issue page in a new tab. You will see the title + body pre-filled â review, edit if you want, then click GitHubâs "Submit new issue" button. Repobility never posts anything on your behalf.

For real security findings on big repos: use the project's SECURITY.md or private advisory flow instead of a public issue.