{"adoption": {"forks": 302, "observed_at": "2026-08-28T04:03:36.388383+00:00", "stars": 1105}, "canonical_url": "https://ross.abutalabs.com/products/isf", "card": {"archived": true, "artifact_type": "framework", "description": "ISF(Industrial Control System Exploitation Framework)，a exploitation framework based on Python", "domain": ["security", "penetration-testing", "iot"], "enriched": true, "function": ["penetration-testing", "security", "http-client", "cli"], "health_score": 10, "homepage": null, "language": "Python", "license": "BSD-2-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["dark-lbp/isf"], "name": "dark-lbp/isf", "platform": ["python", "windows", "cli"], "pushed_at": "2024-01-04T14:06:30+00:00", "repo": "dark-lbp/isf", "stars": 1105, "tags": ["ics", "scada", "plc", "modbus", "s7comm", "profinet", "exploitation-framework", "metasploit-like", "vxworks", "industrial-security", "industrial-control-systems", "linux", "macos"], "topics": ["ics", "ics-exp", "ics-poc", "scapy", "isf", "modbus", "exploits", "scada", "plc"], "urls": [], "use_cases": ["test PLC start/stop commands on Siemens S7 PLCs", "scan industrial networks for Profinet DCP or VxWorks devices", "reproduce ICS CVE exploits like VxWorks RPC DoS", "connect to Modbus TCP or S7comm devices for security research", "perform authorized penetration tests on SCADA environments", "remotely execute code on QNX qconn services"], "what_it_is": "ISF (Industrial Exploitation Framework) is a Python-based exploitation framework modeled after Metasploit, focused on industrial control systems (ICS/SCADA). It provides clients, exploit modules, and scanners for protocols and devices like Modbus TCP, S7comm, Profinet, Siemens and Schneider PLCs, VxWorks, and QNX.", "when_to_avoid": ["you need a general-purpose IT/network exploitation framework rather than ICS-specific tooling", "you require actively maintained modules for the latest ICS vulnerabilities", "you lack authorization to test industrial systems - unauthorized use is illegal"], "when_to_choose": ["you need a Metasploit-like framework specialized for ICS/SCADA protocols", "you are doing authorized security assessments of PLCs and industrial devices", "you want ready-made exploit and scanner modules for Modbus, S7comm, Profinet, VxWorks, or QNX"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/isf", "repo": "dark-lbp/isf", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.388383+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:44:33.814083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "54ac0d27e6554eb6e9dd7a6e421b73bc0786560aec068adf6c25e0134c7ac90c", "fetched_at": "2026-08-28T04:03:36.388383+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dark-lbp/isf"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.388383+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:44:33.814083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "54ac0d27e6554eb6e9dd7a6e421b73bc0786560aec068adf6c25e0134c7ac90c", "fetched_at": "2026-08-28T04:03:36.388383+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dark-lbp/isf"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:44:33.814083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "54ac0d27e6554eb6e9dd7a6e421b73bc0786560aec068adf6c25e0134c7ac90c", "fetched_at": "2026-08-28T04:03:36.388383+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dark-lbp/isf"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.388383+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.388383+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.388383+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:44:33.814083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "54ac0d27e6554eb6e9dd7a6e421b73bc0786560aec068adf6c25e0134c7ac90c", "fetched_at": "2026-08-28T04:03:36.388383+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dark-lbp/isf"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.388383+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.388383+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:44:33.814083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "54ac0d27e6554eb6e9dd7a6e421b73bc0786560aec068adf6c25e0134c7ac90c", "fetched_at": "2026-08-28T04:03:36.388383+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dark-lbp/isf"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.388383+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.388383+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.388383+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:44:33.814083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "54ac0d27e6554eb6e9dd7a6e421b73bc0786560aec068adf6c25e0134c7ac90c", "fetched_at": "2026-08-28T04:03:36.388383+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dark-lbp/isf"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.388383+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.388383+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:44:33.814083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "54ac0d27e6554eb6e9dd7a6e421b73bc0786560aec068adf6c25e0134c7ac90c", "fetched_at": "2026-08-28T04:03:36.388383+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dark-lbp/isf"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:44:33.814083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "54ac0d27e6554eb6e9dd7a6e421b73bc0786560aec068adf6c25e0134c7ac90c", "fetched_at": "2026-08-28T04:03:36.388383+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dark-lbp/isf"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:44:33.814083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "54ac0d27e6554eb6e9dd7a6e421b73bc0786560aec068adf6c25e0134c7ac90c", "fetched_at": "2026-08-28T04:03:36.388383+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dark-lbp/isf"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:44:33.814083+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "54ac0d27e6554eb6e9dd7a6e421b73bc0786560aec068adf6c25e0134c7ac90c", "fetched_at": "2026-08-28T04:03:36.388383+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dark-lbp/isf"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3319, "days_push": 972, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}