This project provides a secure, automated way to host IP threat lists via an Azure Functions endpoint and deploy them through GitHub Actions, including automatic MD5 hash generation, IP access control, and compatibility with Cisco Secure Firewall Management Center (FMC) or other Platforms.
This setup enables organizations to feed IP threat data directly into firewall policies such as Security Intelligence (SI) or block policies.
.txt and .html threat list files securely.Threat list Example Structure
textfiles/
โโโ newiplist.html
โโโ newiplist-md5.html
โโโ newthreats.txt
โโโ newthreats-md5.html
โโโ threats.txt
โโโ threats-md5.html
Threat list File Examples
| File | Type | Purpose |
|---|---|---|
threats.txt |
TXT | Primary IP threat list |
threats-md5.html |
HTML | MD5 hash verification for threats.txt |
newthreats.txt |
TXT | Secondary threat list |
newiplist.html |
HTML | Formatted list (human readable) |
Clone Repository
git clone https://github.com/<your-org>/<your-repo>.git cd <your-repo>
Add Threat Files to textfiles/ (e.g., threats.txt, newthreats.txt, newiplist.html).
Optional: Add accessWhitelist.txt
122.35.24.27 # Security Team 192.168.10.0/24 # Office Network 203.0.113.55 # SOC
Configure GitHub Secrets:
AZUREAPPSERVICE_CLIENTID
AZUREAPPSERVICE_TENANTID
AZUREAPPSERVICE_SUBSCRIPTIONID
AZUREAPPSERVICE_RESOURCEGROUP
Push to Main โ GitHub Actions will automatically build, whitelist, hash, and deploy.
.txt and .html.accessWhitelist.txt.Example url for threat list
GET https://<your-function>.azurewebsites.net/api/getThreatList?filename=<file>
Examples:
https://<your-function>.azurewebsites.net/api/getThreatList?filename=threats.txt
https://<your-function>.azurewebsites.net/api/getThreatList?filename=threats-md5.html
Objects โ Object Management โ External Block Listshttps://<your-function>.azurewebsites.net/api/getThreatList?filename=threats.html
https://<your-function>.azurewebsites.net/api/getThreatList?filename=threats-md5.html
โ Cisco FMC will:
flowchart LR
T[threats.txt] --> H[GitHub Actions MD5 Generator]
N[newthreats.txt] --> H
L[newiplist.html] --> H
H --> M1[threats-md5.html]
H --> M2[newthreats-md5.html]
H --> M3[newiplist-md5.html]
M1 & M2 & M3 --> V[Firewall Hash Validation]
accessWhitelist.txt are automatically enforced.sequenceDiagram
participant Dev as Developer
participant GH as GitHub Actions
participant AZ as Azure Function
participant FMC as Cisco FMC / Firewall
Dev->>GH: Push textfiles update
GH->>GH: Generate MD5 + Commit
GH->>AZ: Deploy Function App
GH->>AZ: Apply IP allowlist
FMC->>AZ: Pull threat lists
FMC->>AZ: Verify MD5 hash
FMC->>FMC: Apply to SI or Block Policy
.txt format for easy integration.โ
Result:
You now have a fully automated, secure threat feed pipeline, integrating GitHub, Azure Functions, and Cisco FMC. Threat lists are version-controlled, hash-verified, access-restricted, and automatically enforced in your security policies.
Owner
Contributors
Categories
Products
Secure FirewallProgramming Languages
PythonLicense
Code Exchange Community
Get help, share code, and collaborate with other developers in the Code Exchange community.View Community