استخدم هذا إذا
Automate findings triage, query threat intelligence, and ingest findings programmatically using the official BlackShield Python SDK.
Automate findings triage, query threat intelligence, and ingest findings programmatically using the official BlackShield Python SDK. الجمهور: Security engineers, software developers, and automation teams. وقت الإعداد المعتاد: 3 minutes.
Automate findings triage, query threat intelligence, and ingest findings programmatically using the official BlackShield Python SDK.
انسخ إعداد البداية وقم بتشغيله في بيئتك، ثم عد إلى هنا للحصول على تفاصيل التوزيع الأكثر عمقًا.
Demonstration only
This configuration is designed for ease of use. To deploy scanner clients at scale, please plan your deployment architecture accordingly or contact us for enterprise best practices.
# 1. (Optional) Create and activate a Python virtual environment
python3 -m venv .venv
source .venv/bin/activate
# 2. Install the official BlackShield SDK from PyPI
# This will automatically resolve dependencies like httpx and pydantic
pip install blackshield-sdk
# 3. Verify the installation
python -c "import blackshield; print('SDK Version:', blackshield.__version__)"import os
from blackshield import BlackShield
# 1. Initialize client
# The SDK automatically uses BLACKSHIELD_API_KEY and BLACKSHIELD_API_URL env vars
# if not passed explicitly.
client = BlackShield(
api_key=os.environ.get("BLACKSHIELD_API_KEY", "sp_your_api_key"),
base_url=os.environ.get("BLACKSHIELD_API_URL", "https://api.blackshield.chaplau.com")
)
# 2. Retrieve findings
try:
page = client.findings.list(page_size=20)
print(f"Retrieved {len(page.items)} findings.")
for f in page.items:
print(f"[{f.severity.upper()}] {f.title} - Status: {f.status}")
except Exception as e:
print(f"Error querying findings: {e}")import asyncio
import os
from datetime import datetime, timezone
from blackshield import AsyncBlackShield
async def main():
# 1. Initialize asynchronous client
client = AsyncBlackShield(
api_key=os.environ.get("BLACKSHIELD_API_KEY", "sp_your_api_key"),
base_url=os.environ.get("BLACKSHIELD_API_URL", "https://api.blackshield.chaplau.com")
)
# 2. Construct mock finding payload
new_finding = {
"finding_type": "vulnerability",
"title": "Outdated Frontend Library dependency",
"description": "React-DOM package has known cross-site scripting vulnerabilities.",
"severity": "high",
"affected_resource": {
"resource_type": "repository",
"resource_id": "github:blackshield-security/frontend",
"resource_name": "frontend"
},
"source": {
"scanner": "manual-sdk-script",
"scanner_version": "1.0.0",
"scan_started_at": datetime.now(timezone.utc).isoformat()
},
"dedup_key": "github:frontend:vuln:react-dom"
}
# 3. Submit finding
try:
async with client:
job = await client.ingestion.ingest_findings(findings=[new_finding])
print(f"Ingestion job accepted: {job.job_id} (Status: {job.status})")
except Exception as e:
print(f"Failed to ingest finding: {e}")
if __name__ == "__main__":
asyncio.run(main())استخدم الخطوات الإرشادية أدناه عندما ترغب في تخصيص التوزيع أو التحقق من الملكية أو توسيع النشر بأمان.
الخطوة 1
Generate a tenant-scoped API key in Settings → API Keys to authorize your SDK client.
معايير النجاح
A tenant-scoped API key is created and ready for use.
الخطوة 2
Install the official `blackshield-sdk` package from PyPI. The SDK requires Python >= 3.10 and depends on `httpx` (>=0.27, <1) and `pydantic` (>=2.0, <3), which are automatically installed.
معايير النجاح
The blackshield-sdk package and its dependencies are installed locally in your environment.
الخطوة 3
Initialize the BlackShield client and fetch active findings or submit new ones.
معايير النجاح
The SDK client successfully retrieves active findings from the platform API.