Teknium
5eeafc8d25
fix(security): cache OSV malware preflight verdicts and stop double component discovery ( #75485 )
...
Two amplifiers behind the 779K api.osv.dev DNS queries/16h report:
1. tools/osv_check.py: check_package_for_malware() hit OSV on EVERY
call. MCP reconnect ladders, stdio recycles, and parked-server
self-probes re-run the preflight for the same package on every spawn
attempt, so a flapping server became a sustained OSV query/DNS
stream. Verdicts (clean or blocked) are now cached for 1h
(OSV_CHECK_CACHE_TTL to tune); network failures stay uncached so
fail-open never masks a real advisory once connectivity returns.
2. hermes_cli/security_audit.py: cmd_security_audit() ran full
component discovery twice per audit (_count_components + run_audit).
Discovery now runs once via _discover_components() and run_audit()
accepts the pre-discovered list.
Both regression tests fail against the previous code (verified via
sabotage run).
2026-08-01 10:47:20 -07:00
..
2026-07-29 11:53:39 -07:00
2026-07-29 11:33:41 -07:00
2026-07-22 16:51:01 -04:00
2026-07-29 17:51:40 -05:00
2026-07-31 22:35:49 -07:00
2026-07-30 16:45:08 -07:00
2026-07-29 21:30:53 -07:00
2026-07-26 12:54:45 -07:00
2026-07-31 22:34:28 -07:00
2026-07-28 17:34:21 -07:00
2026-07-28 12:11:52 -05:00
2026-07-29 16:49:07 +05:30
2026-07-26 21:13:03 -07:00
2026-07-26 17:49:03 -07:00
2026-07-17 11:37:25 +05:30
2026-07-31 22:34:52 -07:00
2026-07-11 12:28:55 +05:30
2026-07-25 21:44:43 -07:00
2026-07-31 21:21:20 -07:00
2026-07-29 23:16:18 -07:00
2026-07-29 23:16:18 -07:00
2026-07-26 17:46:55 -07:00
2026-07-24 16:01:06 -07:00
2026-07-24 11:45:57 -07:00
2026-08-01 16:09:27 +05:30
2026-07-29 11:53:39 -07:00
2026-07-31 22:33:16 -07:00
2026-07-29 08:42:16 -07:00
2026-07-21 05:27:13 -07:00
2026-07-01 23:51:54 +05:30
2026-07-31 22:33:16 -07:00
2026-08-01 14:14:15 +05:30
2026-07-29 16:44:31 -07:00
2026-08-01 15:03:42 +05:30
2026-07-31 13:53:04 -05:00
2026-07-28 22:41:09 -07:00
2026-07-22 21:17:21 -07:00
2026-07-31 22:31:09 -07:00
2026-07-19 03:02:21 -07:00
2026-07-28 11:52:47 -07:00
2026-07-25 19:27:17 -07:00
2026-07-26 21:22:40 -07:00
2026-07-29 10:59:54 -07:00
2026-06-27 21:30:37 -07:00
2026-07-05 13:42:46 -07:00
2026-06-24 18:56:26 -07:00
2026-07-29 11:53:39 -07:00
2026-06-30 17:29:23 -07:00
2026-07-07 04:09:35 -07:00
2026-07-31 17:26:42 +05:30
2026-07-29 19:48:37 -07:00
2026-07-29 10:32:25 -07:00
2026-07-26 23:41:54 -07:00
2026-07-31 22:35:26 -07:00
2026-07-26 18:10:34 -07:00
2026-07-29 11:53:39 -07:00
2026-07-26 17:50:54 -07:00
2026-08-01 16:45:00 +05:30
2026-07-20 05:38:25 -07:00
2026-07-27 21:10:51 -07:00
2026-07-26 17:46:29 -07:00
2026-07-15 07:39:42 -07:00
2026-07-28 03:52:33 -05:00
2026-07-01 16:25:48 -05:00
2026-07-31 21:52:11 -07:00
2026-07-15 07:39:17 -07:00
2026-07-09 16:13:59 -05:00
2026-07-15 07:39:17 -07:00
2026-07-29 11:53:39 -07:00
2026-07-27 21:10:51 -07:00
2026-07-05 13:42:46 -07:00
2026-08-01 16:45:00 +05:30
2026-08-01 16:45:00 +05:30
2026-07-28 17:34:21 -07:00
2026-07-28 00:53:16 -05:00
2026-08-01 12:27:31 +05:30
2026-07-28 22:40:33 -07:00
2026-07-29 11:53:39 -07:00
2026-07-23 18:11:57 -07:00
2026-07-23 21:07:18 -07:00
2026-07-15 00:10:31 -07:00
2026-07-29 19:48:37 -07:00
2026-07-26 21:22:40 -07:00
2026-07-31 17:26:42 +05:30
2026-07-31 22:39:34 -07:00
2026-07-31 21:31:56 -07:00
2026-07-29 10:13:50 -07:00
2026-07-29 11:53:39 -07:00
2026-07-31 13:42:04 -04:00
2026-07-29 10:14:11 -07:00
2026-08-01 12:27:31 +05:30
2026-07-29 17:51:40 -05:00
2026-07-02 05:10:31 -07:00
2026-06-24 13:48:38 -05:00
2026-07-28 17:34:21 -07:00
2026-07-27 21:10:51 -07:00
2026-07-28 22:42:19 -07:00
2026-07-15 07:39:17 -07:00
2026-07-31 22:39:34 -07:00
2026-07-29 10:53:29 -07:00
2026-06-25 16:40:26 -05:00
2026-07-21 10:09:31 -04:00
2026-07-26 18:06:21 -07:00
2026-07-31 21:21:16 -07:00
2026-06-25 13:52:06 -07:00
2026-07-31 21:31:56 -07:00
2026-07-29 11:53:39 -07:00
2026-07-30 03:39:26 -05:00
2026-07-29 10:14:11 -07:00
2026-07-07 15:15:37 -07:00
2026-06-27 15:59:00 -07:00
2026-07-29 17:13:48 +05:30
2026-07-31 22:36:15 -07:00
2026-07-29 10:14:11 -07:00
2026-07-29 11:53:39 -07:00
2026-08-01 10:47:20 -07:00
2026-07-29 10:53:29 -07:00
2026-07-27 19:19:01 +05:30
2026-07-29 11:53:39 -07:00
2026-07-07 12:36:41 -07:00
2026-07-07 13:29:58 -07:00
2026-07-26 19:30:21 -07:00
2026-07-31 22:36:55 -07:00
2026-07-17 04:53:38 -07:00
2026-07-26 23:34:29 -07:00
2026-07-29 10:59:54 -07:00
2026-07-26 08:43:24 -07:00
2026-07-29 19:48:37 -07:00
2026-07-09 19:57:54 -07:00
2026-07-28 23:16:27 -07:00
2026-07-21 21:00:43 -05:00
2026-07-21 21:00:43 -05:00
2026-07-29 09:33:48 -07:00
2026-07-29 12:11:24 -07:00
2026-07-24 16:00:03 -07:00
2026-07-31 23:18:12 -07:00
2026-06-25 16:40:26 -05:00
2026-07-29 19:48:37 -07:00
2026-07-05 13:42:46 -07:00
2026-07-26 12:54:45 -07:00
2026-07-31 10:17:55 -04:00
2026-07-29 11:53:39 -07:00
2026-07-31 22:39:11 -07:00
2026-08-01 17:25:08 +05:30
2026-07-31 22:28:46 -07:00
2026-07-11 12:28:55 +05:30
2026-07-29 19:48:37 -07:00
2026-07-29 08:24:00 -07:00
2026-07-29 16:21:54 -07:00
2026-07-28 17:34:21 -07:00
2026-07-29 18:43:50 -05:00
2026-07-31 03:35:08 -03:00
2026-07-24 11:45:57 -07:00
2026-07-29 10:14:11 -07:00
2026-07-29 11:53:39 -07:00
2026-07-05 23:00:34 +05:30