Skip to content

Commit 82aece3

Browse files
author
root
committed
Fix: remediationRoadmap type check, filter pending scans
1 parent 91a18f9 commit 82aece3

4 files changed

Lines changed: 13 additions & 14 deletions

File tree

nginx/chainscout.conf

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
1-
21
upstream frontend {
32
server frontend:5173;
4-
# keepalive disabled
53
}
64

75
upstream api {
86
server api:4000;
9-
# keepalive disabled
107
}
118

129
limit_req_zone $binary_remote_addr zone=ratelimit_auth:10m rate=200r/m;
1310
limit_req_zone $binary_remote_addr zone=ratelimit_scanner:10m rate=200r/m;
1411
limit_req_zone $binary_remote_addr zone=ratelimit_general:10m rate=200r/m;
1512

13+
# HTTP → HTTPS
1614
server {
1715
listen 80;
1816
server_name chainscoutsecurity.com;
1917
if ($host != "localhost") { return 301 https://$server_name$request_uri; }
2018
}
2119

20+
# HTTPS
2221
server {
2322
listen 443 ssl;
2423
server_name chainscoutsecurity.com;
@@ -32,11 +31,9 @@ server {
3231
proxy_buffer_size 128k;
3332
proxy_buffers 4 256k;
3433
proxy_busy_buffers_size 256k;
35-
proxy_read_timeout 120s;
36-
proxy_send_timeout 120s;
37-
38-
keepalive_timeout 65;
39-
keepalive_requests 100;
34+
proxy_read_timeout 300s;
35+
proxy_send_timeout 300s;
36+
proxy_connect_timeout 60s;
4037

4138
add_header Strict-Transport-Security "max-age=31536000" always;
4239
add_header X-Content-Type-Options "nosniff" always;
@@ -54,7 +51,7 @@ server {
5451
}
5552

5653
location /api/auth/ {
57-
limit_req zone=ratelimit_auth burst=5 nodelay;
54+
limit_req zone=ratelimit_auth burst=10 nodelay;
5855
proxy_pass http://api;
5956
proxy_http_version 1.1;
6057
proxy_set_header Connection "close";
@@ -65,6 +62,8 @@ server {
6562

6663
location /api/scans {
6764
limit_req zone=ratelimit_scanner burst=50 nodelay;
65+
proxy_read_timeout 300s;
66+
proxy_send_timeout 300s;
6867
proxy_pass http://api;
6968
proxy_http_version 1.1;
7069
proxy_set_header Connection "close";
@@ -74,9 +73,9 @@ server {
7473
}
7574

7675
location /api/ {
77-
proxy_read_timeout 120s;
78-
proxy_send_timeout 120s;
7976
limit_req zone=ratelimit_general burst=50 nodelay;
77+
proxy_read_timeout 300s;
78+
proxy_send_timeout 300s;
8079
proxy_pass http://api;
8180
proxy_http_version 1.1;
8281
proxy_set_header Connection "close";

server/ai/report-generator.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ function buildAiPrompt({ targetType, targetUrl, sourceKind, level, findings, vul
4141
'- Исправление: использовать immutable для адреса библиотеки, проверять код',
4242
'',
4343
'INTEGER OVERFLOW:',
44-
'- PoWH Coin (2018): арифметическое переполнение через '+='
44+
'- PoWH Coin (2018): арифметическое переполнение через оператор сложения-присваивания',
4545
'- BeautyChain (2018): переполнение uint256 через умножение',
4646
'- Исправление: Solidity 0.8+ или SafeMath библиотека',
4747
'',

src/components/ScanResults.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ const ScanResults = ({ scan }: ScanResultsProps) => {
6262
const severityBreakdown = resultsData.summary?.severityBreakdown || resultsData.vulnerabilities || {};
6363
const aiSummary = resultsData.report?.ai_analysis?.executiveSummary || ai_analysis || "";
6464
const criticalRisks = resultsData.report?.ai_analysis?.criticalRisks || [];
65-
const remediationRoadmap = resultsData.report?.ai_analysis?.remediationRoadmap || [];
65+
const remediationRoadmap = Array.isArray(resultsData.report?.ai_analysis?.remediationRoadmap) ? resultsData.report?.ai_analysis?.remediationRoadmap : [];
6666
const trainingSignals = resultsData.report?.ai_analysis?.trainingSignals || [];
6767
const limitations = resultsData.report?.limitations || [];
6868

src/pages/Dashboard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ const Dashboard = () => {
5555
source: "api",
5656
}));
5757

58-
const sorted = apiRows.sort(
58+
const sorted = apiRows.filter(s => s.status === "completed" || s.status === "failed").sort(
5959
(a, b) => new Date(b.created_at).getTime() - new Date(a.created_at).getTime()
6060
);
6161

0 commit comments

Comments
 (0)