Catalog

SentinelOne Singularity

Pack cung cấp giám sát endpoint toàn diện từ nền tảng SentinelOne Singularity trên SecOps platform.
Pack nameSentinelOne Singularity
Version1.0.0
VendorSentinelOne
CapabilitiesConnector · Parser · Streaming Rules · Correlation Rules · Dashboard · Report
CategoriesEndpoint · EDR · XDR · Malware · SentinelOne

Overview

Pack cung cấp giám sát endpoint toàn diện từ nền tảng SentinelOne Singularity trên SecOps platform, bao gồm:

  • Pull connector — tự động lấy log từ SentinelOne Management API v2.1 (3 luồng: Threats, STAR Alerts, Activities), không cần cài agent shipper
  • Parser — chuẩn hóa cả 3 luồng JSON sang ECS trong một parser duy nhất. Parser được đóng gói kèm luôn trong connector (connectors/sentinelone/parser.yaml) nên tự động được gán làm parser mặc định khi tạo source
  • 4 streaming rules — phát hiện malicious threat, threat chưa được mitigate, STAR alert mức High/Critical, agent bị gỡ hoặc vô hiệu hóa
  • 2 correlation rules — phát hiện malware outbreak diện rộng và endpoint bị tấn công lặp lại
  • 1 dashboard — 12 chart giám sát SOC endpoint security
  • 1 report template — 16 chart báo cáo định kỳ, có mapping PCI DSS và ISO 27001

Yêu cầu trước khi cài đặt

Yêu cầuChi tiết
SentinelOne SingularityManagement Console đang hoạt động, Management API v2.1
API TokenService User token (khuyến nghị) hoặc console-user token
Console permissionsThreats: view, STAR Rule Alerts: view, Activity: view
Kết nối mạngSecOps platform gọi được HTTPS tới console URL của tenant
Quyền platformRole Content Pack Manager

Tạo API Token trên SentinelOne

Cách khuyến nghị — Service User (token không hết hạn sau 30 ngày):

  1. Đăng nhập Management Console → SettingsUsersService Users
  2. ActionsCreate New Service User
  3. Đặt tên (ví dụ secops-siem-collector), chọn scope (Account hoặc Site cụ thể)
  4. Gán 3 quyền: Threats: view, STAR Rule Alerts: view, Activity: view
  5. Create → copy token hiển thị (chỉ hiện một lần duy nhất)

Cách thay thế — Console user token:

My UserActionsAPI Token OperationsGenerate API Token

⚠️ Token của console user hết hạn sau 30 ngày → connector sẽ dừng thu thập. Chỉ dùng để test nhanh.

Xác định Management URL

URL là phần domain của console, không kèm dấu / cuối và không kèm đường dẫn /web/api/v2.1:

https://usea1-partners.sentinelone.net
https://apne1-1101.sentinelone.net

Xác thực

Connector gửi header:

Authorization: ApiToken <your-token>

Kiểm tra nhanh bằng curl trước khi cấu hình:

curl -H "Authorization: ApiToken <token>" \
     "https://<tenant>.sentinelone.net/web/api/v2.1/system/status"

Cài đặt

  1. Vào Marketplace → tìm "SentinelOne Singularity"Install
  2. Vào Data CollectionData ConnectorsAdd Connection → chọn connector type sentinelone
  3. Điền cấu hình (bảng bên dưới) → Test ConnectionSave
  4. Kiểm tra Parserssentinelone-parser đang active (parser đi kèm connector nên source mới sẽ tự dùng parser này)
  5. Kiểm tra Detection Rules → filter tag SentinelOne → 6 rules đang enabled
  6. Mở DashboardsSentinelOne Endpoint Security Overview
  7. Mở ReportsReport LibrarySentinelOne Endpoint Security Report để tạo báo cáo định kỳ

Cấu hình Connector

FieldBắt buộcMặc địnhMô tả
Management Console URLURL console, ví dụ https://usea1-partners.sentinelone.net
API TokenToken dạng secret, gửi qua header Authorization: ApiToken
Site IDs(trống)Danh sách Site ID phân tách bằng dấu phẩy. Để trống = thu thập toàn bộ scope token đọc được
Collect ThreatstrueLấy threat từ /web/api/v2.1/threats. Kiểu string, nhận true/false (hoặc 1/0, yes/no); để trống = true
Collect STAR AlertstrueLấy STAR alert từ /web/api/v2.1/cloud-detection/alerts. Kiểu string, cùng quy ước trên
Collect ActivitiestrueLấy console audit activity từ /web/api/v2.1/activities. Kiểu string, cùng quy ước trên
Page Size100Số record mỗi lần gọi API (SentinelOne cho phép 1–1000). Kiểu int
Initial Lookback Hours1Số giờ lấy ngược lại ở lần chạy đầu tiên (khi chưa có watermark). Kiểu int
Poll Interval (minutes)5Chu kỳ poll API. Kiểu int

Lưu ý khi cấu hình qua API: payload phải đúng kiểu JSON — 3 field collect_*chuỗi ("true"), còn page_size / lookback_hours / time_intervalsố (100, không phải "100"). Sai kiểu sẽ nhận lỗi failed to validate log source structure: invalid type for field: ...

Cơ chế hoạt động:

  • Mỗi luồng (threat / alert / activity) giữ watermark riêng theo createdAt → không trùng, không sót khi một luồng bị lỗi
  • Phân trang theo pagination.nextCursor của SentinelOne, tự động lặp đến hết
  • Mỗi record được gắn _log_type (threat | alert | activity) để parser phân nhánh
  • idem_key dạng <instance_id>:<stream>:<record_id> chống ghi trùng

Định dạng log

Connector đẩy nguyên bản JSON của SentinelOne API, chỉ thêm field _log_type. Parser phân nhánh theo thứ tự: _log_type_source → cấu trúc (threatInfo / alertInfo / activityType).

Ví dụ log hợp lệ

Threat — malicious, chưa mitigate (rút gọn):

{"_log_type":"threat","id":"1608042494261759854","threatInfo":{"threatId":"1608042494261759854","threatName":"mimikatz.exe","classification":"Malware","classificationSource":"Static","confidenceLevel":"malicious","detectionType":"static","incidentStatus":"unresolved","mitigationStatus":"not_mitigated","analystVerdict":"undefined","initiatedBy":"agent_policy","storyline":"7A44C3E5A1B2C3D4","filePath":"C:\\Users\\admin\\Downloads\\mimikatz.exe","fileExtension":"EXE","fileSize":1263616,"md5":"29f4a4bd8dad8b3c7c04ed4a1e2b6d1f","sha1":"b7c1b1b48f2c1f2b2d1e0a0c9d8e7f6a5b4c3d2e","sha256":"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08","originatorProcess":"explorer.exe","maliciousProcessArguments":"-m 64 -k","processUser":"CORP\\jsmith","createdAt":"2025-01-20T07:04:04.925421Z"},"agentDetectionInfo":{"accountId":"901234567890123456","accountName":"Contoso Ltd","agentIpV4":"10.20.30.40","agentVersion":"23.4.2.350","osName":"Windows 10 Pro","machineType":"laptop","siteId":"1122334455667788990","siteName":"HQ","uuid":"3b1c2d4e5f60718293a4b5c6d7e8f901"},"agentRealtimeInfo":{"agentComputerName":"WKS-JSMITH-01","agentId":"1607999999999999999","agentOsType":"windows","groupId":"1234567890123456789","groupName":"Workstations"}}

STAR Alert — High severity (rút gọn):

{"_log_type":"alert","alertInfo":{"alertId":"1610000000000000123","dvEventId":"1610000000000000999","eventType":"PROCESSCREATION","indicatorName":"PsExecLateralMovement","indicatorCategory":"lateral_movement","indicatorDescription":"Suspicious remote service creation consistent with PsExec lateral movement","hitType":"Events","source":"STAR","analystVerdict":"UNDEFINED","incidentStatus":"UNRESOLVED","netEventDirection":"INCOMING","dstIp":"10.20.40.12","dstPort":445,"srcIp":"10.20.30.40","createdAt":"2025-01-20T10:12:03.120000Z"},"ruleInfo":{"id":"1609000000000000777","name":"Lateral Movement - PsExec Service Creation","severity":"High","scopeLevel":"Site"},"sourceProcessInfo":{"name":"psexesvc.exe","filePath":"C:\\Windows\\PSEXESVC.exe","commandline":"C:\\Windows\\PSEXESVC.exe","pid":4812,"user":"CORP\\svc_backup","storyline":"5E4D3C2B1A099887"},"sourceParentProcessInfo":{"pid":728,"name":"services.exe"},"agentDetectionInfo":{"name":"SRV-FILE-02","uuid":"aabbccddeeff00112233445566778899","osName":"Windows Server 2019","version":"23.4.2.350"}}

Activity — agent bị gỡ (rút gọn):

{"_log_type":"activity","id":"1611000000000000001","activityType":23,"description":"Agent Uninstalled","primaryDescription":"The agent WKS-JSMITH-01 was uninstalled.","secondaryDescription":"Agent removed from console by administrator","agentId":"1607999999999999999","groupId":"1234567890123456789","groupName":"Workstations","siteId":"1122334455667788990","siteName":"HQ","accountId":"901234567890123456","accountName":"Contoso Ltd","osFamily":"windows","userId":"901234567890123999","data":{"computerName":"WKS-JSMITH-01","username":"admin@corp.example.com"},"createdAt":"2025-01-20T12:30:11.000000Z"}

Timestamp hỗ trợ cả độ chính xác microsecond (...04.925421Z) và giây (...04Z).

⚠️ API /activities không trả description — chỉ có primaryDescriptionsecondaryDescription. Parser đọc description trước rồi fallback sang primaryDescription. Tương tự, hostname của activity nằm ở data.computerName (không phải agentRealtimeInfo như threat/alert), và operator nằm ở data.username / data.userName.


Parser — Các trường ECS chính

ECS FieldNguồnMô tả
event.datasetDerived từ _log_typesentinelone.threat / sentinelone.alert / sentinelone.activity
event.actionmitigationStatus (threat) / eventType (alert) / primaryDescription (activity)threat_mitigated, threat_not_mitigated, processcreation, agent_uninstalled… — xem bảng chuẩn hóa activity bên dưới
event.outcomemitigationStatus / primaryDescriptionsuccess / failure / unknown
event.severity_labelconfidenceLevel (threat) hoặc ruleInfo.severity (alert)critical / high / medium / low
observer.typeCố địnhedr
threat.namethreatInfo.threatName / alertInfo.indicatorNameTên threat hoặc indicator
threat.scorethreatInfo.confidenceLevelmalicious / suspicious
threat.actionthreatInfo.mitigationStatus (threat) / alertInfo.analystVerdict (alert)mitigated / not_mitigated / marked_as_benign. Với alert, giá trị được chuẩn hóa về snake_case (False positivefalse_positive) để đồng nhất với threat
threat.typethreatInfo.classificationMalware, Ransomware, PUA…
file.path · file.name · file.sizethreatInfo.filePath / threatName / fileSizeArtifact độc hại
file.hash.md5 · file.hash.sha256threatInfo.md5 / sha256Hash IOC dùng để hunt
related.hashthreatInfo.sha1SHA1 (Field Standard không có file.hash.sha1)
process.name · process.command_line · process.pidoriginatorProcess / sourceProcessInfo.*Process khởi tạo
process.parent.pidsourceParentProcessInfo.pidProcess cha
host.name · host.hostnameagentRealtimeInfo.agentComputerName (threat) / agentDetectionInfo.name (alert) / data.computerName (activity)Endpoint bị ảnh hưởng
host.ipagentDetectionInfo.agentIpV4Đã lọc bỏ IP hạ tầng ảo — xem mục bên dưới
host.os.family · host.os.fullagentOsType / osNameNgữ cảnh endpoint
agent.id · agent.versionagentDetectionInfo.uuid / versionAgent SentinelOne
rule.id · rule.nameruleInfo.id / nameSTAR rule sinh alert
user.nameprocessUser (threat) / sourceProcessInfo.user (alert) / data.usernamedata.userName (activity)User liên quan
user.emailDerived từ user.nameTự động điền khi user.name chứa @ (SentinelOne thường dùng email làm định danh operator)
user.domainagentDetectionInfo.agentDomainDomain của endpoint
container.namecontainerInfo.nameTên container khi threat được phát hiện trong workload container
source.ipagentDetectionInfo.externalIp (threat) / alertInfo.srcIp (alert) / data.ipAddress (activity)IP nguồn
destination.ip · destination.portalertInfo.dstIp / dstPortĐích kết nối trong STAR alert
dns.question.name · dns.answers.dataalertInfo.dnsRequest / dnsResponseDNS context
registry.path · registry.key · registry.valuealertInfo.registry*Registry context
labels.*Nhiều nguồnlog_type, site_name, storyline, detection_type, analyst_verdict, mitigation_status, activity_type, container_image, agent_ips, file_sha1

labels.storyline là ID chuỗi tấn công của SentinelOne — dùng để pivot toàn bộ sự kiện liên quan trong Deep Visibility.

Lọc IP hạ tầng ảo trong host.ip

SentinelOne báo cáo mọi NIC mà agent nhìn thấy, bao gồm cả bridge của Docker và libvirt. Ví dụ: 172.17.0.1,192.168.122.1,10.20.30.40.

Parser loại các dải sau khỏi host.ip để chart và rule không bị nhiễu bởi IP giả:

Dải bị loạiNguồn
127.x.x.xLoopback
169.254.x.xLink-local / APIPA
172.17.x.xDocker bridge mặc định
192.168.122.xlibvirt / KVM bridge
  • host.ip → chỉ còn IP định tuyến được (10.20.30.40)
  • labels.agent_ips → giữ nguyên vẹn danh sách gốc, dùng khi cần điều tra đầy đủ interface
  • Nếu sau khi lọc không còn IP nào, parser giữ lại danh sách gốc để tránh mất dữ liệu

Chuẩn hóa event.action cho luồng Activity

API /activities trả mô tả dạng câu tự do (kèm hostname, tên file, email trong nội dung). Parser không slugify cả câu — làm vậy sẽ nhét hostname vào event.action và phá vỡ khả năng gom nhóm trên dashboard. Thay vào đó parser dò từ khóa theo thứ tự ưu tiên và gán nhãn low-cardinality:

event.actionTừ khóa trong mô tảGhi chú
agent_uninstalleduninstallKhớp streaming rule #4
agent_decommissioneddecommissionKhớp streaming rule #4. Không nhầm với recommissioned
agent_disableddisableKhớp streaming rule #4
user_login_failedfailed to log inevent.outcome = failure, severity nâng lên medium
user_loginlogged in / login / log inevent.outcome = success
remote_shell_sessionremote shellThao tác đặc quyền, severity medium
token_revokedrevokedThu hồi API token
verdict_changedanalyst verdictAnalyst đổi verdict của threat
incident_status_changedincident statusAnalyst đổi trạng thái incident
content_updatelive updates / were mergedCập nhật content engine — nhiễu nền, chiếm ~74% activity
agent_movedmoved agent / to siteChuyển agent giữa site/group
threat_activitythreatActivity phát sinh từ threat
policy_changedpolicyThay đổi policy
object_added / object_deletedadded/created · deleted/removedThêm/xóa đối tượng trên console
activity_<mã>(không khớp từ khóa nào)Fallback theo activityType. Đo trên 1600 activity thật: chỉ còn 4.8% rơi vào nhánh này

content_update chiếm phần lớn lưu lượng activity, cả dashboard chart 12 lẫn report chart "Console Administrative Actions" đều lọc bỏ nhãn này (NOT_EQUALS content_update).


Detection Rules

Streaming Rules (4 rules — real-time)

#RuleSeverityMITRE ATT&CKMô tả
1SentinelOne Malicious Threat DetectedHighTA0002 Execution · T1204 User ExecutionThreat được agent phân loại confidence level malicious — xác nhận malware/ransomware/offensive tool đang chạy trên endpoint
2SentinelOne Threat Not MitigatedHighTA0005 Defense Evasion · T1562 Impair DefensesThreat đã phát hiện nhưng agent không xử lý được — endpoint vẫn đang bị nhiễm
3SentinelOne High Severity STAR AlertHighTA0008 Lateral Movement · T1021 Remote ServicesSTAR custom detection rule bắn alert mức High hoặc Critical
4SentinelOne Agent Uninstalled or DisabledHighTA0005 Defense Evasion · T1562 Impair DefensesThao tác console gỡ agent, decommission endpoint hoặc tắt bảo vệ — defense evasion

Correlation Rules (2 rules — pattern)

#RuleSeverityMITRE ATT&CKMô tảNgưỡngLookback
5SentinelOne Malware Outbreak Across EndpointsCriticalTA0002 Execution · T1204 User ExecutionCùng một threat name xuất hiện trên nhiều endpoint khác nhau — worm, lây qua shared drive, hoặc giai đoạn triển khai trước khi ransomware kích hoạt≥ 3 event ≥ 3 host khác nhau15 phút
6SentinelOne Repeated Threats on Single HostHighTA0005 Defense Evasion · T1562 Impair DefensesMột endpoint liên tục sinh threat — máy đã bị chiếm quyền hoặc user tải malware lặp lại≥ 5 threat / 1 host15 phút

Dashboard — SentinelOne Endpoint Security Overview

#ChartLoạiMô tả
1Threat Detections TrendLINETrend threat/alert theo thời gian, tách theo outcome
2Total ThreatsMETRICTổng số threat trong khoảng thời gian
3Malicious ThreatsMETRICSố threat có verdict malicious
4Unmitigated ThreatsMETRICSố threat chưa được xử lý — cần can thiệp ngay
5STAR AlertsMETRICSố alert từ custom detection rules
6Threat Classification DistributionPIETỷ trọng Malware / Ransomware / PUA…
7Mitigation Status DistributionPIEMitigated vs Not mitigated vs Marked as benign
8Top Infected EndpointsBAREndpoint có nhiều threat nhất
9Top Threat NamesBARThreat/malware phổ biến nhất trong môi trường
10Top STAR Rules TriggeredBARSTAR rule bắn nhiều nhất — dùng để tuning
11Recent Unmitigated ThreatsTABLE20 threat chưa xử lý gần nhất (host, threat, file path, SHA256)
12Recent Console ActivitiesTABLE20 thao tác console gần nhất (ai làm gì) — đã lọc bỏ content_update để không bị nhiễu cập nhật content engine lấn át

SOC Triage nhanh:

  1. Metric 4 (Unmitigated Threats) > 0 → ưu tiên cao nhất, mở Table 11 lấy host + SHA256
  2. Chart 8 — một endpoint chiếm đa số → máy đã bị chiếm quyền, cân nhắc isolate
  3. Chart 9 — một threat name lan trên nhiều host → đối chiếu correlation rule #5 (outbreak)
  4. Chart 10 — STAR rule bắn quá nhiều → tuning rule, tránh alert fatigue
  5. Table 12 — kiểm tra có thao tác gỡ agent bất thường không (khớp streaming rule #4)

Report — SentinelOne Endpoint Security Report

Báo cáo định kỳ (16 chart) dùng cho review endpoint protection hàng tháng, theo dõi độ phủ mitigation và phục vụ compliance.

NhómChart
Tổng quan threatThreat Detections Trend (Hourly) · Total Threat Detections · Malicious Threats · Unmitigated Threats · Infected Endpoints
Phân bốThreat Classification Distribution · Mitigation Status Distribution · Detection Confidence Distribution
Xếp hạngTop Infected Endpoints · Top Threat Names · Top STAR Rules Triggered
STARSTAR Alert Severity Distribution
Audit consoleConsole Administrative Actions · Failed Console Logins · Remote Shell Sessions
Chi tiếtUnmitigated Threat Details (bảng 100 dòng: host, threat, classification, confidence, file path, SHA256)

Mapping compliance

Mỗi chart có trường compliance để trích xuất theo khung kiểm soát:

KhungĐiểm kiểm soát chínhChart phục vụ
PCI DSS5.2.1 · 5.3.4 (anti-malware)Total / Malicious / Unmitigated Threats, Classification, Top Endpoints
10.2.x · 10.4.1 (audit log)Console Administrative Actions, STAR Rules, Failed Logins
8.3.4 (failed auth)Failed Console Logins
12.10.5 (incident response)Unmitigated Threats, Unmitigated Threat Details
ISO 27001A.8.7 (chống mã độc)Toàn bộ nhóm threat
A.8.15 · A.12.4.x (logging)Console Administrative Actions
A.8.16 (monitoring)STAR Rules, STAR Severity
A.8.18 (privileged utility)Remote Shell Sessions
A.5.26 (ứng phó sự cố)Unmitigated Threats

3 chỉ số cần theo dõi qua từng kỳ

  1. Tỷ lệ Unmitigated / Total — phản ánh độ phủ tự động containment. Tăng → kiểm tra policy có site nào đang ở chế độ Detect-only
  2. Detection Confidence Distribution — tỷ trọng suspicious tăng đột biến → nhiều detection hành vi cần analyst triage
  3. Failed Console Logins + Remote Shell Sessions — tấn công nhắm vào chính nền tảng bảo mật; mọi remote shell phải truy nguyên được về một change đã duyệt

Troubleshooting

Triệu chứngNguyên nhânCách xử lý
Test Connection fail 401Token sai hoặc đã hết hạnTạo lại token. Console-user token hết hạn sau 30 ngày → chuyển sang Service User
Test Connection fail 403Thiếu quyềnCấp Threats: view, STAR Rule Alerts: view, Activity: view cho service user
Test Connection timeoutSai Management URL hoặc firewall chặnURL phải là domain console, không kèm /web/api/v2.1 và không có / cuối
Không có event nàoKhông có dữ liệu mới trong lookbackTăng Initial Lookback Hours, hoặc kiểm tra console có threat/activity trong khoảng đó không
Test Connection fail, lỗi invalid type for field: collect_threatsPack ≤ 1.0.3 khai báo 3 field này là boolean — kiểu không được platform hỗ trợ (chỉ có string, password, int)Nâng lên 1.0.4. Khi đẩy config qua API, gửi "collect_threats": "true" (chuỗi) và "page_size": 100 (số)
Không có event nào, Test Connection vẫn OKĐể trống các field tùy chọn trên form (pack < 1.0.3)Điền rõ true cho cả 3 field Collect, 100 cho Page Size, 24 cho Lookback Hours. Từ 1.0.3 trở đi field rỗng tự rơi về default
Chỉ có threat, thiếu alertToggle tắt hoặc chưa có STAR ruleBật Collect STAR Alerts; STAR alert chỉ sinh khi đã tạo Custom Detection Rule trên console
Chỉ thu được 1 siteSite IDs bị giới hạnXóa trắng field Site IDs hoặc bổ sung đủ ID, phân tách bằng dấu phẩy
Event vào nhưng field trốngParser không nhận diện được luồngKiểm tra record có field _log_type; nếu không, parser fallback theo threatInfo/alertInfo/activityType
file.hash.sha1 không tìm thấyField Standard không có field nàyDùng related.hash hoặc labels.file_sha1
Rate limit / 429Poll quá dày hoặc page size quá lớnTăng Poll Interval, giảm Page Size về 100
Rule "High Severity STAR Alert" không bao giờ bắnTenant chỉ cấu hình STAR rule ở mức Low/MediumRule lọc event.severity_label in (high, critical). Kiểm tra severity thực tế trên console; nếu muốn bắt cả Medium thì sửa rule (đánh đổi: nhiều alert hơn đáng kể)
Chart Activity toàn content_updateNhiễu cập nhật content engine chiếm ~74% luồng activityDashboard và report đã lọc sẵn. Chart tự tạo cần thêm điều kiện event.action NOT_EQUALS content_update
Cột Operator trong bảng Activity trốngSentinelOne chỉ điền user cho thao tác do người dùng console thực hiệnBình thường — activity do hệ thống/agent sinh ra không có operator. Khoảng 15% activity có user.name
host.ip thiếu IP so với consoleParser đã lọc IP hạ tầng ảoXem labels.agent_ips để có danh sách NIC đầy đủ

Checklist connector:

  • Management URL đúng dạng https://<tenant>.sentinelone.net (không có / cuối, không có /web/api/v2.1)
  • Token là Service User token, còn hiệu lực
  • Đủ 3 quyền Threats: view · STAR Rule Alerts: view · Activity: view
  • Ít nhất một trong 3 toggle Collect đang bật
  • Test Connection trả về thành công
  • sentinelone-parser.yaml đang active trong Parsers

Changelog

1.0.6

  • Fix (connector) — watermark trước đây được ghi bằng dict (một timestamp cho mỗi stream threat / alert / activity). Platform chỉ persist watermark dưới dạng string, nên map bị ép kiểu sai và connector không đọc lại được vị trí cũ → mỗi chu kỳ đều pull lại từ lookback_hours. Cursor map nay được lưu JSON-encoded string (json.dumps(..., sort_keys=True)); khi đọc vẫn chấp nhận dict cũ để instance tạo trước 1.0.6 giữ nguyên vị trí, và fallback về lookback_hours nếu giá trị không parse được

1.0.5

  • Fix (parser) — trong #conditional có 2 dòng comment # .... Platform parser loader coi mọi dòng bắt đầu bằng # là ranh giới block, nên toàn bộ code phía sau comment (chuẩn hóa host.ip, labels.agent_ips, và parse timestamp từ createdAt) bị cắt bỏ khi nạp trên server. Hệ quả nghiêm trọng nhất: timestamp của mọi event rơi về giá trị khởi tạo now() (thời điểm ingest) thay vì thời điểm SentinelOne ghi nhận. Local Vector CLI và ccsp-client validate/test đều PASS nên lỗi không lộ ra. Đã xóa 2 dòng comment; tuyệt đối không đặt comment trong thân parser

1.0.4

  • Fix (connector)connector.json khai báo collect_threats / collect_alerts / collect_activities với "type": "boolean", nhưng platform chỉ hỗ trợ string, password, int. Hệ quả: mọi lần lưu cấu hình đều bị chặn với failed to validate log source structure: invalid type for field: collect_threats. Đã chuyển 3 field sang string (default "true"); _cfg_bool() đã sẵn sàng chấp nhận true/false/1/0/yes/no

1.0.3

  • Fix (connector) — khi để trống các field tùy chọn trên UI, console gửi lên chuỗi rỗng chứ không phải bỏ trống key → default trong connector.json không được áp dụng. Hệ quả: cả 3 toggle collect_* bị hiểu là false → connector không gọi API lần nào và không báo lỗi. Đã thêm _cfg_bool() / _cfg_int() để giá trị rỗng rơi về default, đồng thời chấp nhận boolean dạng chuỗi (true/1/yes/on)
  • Fix (connector)page_sizelookback_hours rỗng trước đây gây ValueErrorint("")
  • Test — bổ sung 9 test cho trường hợp config rỗng / boolean dạng chuỗi (tổng 23 test)

1.0.2

  • Fix (parser)user.name của activity đọc data.byUser (field này không tồn tại trong API); đã chuyển sang data.usernamedata.userName
  • Improve (parser) — mở rộng chuẩn hóa event.action cho activity thêm 8 nhãn (user_login_failed, remote_shell_session, token_revoked, verdict_changed, incident_status_changed, content_update, agent_moved…): fallback activity_<mã> giảm từ 88.8% xuống 4.8% trên 1600 activity thực tế
  • Add (pack) — report template 16 chart kèm mapping PCI DSS / ISO 27001
  • Add (pack) — parser đóng gói kèm connector tại connectors/sentinelone/parser.yaml
  • Change (dashboard) — chart "Recent Console Activities" lọc bỏ content_update

1.0.1

  • Fix (parser)event.action của luồng activity trước đây luôn là activity vì parser đọc field description (API không trả field này). Đã fallback sang primaryDescription → streaming rule #4 mới hoạt động được
  • Fix (parser)host.name của activity trống; đã đọc đúng data.computerName
  • Improve (parser)threat.action của alert chuẩn hóa về snake_case, đồng nhất với luồng threat
  • Improve (parser)host.ip lọc bỏ IP loopback/link-local/Docker/libvirt; danh sách gốc giữ tại labels.agent_ips
  • Add (parser) — bổ sung observer.type, user.email, container.name theo Field Standard

1.0.0

  • Phiên bản đầu tiên: connector, parser, 4 streaming rules, 2 correlation rules, dashboard 12 chart

Hỗ trợ

  • Lỗi platform/Góp ý pack: Dùng tính năng feedback trên trang Marketplace

Last updated: 2026-07-29 · Vendor: SentinelOne · Author: secops-team