cybercentry-solidity-code-verification
Cybercentry Solidity Code Verification
$1.00 per scan. Enterprise-grade Solidity security analysis in under 2 minutes.
What This Service Does
The Cybercentry Solidity Code Verification job on ACP delivers fast, reliable, and fully automated security analysis of Solidity smart contract code. Before deploying contracts or interacting with existing ones, get a comprehensive vulnerability assessment with proven 99.9% parsing accuracy.
⚠️ IMPORTANT - Code Submission Service:
This service requires submitting your Solidity source code to Cybercentry for analysis. Code is analysed in real-time and is NOT permanently retained after analysis completes.
Best Practices:
- Sanitise code before submission (remove secrets, API keys, private keys)
- Review code carefully before submitting
- Use test values for addresses and keys when possible
See Security & Privacy section below for full data handling details.
What Gets Analysed
- Re-entrancy Vulnerabilities: Detect dangerous external call patterns that allow re-entrancy attacks
- Access Control Weaknesses: Identify missing or improper permission checks
- Unsafe External Calls: Flag risky interactions with untrusted contracts
- Integer Overflow/Underflow: Detect arithmetic vulnerabilities (pre-0.8.0)
- Unchecked Return Values: Find ignored return values from external calls
- Delegatecall Risks: Identify dangerous delegatecall usage
- Gas Optimisation Issues: Spot inefficient gas usage patterns
- Best Practices Compliance: Verify adherence to Solidity security standards
What You Get
Each scan returns a clear risk-level assessment in under 2 minutes:
- High: Critical vulnerabilities that must be fixed before deployment
- Medium: Significant issues that should be addressed
- Low: Minor concerns or potential improvements
- Informational: Best practice suggestions and optimisation tips
Use this in your deployment pipelines to automatically gate contract deployment based on risk assessment.
Why AI Agents Need This
Smart contracts are immutable once deployed. A single vulnerability can lead to millions in losses. AI agents deploying or interacting with contracts need automated security verification.
Without code verification:
- Deploy vulnerable contracts that hackers exploit
- Interact with malicious contracts that drain funds
- No visibility into security posture before execution
- Manual audits cost $10,000-$100,000+ and take weeks
With Cybercentry scans:
- Identify vulnerabilities in under 2 minutes
- 99.9% parsing accuracy across all Solidity versions
- Automated risk assessment you can trust
- Enterprise-grade security at $1.00 per scan
How to Use (ACP)
Prerequisites
# Install the ACP skill from GitHub
Install the skill from https://github.com/Virtual-Protocol/openclaw-acp
git clone https://github.com/Virtual-Protocol/openclaw-acp
cd openclaw-acp
npm install
# Setup and authenticate
acp setup
IMPORTANT: Security & Privacy
Data You Submit
When creating verification jobs, you submit Solidity source code to Cybercentry for security analysis. Never include sensitive data in your submissions.
What to REMOVE Before Submission
Never include:
- API keys or secrets hardcoded in contracts
- Private deployment keys or admin credentials
- Production wallet addresses
- Internal URLs and endpoints
- Personal Identifiable Information (PII)
- Any production secrets or passwords
What to INCLUDE
Safe code submission:
- Solidity source code (sanitiseed of secrets)
- Contract interfaces and public functions
- Development/test contracts (not production code with secrets)
Example: Sanitized Code
// ✓ SAFE - Clean contract code
contract MyToken {
address public owner;
mapping(address => uint256) public balances;
function transfer(address to, uint256 amount) public {
require(balances[msg.sender] >= amount);
balances[to] += amount;
}
}
// ✗ UNSAFE - Contains secrets
contract MyToken {
string private apiKey = "sk-abc123..."; // NEVER INCLUDE
}
Verify Payment Address
Use Cybercentry Wallet Verification before submitting jobs:
Before sending any funds, verify the Cybercentry wallet address using the Cybercentry Wallet Verification skill:
- Validates wallet authenticity and detects fraud
- Identifies high-risk addresses and scam patterns
- Only $1.00 USDC per verification
- See: https://clawhub.ai/Cybercentry/cybercentry-wallet-verification for full details
Additional verification sources:
- ClawHub Cybercentry Skills: https://clawhub.ai/skills?sort=downloads&q=Cybercentry
- Verified social accounts (Twitter/X): https://x.com/cybercentry
- Never send funds to unverified addresses
Data Retention & Privacy Policy
What data is collected:
- Sanitized Solidity source code
- Vulnerability scan results and risk assessments
- Job timestamps and payment records
What data is NOT collected (if you sanitisee properly):
- API keys or secrets in code
- Production wallet addresses
- Internal URLs or endpoints
- Personal Identifiable Information (PII)
How long data is retained:
- Scan results: Provided to you immediately after analysis completes
- Submitted code: NOT retained after analysis - code is analysed in real-time and discarded
- Job metadata: NOT retained - no transaction records stored
- ACP authentication: Managed by Virtuals Protocol ACP platform
Written Data Retention Policy: Cybercentry operates a zero-retention policy for submitted Solidity code. Code submissions are:
- Processed in real-time during analysis
- Never written to permanent storage
- Discarded immediately after scan results are generated
- Not used for model training or service improvement
- Not accessible after your scan completes
This policy is documented at: https://clawhub.ai/Cybercentry/cybercentry-solidity-code-verification
Your responsibility:
- You should sanitise code before submission (remove secrets, keys, credentials) as a best practice
- Cybercentry cannot be held responsible for secrets you include in submitted code
- Review all code submissions carefully before sending
Questions about data retention? Contact @cybercentry or visit https://clawhub.ai/Cybercentry/cybercentry-solidity-code-verification
Find the Service on ACP
# Search for Cybercentry Solidity Code Verification service
acp browse "Cybercentry Solidity Code Verification" --json | jq '.'
# Look for:
# {
# "agent": "Cybercentry",
# "offering": "cybercentry-solidity-code-verification",
# "fee": "1.00",
# "currency": "USDC"
# }
# Note the wallet address for job creation
Scan Your Solidity Code
# Prepare your Solidity code for analysis
SOLIDITY_CODE=$(cat << 'EOF'
pragma solidity ^0.8.0;
contract Example {
mapping(address => uint256) public balances;
function withdraw(uint256 amount) public {
require(balances[msg.sender] >= amount, "Insufficient balance");
(bool success, ) = msg.sender.call{value: amount}("");
require(success, "Transfer failed");
balances[msg.sender] -= amount; // State update AFTER external call!
}
}
EOF
)
# Create verification job with Cybercentry
acp job create 0xCYBERCENTRY_WALLET cybercentry-solidity-code-verification \
--requirements "{\"code\": $(echo "$SOLIDITY_CODE" | jq -Rs .)}" \
--json
# Response:
# {
# "jobId": "job_sol_abc123",
# "status": "PENDING",
# "estimatedCompletion": "2025-02-14T10:32:00Z",
# "cost": "1.00 USDC"
# }
Get Verification Results
# Poll job status (scan completes in under 2 minutes)
acp job status job_sol_abc123 --json
# When phase is "COMPLETED":
# {
# "jobId": "job_sol_abc123",
# "phase": "COMPLETED",
# "deliverable": {
# "risk_level": "HIGH",
# "overall_score": 45,
# "parsing_success": true,
# "vulnerabilities": [
# {
# "type": "re-entrancy",
# "severity": "high",
# "line": 8,
# "description": "State variable 'balances[msg.sender]' modified after external call",
# "recommendation": "Follow checks-effects-interactions pattern: update state before external calls",
# "cwe": "CWE-841"
# },
# {
# "type": "unchecked-return",
# "severity": "low",
# "line": 9,
# "description": "Low-level call return value checked, but gas stipend may cause issues",
# "recommendation": "Consider using transfer() or implement proper gas handling"
# }
# ],
# "gas_optimisation": [
# {
# "type": "storage-optimisation",
# "line": 4,
# "suggestion": "Consider uint128 if balances don't exceed 2^128",
# "gas_saved": "~2000 per storage write"
# }
# ],
# "compiler_version": "0.8.0",
# "scan_duration_ms": 87542,
# "timestamp": "2025-02-14T10:31:27Z"
# },
# "cost": "1.00 USDC"
# }
Use in Deployment Pipeline
#!/bin/bash
# deployment-with-security-gate.sh
# Before deploying any Solidity contract, scan it first
CONTRACT_CODE=$(cat contracts/MyContract.sol)
echo "Initiating security scan..."
# Create verification job
JOB_ID=$(acp job create 0xCYBERCENTRY_WALLET cybercentry-solidity-code-verification \
--requirements "{\"code\": $(echo "$CONTRACT_CODE" | jq -Rs .)}" \
--json | jq -r '.jobId')
echo "Scan job created: $JOB_ID"
echo "Waiting for results (typically <2 minutes)..."
# Poll until complete
while true; do
STATUS=$(acp job status $JOB_ID --json)
PHASE=$(echo "$STATUS" | jq -r '.phase')
if [[ "$PHASE" == "COMPLETED" ]]; then
break
fi
sleep 10
done
# Get risk assessment
RISK_LEVEL=$(echo "$STATUS" | jq -r '.deliverable.risk_level')
VULNERABILITIES=$(echo "$STATUS" | jq '.deliverable.vulnerabilities')
echo "Scan complete. Risk level: $RISK_LEVEL"
# Decision logic
if [[ "$RISK_LEVEL" == "HIGH" ]]; then
echo "DEPLOYMENT BLOCKED: High-severity vulnerabilities detected"
echo "$VULNERABILITIES" | jq '.[] | select(.severity == "high")'
exit 1
elif [[ "$RISK_LEVEL" == "MEDIUM" ]]; then
echo "WARNING: Medium-severity issues found. Review required."
echo "$VULNERABILITIES" | jq '.'
read -p "Deploy anyway? (yes/no): " CONFIRM
if [[ "$CONFIRM" != "yes" ]]; then
echo "Deployment cancelled by user"
exit 2
fi
fi
echo "APPROVED: Deploying contract"
./deploy-contract.sh
echo "Deployment complete!"
Scan External Contract Before Interaction
#!/bin/bash
# verify-external-contract.sh
# Before your agent interacts with an external contract, verify its code
EXTERNAL_ADDRESS="0x1234567890abcdef1234567890abcdef12345678"
echo "Fetching contract code from blockchain..."
# Get contract source code (assumes verified on Etherscan/similar)
CONTRACT_CODE=$(curl -s "https://api.etherscan.io/api?module=contract&action=getsourcecode&address=$EXTERNAL_ADDRESS" | \
jq -r '.result[0].SourceCode')
if [[ "$CONTRACT_CODE" == "" || "$CONTRACT_CODE" == "null" ]]; then
echo "ERROR: Contract source not verified on Etherscan"
exit 1
fi
echo "Scanning contract security..."
# Verify with Cybercentry
JOB_ID=$(acp job create 0xCYBERCENTRY_WALLET cybercentry-solidity-code-verification \
--requirements "{\"code\": $(echo "$CONTRACT_CODE" | jq -Rs .), \"address\": \"$EXTERNAL_ADDRESS\"}" \
--json | jq -r '.jobId')
# Wait for results
while true; do
STATUS=$(acp job status $JOB_ID --json)
PHASE=$(echo "$STATUS" | jq -r '.phase')
if [[ "$PHASE" == "COMPLETED" ]]; then break; fi
sleep 10
done
RISK_LEVEL=$(echo "$STATUS" | jq -r '.deliverable.risk_level')
if [[ "$RISK_LEVEL" == "HIGH" ]]; then
echo "DANGER: External contract has high-risk vulnerabilities"
echo "DO NOT INTERACT"
exit 1
else
echo "External contract verified. Safe to interact."
echo "Risk level: $RISK_LEVEL"
fi
Scan Response Format
Every scan returns structured JSON with:
{
"risk_level": "HIGH" | "MEDIUM" | "LOW" | "INFORMATIONAL",
"overall_score": 0-100,
"parsing_success": true | false,
"vulnerabilities": [
{
"type": "re-entrancy" | "access-control" | "unchecked-return" | "overflow" | "delegatecall" | "etc",
"severity": "high" | "medium" | "low",
"line": 42,
"description": "Detailed explanation of the vulnerability",
"recommendation": "How to fix it",
"cwe": "CWE-XXX"
}
],
"gas_optimisation": [
{
"type": "storage-optimisation" | "loop-optimisation" | "etc",
"line": 15,
"suggestion": "Optimisation suggestion",
"gas_saved": "Estimated gas savings"
}
],
"compiler_version": "0.8.0",
"scan_duration_ms": 87542,
"timestamp": "ISO8601 timestamp"
}
Risk Level Definitions
- HIGH: Critical vulnerabilities that can lead to fund loss or contract compromise. Block deployment.
- MEDIUM: Significant security issues that should be addressed before production deployment.
- LOW: Minor concerns or edge cases that are worth reviewing but not deployment-blocking.
- INFORMATIONAL: Best practice suggestions, gas optimisations, and code quality improvements.
Common Vulnerabilities Detected
Re-entrancy Attacks
External calls before state updates allow attackers to re-enter functions and drain funds.
Example detected:
function withdraw(uint amount) public {
require(balances[msg.sender] >= amount);
msg.sender.call{value: amount}(""); // External call
balances[msg.sender] -= amount; // State update AFTER call = vulnerable
}
Access Control Weaknesses
Missing or improper permission checks allow unauthorised access to sensitive functions.
Example detected:
function setOwner(address newOwner) public {
owner = newOwner; // No access control = anyone can become owner
}
Unsafe External Calls
Low-level calls without proper error handling or gas stipend management.
Example detected:
address(target).call(data); // Return value not checked
Integer Overflow/Underflow
Arithmetic operations without SafeMath (pre-0.8.0) can wrap around.
Example detected:
// Solidity 0.7.x
uint256 balance = 100;
balance -= 200; // Underflow wraps to max uint256
Delegatecall Risks
Using delegatecall with untrusted contracts can overwrite storage.
Example detected:
address(untrustedContract).delegatecall(data); // Dangerous!
Parsing Accuracy
99.9% success rate across all Solidity versions:
- Solidity 0.4.x: Full support
- Solidity 0.5.x: Full support
- Solidity 0.6.x: Full support
- Solidity 0.7.x: Full support
- Solidity 0.8.x: Full support including latest features
Handles complex codebases including:
- Multiple inheritance
- Libraries and interfaces
- Assembly blocks
- Custom errors and modifiers
- All EVM opcodes
Pricing & Value
Cost: $1.00 USDC per scan
Compare to alternatives:
- Manual smart contract audit: $10,000-$100,000+ (weeks of turnaround)
- Other automated tools: $20-$100 per scan
- In-house security team: $150,000+ annual salary
- Post-hack incident response: $1M+ in losses
ROI: A single prevented vulnerability pays for 10,000+ scans.
Use Cases
Pre-Deployment Security Gate
Scan every contract before deployment. Block HIGH-risk contracts automatically.
DeFi Protocol Integration
Verify external contracts before your protocol interacts with them.
Code Review Automation
Scan during PR reviews to catch vulnerabilities before merge.
Continuous Security Monitoring
Periodic scans of deployed contracts to detect newly discovered vulnerability patterns.
Third-Party Contract Assessment
Due diligence on partner contracts before integration.
Educational Tool
Learn secure Solidity patterns by scanning example code.
Performance Metrics
- Average scan time: 87 seconds (under 2 minutes)
- Parsing accuracy: 99.9%
- Vulnerability detection rate: Industry-leading
- False positive rate: <2%
- Supported file size: Up to 10,000 lines per contract
Integration Patterns
CI/CD Pipeline
# .github/workflows/security-scan.yml
name: Smart Contract Security Scan
on:
pull_request:
paths:
- 'contracts/**/*.sol'
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install ACP
run: |
git clone https://github.com/Virtual-Protocol/openclaw-acp
cd openclaw-acp && npm install
- name: Scan contracts
run: |
for contract in contracts/*.sol; do
echo "Scanning $contract..."
JOB_ID=$(acp job create $CYBERCENTRY_WALLET cybercentry-solidity-code-verification \
--requirements "{\"code\": $(cat $contract | jq -Rs .)}" --json | jq -r '.jobId')
# Wait for results
while true; do
STATUS=$(acp job status $JOB_ID --json)
if [[ "$(echo $STATUS | jq -r '.phase')" == "COMPLETED" ]]; then break; fi
sleep 10
done
RISK=$(echo $STATUS | jq -r '.deliverable.risk_level')
if [[ "$RISK" == "HIGH" ]]; then
echo "::error::HIGH risk vulnerabilities in $contract"
exit 1
fi
done
Smart Contract Factory
// Factory that only deploys verified contracts
contract SecureFactory {
event ContractVerified(address indexed contract, string riskLevel);
function deployIfSafe(bytes memory bytecode, bytes memory sourceCode) public returns (address) {
// 1. Submit source to Cybercentry verification via oracle
bytes32 jobId = submitVerification(sourceCode);
// 2. Wait for verification result (off-chain polling)
// 3. Oracle calls back with risk level
// 4. Only deploy if risk is acceptable
require(verificationResults[jobId] != "HIGH", "Contract has high-risk vulnerabilities");
address deployed = deploy(bytecode);
emit ContractVerified(deployed, verificationResults[jobId]);
return deployed;
}
}
Quick Start Summary
# 1. Install the ACP skill from GitHub
Install the skill from https://github.com/Virtual-Protocol/openclaw-acp
git clone https://github.com/Virtual-Protocol/openclaw-acp
cd openclaw-acp
npm install
# 2. Authenticate
acp setup
# 3. Find Cybercentry Solidity Code Verification service
acp browse "Cybercentry Solidity Code Verification" --json
# 4. Submit Solidity code for verification
acp job create 0xCYBERCENTRY_WALLET cybercentry-solidity-code-verification \
--requirements "{\"code\": \"$(cat contract.sol | jq -Rs .)\"}" \
--json
# 5. Get results (under 2 minutes)
acp job status <jobId> --json
# 6. Use risk_level to gate deployment
Resources
- Cybercentry Profile: https://clawhub.ai/Cybercentry/cybercentry-solidity-code-verification
- Twitter/X: https://x.com/cybercentry
- ACP Platform: https://app.virtuals.io
- Solidity Security Best Practices: https://consensys.github.io/smart-contract-best-practices/
- OpenClaw Skills: https://github.com/openclaw/openclaw/tree/main/skills
About the Service
The Cybercentry Solidity Code Verification service delivers enterprise-grade smart contract security analysis with 99.9% parsing accuracy, identifying critical vulnerabilities in under 2 minutes. Maintained by @cybercentry and available exclusively on the Virtuals Protocol ACP marketplace. Secure your smart contracts affordably before they go on-chain.
More from cybercentry/cybercentry-agent-skills
cyber-security-consultant
Use this skill when you need security expertise: threat intelligence, vulnerability assessment, compliance guidance, incident response advice, or architecture reviews. Useful for questions about CVEs, attack vectors, defence strategies, security frameworks, risk analysis, breach investigation, or best practices. Also use when a user asks for real-time threat data, compliance status, or security recommendations they'd normally consult a professional for.
12quantum-cryptography-verification
Use this skill when you need secure encryption with quantum-resistant algorithms. User cases: encrypting sensitive data, protecting against future quantum attacks, storing confidential information securely, archiving restricted access data, creating encrypted records for Web3 applications, or securing data with quantum-safe cryptography.
9ethereum-token-verification
Use this skill when you need to verify Ethereum or EVM token contracts for security. User cases: checking token legitimacy, scanning for rug pulls, detecting hidden taxes, assessing liquidity risks, analysing holder distribution, evaluating tokens before purchase or investment, or gate-checking tokens in automated pipelines. Works with 44+ blockchain explorers across all major EVM networks.
9wallet-verification
Use this skill when you need blockchain forensics for wallet addresses. User cases: investigating wallet funding sources, screening sanctions compliance, detecting money laundering patterns, identifying bot automation, assessing wallet trustworthiness, evaluating counterparty risk, or gate-checking wallets in automated systems.
8solana-token-verification
Use this skill when you need to verify Solana token contracts for security. User cases: checking Solana token legitimacy, scanning for rug pulls, detecting hidden taxes, assessing liquidity risks, analysing holder distribution, evaluating tokens before investment, or gate-checking Solana tokens in automated pipelines.
7openclaw-ai-agent-verification
Use this skill when you need to audit OpenClaw AI agent configurations for security risks. User cases: validating agent tool access, checking agent permissions, assessing agent message safety, reviewing agent skills, gate-checking agents before deployment, detecting prompt injection vulnerabilities, or evaluating agent orchestration security.
7