3.0 KiB
3.0 KiB
Project Progress
Phase 1: Initial Setup
- Create
monitor_agent.py - Create
config.py - Create
requirements.txt - Create
README.md - Create
.gitignore - Create
SPEC.md - Create
PROMPT.md - Create
CONSTRAINTS.md
Phase 2: Data Storage
- Implement data storage functions in
data_storage.py - Update
monitor_agent.pyto use data storage - Update
SPEC.mdto reflect data storage functionality
Phase 3: Expanded Monitoring
- Implement CPU temperature monitoring
- Implement GPU temperature monitoring
- Implement system login attempt monitoring
- Update
monitor_agent.pyto include new metrics - Update
SPEC.mdto reflect new metrics - Extend
calculate_baselinesto include system temps
Phase 4: Troubleshooting
- Investigated and resolved issue with
jclibrary - Removed
jclibrary as a dependency - Implemented manual parsing of
sensorscommand output
Phase 5: Network Scanning (Nmap Integration)
- Add
python-nmaptorequirements.txtand install. - Define
NMAP_TARGETSandNMAP_SCAN_OPTIONSinconfig.py. - Create a new function
get_nmap_scan_results()inmonitor_agent.py:- Use
python-nmapto perform a scan on the defined targets with the specified options. - Return the parsed results.
- Use
- Integrate
get_nmap_scan_results()into the main monitoring loop:- Call this function periodically (e.g., less frequently than other metrics).
- Add the
nmapresults to thecombined_datadictionary.
- Update
data_storage.pyto storenmapresults. - Extend
calculate_baselines()indata_storage.pyto includenmapbaselines:- Compare current
nmapresults with historical data to identify changes.
- Compare current
- Modify
analyze_data_with_llm()prompt to includenmapscan results for analysis. - Consider how to handle
nmappermissions. - Improve Nmap data logging to include IP addresses, open ports, and service details.
Phase 6: Code Refactoring and Documentation
- Remove duplicate
pingparsingimport inmonitor_agent.py. - Refactor
get_cpu_temperatureandget_gpu_temperatureto callsensorscommand only once. - Refactor
get_login_attemptsto use a position file for efficient log reading. - Simplify JSON parsing in
analyze_data_with_llm. - Move LLM prompt to a separate function
build_llm_prompt. - Refactor main loop into smaller functions (
run_monitoring_cycle,main). - Create helper function in
data_storage.pyfor calculating average metrics. - Update
README.mdwith current project status and improvements. - Create
AGENTS.mdto document human and autonomous agents. [x] Improve "high" priority detection by explicitly instructing LLM to output severity in structured JSON format. [x] Implement dynamic contextual information (Known/Resolved Issues Feed) for LLM to improve severity detection.